首页 > 全部 > 二级C语言 > 国家二级C语言(运算符与表达式、基本语句)机试模拟试卷3

国家二级C语言(运算符与表达式、基本语句)机试模拟试卷3

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

国家二级C语言(运算符与表达式、基本语句)机试模拟试卷3

选择题

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

A. 0

B. 3

C. 4

D. 5

解析:先将整型数据9强制转换成double型,然后除以2,得到的结果与double型保持一致,即为4.5,然后将4.5强制转换成整型数据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)。

3.若变量已正确定义,在if(W)pfintf(\\(A)

A. a<>b+c

B. ch=getchar( )

C. a==b+c

D. a++

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

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选项中逗号表达式先计算第一表达式2*x,然后计算表达式x+=2的值,即x=x+2即4,整个逗号表达式为第二个表达式的值4,所以选择A选项。B选项中首先计算逗号表达式中第一表达式x++,此时x为3,再执行第二个表达式2*x=2*3=6,所以逗号表达式为第二个表达式的值6。C选项的赋值表达式可以表示为x=x*(1+x)=2*(1+2)=6。D选项中的表达式可以表示为x=x*(x+1)=2*3=6。

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

A. 1

B. 1.9

C. 2

D. 2.4

解析:先计算x/y,结果为1,然后计算0.9+1,结果为1.9,但由于变量z为整型,取值1,所以z的值为1。

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选项错误。

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+y的值赋给表达式y*5,所以C选项错误。

10.以下不能将s所指字符串正确复制到t所指存储空间的是( )。

A

解析:“do{*t++=*s++;}while(*s);”不能因为当*s=’\0’时,while(*s)跳出循环,这样字符串结束标志’\0’没有复制给*t,造成*t不完整。注意,*t++=*s++是先执行*t=*s,然后才进行*t=t+1,s=s+1。B、c、D选项都能将’\0’复制过去。

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

A. ++k

B. k+=1

C. k++

D. k+1

解析:++k,先使得k的值自增1后再使用,k++是先取得k的值再将k的值自增1,所以C选项中表达式的值为O,而其他3个表达式的值均为1,所以选择C选项。

12.若有定义语句:int year=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是( )。(B)

A. (*p)++;

B. *p++;

C. ++(*p);

D. *p+=1;

解析:由于自加运算符++的运算级别高于间接运算*的运算级别,所以B选项的表达式*p++不能使变量year中的值增至2010,因此选择B选项。

13.若有定义: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实型,不符合规定。

14.若变量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选项中强制类型转换表达式应写成(doub1e)x/10。

15.若变量均已正确定义并赋值,以下合法的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。

16.表达式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。

17.设有以下语句:

int a=1,b=2,c;

c=a^(b<<2);

执行后,c的值为( )。(B)

A. 7

B. 9

C. 8

本文档预览:3600字符,共6828字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言(运算符与表达式、基本语句)机试模拟试卷3

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号