首页 > 全部 > 二级C语言 > 国家二级C语言机试(选择题)模拟试卷564

国家二级C语言机试(选择题)模拟试卷564

本单篇文档共9871字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 1011人下载
价格: 1.60 原价:¥7.00
收藏

国家二级C语言机试(选择题)模拟试卷564

公共基础选择题

1.表达式“(int)((double)9/2)-9%2”的值是( )。(B)

A. 0

B. 3

C. 4

D. 5

解析:先将int型数据9强制转换成double型,然后除以2,得到的结果与double型保持一致,即4.5;然后将4.5强制转换成int型数据4,再计算9%2的值为1;最后计算4-1的值为3。故本题答案为B选项。

2.若有定义“int x,y;”,并已正确给变量赋值,则以下选项中与表达式“(x-y)?(x++):(y++)”中的条件表达式“(x-y)”等价的是( )。(A)

A. (x-y<0||x-y>0)

B. (x-y<<0)

C. (x-y>0)

D. (x-y==0)

解析:条件表达式“x=表达式1?表达式2:表达式3”的含义是:先求解表达式1,若其值不为0(真),则求解表达式2,将表达式2的值赋给x;若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x。本题中与条件表达式“(x-y)”等价的是“(x-y<0||x-y>0)”。故本题答案为A选项。

3.若变量已正确定义,在“if(W)printf("%d\n",k);”中,以下不可替代W的是( )。(A)

A. a<>b+c

B. ch=getchar( )

C. a==b+c

D. a++

解析:选项A是非法的表达式,C语言中没有“<>”运算符。故本题答案为A选项。

4.若有定义“int x=10;”,则表达式“x-=x+x”的值为( )。(C)

A. 0

B. -20

C. -10

D. 10

解析:算术运算符“+”的优先级高于“-=”,且“-=”的结合方向为自右向左。所以表达式“x-=x+x”可以表示成“x=x-(x+x)=10-(10+10)=-10”。故本题答案为C选项。

5.设有定义“int x=2;”,以下表达式中,值不为6的是( )。(A)

A. 2*x,x+=2

B. x++,2*x

C. x*=(1+x)

D. x*=x+1

解析:A选项中先计算逗号表达式的第1个表达式“2*x”,然后计算第2个表达式“x+=2”,即“x=x+2=4”,整个逗号表达式为第2个表达式的值4。所以A选项正确。B选项中首先计算逗号表达式的第1个表达式“x++”,此时x为3;再计算第2个表达式“2*x=2*3=6”,所以逗号表达式为第2个表达式的值6。C选项中的表达式可以表示为“x=x*(1+x)=2*(1+2)=6”。D选项中的表达式可以表示为“x=x*(x+1)=2*3=6”。故本题答案为A选项。

6.若有定义“int x=12,y=8,z;”,在其后执行语句“z=0.9+x/y;”,则z的值为( )。(A)

A. 1

B. 1.9

C. 2

D. 2.4

解析:在表达式“z=0.9+x/y”中,先计算“x/y”,结果为1;再计算“0.9+1”,结果为1.9。因为变量z为整型,所以z的值为1。故本题答案为A选项。

7.表达式“3.6-5/2+1.2+5%2”的值是( )。(D)

A. 4.3

B. 4.8

C. 3.3

D. 3.8

解析:先计算“5/2”,结果取整数值2;然后计算“3.6-2”,结果与高精度数据保持一致,即1.6;再计算“1.6+1.2”,结果为2.8;接着计算“5%2”,结果为1;最后计算“2.8+1”,结果为3.8。故本题答案为D选项。

8.若有定义“int a;long b;double x,y;”,则以下选项中正确的表达式是( )。(B)

A. a=x<>y

B. a%(int)(x-y)

C. (a*y)%b

D. y=x+y=x

解析:C语言中没有“<>”运算符,所以A选项错误。运算符“%”的左右两个操作数必须为整型数据,所以B选项正确。表达式“a*y”的结果为double型,所以C选项错误。不能将值赋给像“x+y”这样的表达式,所以D选项错误。故本题答案为B选项。

9.设变量已正确定义并赋值,下列表达式中正确的是( )。(A)

A. x=y+z+5,++y

B. int(15.8%5)

C. x=y*5=x+z

D. x=25%5.0

解析:运算符“%”的左右两个操作数均应为整数,所以B选项与D选项错误。C选项中不能将“x+z”的值赋给表达式“y*5”,所以C选项错误。故本题答案为A选项。

10.设有定义“int k=0;”,以下选项的4个表达式中与其他3个表达式的值不相同的是( )。(C)

A. ++k

B. k+=1

C. k++

D. k+1

解析:表达式“++k”是先使得k的值自增1后再使用。表达式“k++”是先取得k的值再将k的值自增1。所以C选项中表达式的值为0,而其他3个选项中表达式的值均为1。故本题答案为C选项。

11.若有定义“double a=22;int i=0,k=18;”,则不符合C语言规定的赋值语句是( )。(B)

A. i=(a+k)<=(i+k);

B. i=a%11;

C. a=a++,i++;

D. i=!a;

解析:运算符“%”为二元运算符,具有左结合性,参与运算的量均为整型。B选项中的变量a是double型,不符合规定。故本题答案为B选项。

12.若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )。(B)

A. x+1=y

B. ++x,y=x--

C. x=x+10=x+y

D. double(x)/10

解析:不能将变量赋给表达式,故A、C选项错误。D选项中强制类型转换表达式应写成“(double)x/10”。故本题答案为B选项。

13.若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。(A)

A. x=y==5;

B. x=n%2.5;

C. x+n=i;

D. x=5=4+1;

解析:B选项中运算符“%”的运算对象为整数。C选项中不能将变量赋给表达式“x+n”。D选项中不能将表达式“4+1”赋给常量5。故本题答案为A选项。

14.表达式“a+=a-=a=9”的值是( )。(C)

A. 18

B. -9

C. 0

D. 9

解析:首先计算表达式“a=9”;再计算表达式“a-=9”,即“a=a-9”,结果为0;最后计算表达式“a+=0”,即“a=a+0”,所以最终结果为0。故本题答案为C选项。

15.若变量已正确定义,则语句“s=32;s^=32;printf("%d",s);”的输出结果是( )。(B)

A. -1

B. 0

C. 1

D. 32

解析:本题考查逻辑异或运算。异或运算只有在两个比较的位不同时其结果为1,否则结果为0。题目中两个值相同,所以结果为0。故本题答案为B选项。本文档预览:3600字符,共9871字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(选择题)模拟试卷564

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号