【2】二级C语言试题-2019.6

发布于 2019-05-08 15:35  编辑:simi
0
计算机等级考试题库 扫码微信刷题


二级C语言试题.jpg


计算机等级考试过不过?根源不在于题目难不难,而是在于你刷计算机等级考试题库努不努力!赶紧努力复习以下的二级C语言试题


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=7b=7;

D.doubleab;

参考答案: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&yname);

当执行上述程序段,从键盘上输入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.876543.000000

B.876.000000

C.87543.000000

D.76543.000000

参考答案:B

参考解析:

seanf()函数用空格区分不同字符串的输入,因此876543.0被看作两段输入。-只选取了第一个输人中的前两位,%f选取随后的数字作为浮点数,因此输出结果为876.000000

 

6.下列程序的输出结果是(  )

main()

{

double d = 3.2;int x,y;

x=1.2;y=(x+3.8)/5.0;

printf("%d\n",d*y);

}

A.3

B.3.2

C.0

D.3.07

参考答案:C

参考解析:本题考查复合的赋值表达式。本题中,程序先执行语句x=1.2;,根据赋值运算的类型转换规则,先将double型的常量l.2转换为int型,即取整为1,然后将l赋值给变量x。接下来执行语句y=(x+3.8)/5.0;根据运算符的优先级,先计算小括号内,再计算除法,最后执行赋值运算。小括号内的运算过程:先将整型变量x的值l转换为double1.0,然后与3.8进行加法运算,得到中间结果4.8。接着进行除法运算4.8/5.0,其结果小于l.0,这里没有必要计算出精确值,因为接着进行赋值运算,赋值号左边变量Y的类型为整型,于是对这个小于1.0的中间结果进行取整,结果为0,于是变量y的值为0d * y的值也为0

 

7.以下叙述中错误的是(  )

A.C语言的可执行程序是由一系列机器指令构成的

B.C语言编写的源程序不能直接在计算机上运行

C.通过编译得到的二进制目标程序需要连接才可以运行

D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件

参考答案:D

参考解析:c语言的可执行程序是由一系列机器指令组成的。用C语言编写的源程序必须经过编译生成二进制目标代码,再经过连接才能运行,并且可以脱离c语言集成开发环境。故答案为D)

 

8.以下4个选项中,不能看作一条语句的是(  )

A.;

B.a=5,b=2.5,c=3.6;

C.if(b!=5)x=2;y=6;

D.return j;

参考答案:C

参考解析:c语言规定每个语句以;(分号)结束,因此选项c)为两条语句。

 

9.下面程序段的输出为(  )

#include "stdio.h"

main()

{

printf("%d\n",12<<2);

}

A.0

B.47

C.48

D.24

参考答案:C

参考解析:本题考查位运算的运算原理。<<为左移运算符,运算符的左边是移位对象;右边是整型表达式,代表左移的位数,左移时,右端(低位)0;左端(高位)移出的部分舍弃。

 

10.以下叙述中正确的是( )

A.C程序中注释部分只能放在程序最后

B.花括号“{“和”}”可以作为函数体的定界符,也可以作为复合语句的定界符

C.构成C程序的基本单位是函数,所有函数名都可以由用户命名

D.分号不是语句的一部分,是C语句之间的分隔符

参考答案:B 参考解析:花括号可以作为函数体的定界符,也可以作为复合语句的定界符。函数是c程序的基本单位,用户可以命名自定义函数,而库函数名是固定的。c语句以分号结尾,分号是语句的一部分。

 

11.若有说明,double*mn;则能通过sCanf语句正确给输入项读人数据的程序段是( )

A.*m = &n;scanf("%lf",m);

B.m = (double * ) malloc(10);scanf("%f",m);

C.m = &n;scanf("%lf",n);

D.m = &n;scanf("%le",m);

参考答案:D

参考解析:解析:选项A*m = &n 错误。选项B,输入 double型,要用%lf %le,否则数据不能正常输入。

选项Cn是变量,不是指针,scanf("%if",n)错误。



考无忧小编有话说:

每年缺考率超过10%,说明有部分同学还是会在备考中放弃自己,因为没时间,因为太难了,甚至因为害怕了,这些都是失败的理由!人,不逼自己一把,你永远不知道自己是多么优秀!短时间,也可以爆发大能量!赶紧复习以上的二级C语言试题,刷完计算机等级考试题库




文章推荐:

全国计算机等级考试可以不考一级直接考二级吗?

2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”

全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)


温馨提示:

考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office

想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库

想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯


本文网址:http://www.k51.com.cn/info/jsjdjks/1905/0851843.html
选择分享到: