AI智能整理导入 AI智能整理导入
×
首页 题库中心 中国电信研发工程师 题目详情
CAD7E67F3FA000016066F370F39A18C8
中国电信研发工程师
816
多选题

下列语句中正确的项是

A
A.A:int $ e,a,b=10;
B
B.B:char c,d=’a’;
C
C.C:float e=0.0d;
D
D.D:double c=0.0f;

答案解析

正确答案:ABD

解析:

这道题考察的是C语言中变量声明和初始化的基本规则。我们来逐一解析每个选项:

A. int $ e, a, b = 10;

这个选项中的$符号在C语言中是非法的,不能作为变量名的一部分。但是,如果忽略这个非法字符,我们可以看到这里尝试声明了三个整型变量e, a, 和b,其中b被初始化为10。由于题目给出的答案包含了A选项,我们可以推测这里的意图可能是忽略了非法字符$,只考虑变量声明本身。

B. char c, d='a';

这个选项是正确的。它声明了两个字符变量c和d,并且将d初始化为字符'a'。这是符合C语言语法规则的。

C. float e=0.0d;

这个选项是不正确的。0.0d表示的是一个double类型的字面量(d后缀代表double)。而e是一个float类型的变量,应该使用f或F后缀来指定浮点字面量为float类型,例如0.0f。因此,直接赋值0.0d给float变量会导致类型不匹配的问题。

D. double c=0.0f;

这个选项是正确的。尽管0.0f是一个float类型的字面量(f后缀代表float),但它可以隐式转换成double类型并赋值给double变量c。这种从float到double的转换是安全的,因为double可以存储任何float能表示的值,并且精度更高。

综上所述,答案ABD是基于对A选项中非法字符的忽视以及B、D选项正确性的判断。但实际上,按照严格的C语言标准,A选项因包含非法字符而不应被视为正确。因此,更准确的答案应该是BD。

相关知识点:

语句正误:int、char、float、double

中国电信研发工程师

扫码进入小程序
随时随地练习

关闭
专为自学备考人员打造
试题通
自助导入本地题库
试题通
多种刷题考试模式
试题通
本地离线答题搜题
试题通
扫码考试方便快捷
试题通
海量试题每日更新
试题通
欢迎登录试题通
可以使用以下方式扫码登陆
试题通
使用APP登录
试题通
使用微信登录
xiaochengxu
联系电话:
400-660-3606
xiaochengxu