2018年9月计算机二级C语言考试章节习题及答案(7)
第2章 C程序设计的初步知识
2.4 实型数据
1 [单选题] 以下定义语句中正确的是
A.int a =b =0;
B.char A = 65 + 1,b='b';
C.float a = 1,*b=&a,*c=&b;
D.double a = 0.0;b=1.1;
参考答案:B
参考解析:
A选项中定义时赋值不能用连等。C选项中变量C和&b的类型不匹配。D选项中变量b前是分号,所以变量b没有类型,即未定义。B为变量定义时赋值的正确表达形式
2 [单选题] 以下选项中正确的定义语句是 ( )
A.doublea;b;
B.doublea=b=7;
C.doublea=7,b=7;
D.double,a,b;
参考答案:C
参考解析:
C语言中语句定义的一般格式为:类型说明符变量1,变量2,…,变量n;变量在定义时初始化赋值语句的定义格式为j类型说明符变量1=表达式,变量2一表达式,…,变量n一表达式;
3 [单选题] 已知char a;int b;float C;double d;则表达式a-b+c-d结果为( )型。
A.double
B.float
C.int
D.char
参考答案:A
参考解析:
C语言中允许进行不同数据类型的混合运算,但在实际运算时,要先将不同类型的数据转化成同一类型再进行运算。类型转换的一般规则是:①运算中将所有char型转换成int型,float型转换成double型;②低级类型服从高级类型,并进行相应的转换,数据类型由低到高的顺序为:char->int->unsigned->long.>float->double;③赋值运算中最终结果的类型,以赋值运算符左边变量的类型为准,即赋值运算符右端值的类型向左边变量的类型看齐,并进行相应转换。
4 [单选题] 有以下程序段
int j; float y; char name[50];
scanf("-%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入55566 7777abc后,y的值为( )
A.55566
B.566
C.7777
D.566777
参考答案:B
参考解析:
因为在输入格式控制符中指定变量j的输入格式控制符为“%2d”,即变量j所占的宽度为2,所以变量i 只接收输入数据的前两位,从第3位开始直到空格之间的输入整数都会被保存到变量Y中,因为Y为浮点型数据,所以输出结果为选 项B)。
5 [单选题] 设有定义 int a; float b; 执行 scanf("-%f",&a,&b);语句时,若从键盘输入876<空格> 854.0<回车>,a 和 b 的值分别是( )。
A.876和543.000000
B.87和6.000000
C.87和543.000000
D.76和543.000000
参考答案:B
参考解析:
seanf()函数用空格区分不同字符串的输入,因此876和543.0被看作两段输入。-只选取了第一个输人中的前两位,%f选取随后的数字作为浮点数,因此输出结果为87和6.000000。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>