国家二级C语言(运算符与表达式、基本语句)机试模拟试卷2 (题后含答案及解析)
题型有:1. 选择题
选择题
1. 表达式(int)((double)9/2)-9%2的值是(    )。
A.0
B.3
C.4
D.5
正确答案:B
解析:先将整型数据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.(x-y<0||x-y>0)
B.(x-y<0)
C.(x-y>0)
D.(x-y==0)
正确答案:A
解析:条件表达式“x=表达式17表达式2:表达式3”的含义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x;若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x。本题中与条件表达式:(x-y)等价的是(x-y<0||x-y>0)。 知识模块:运算符与表达式
3. 若变量已正确定义,在if(W)printf(%d\n,k);中,以下不可替代W的是(    )。
A.a<>b+c
B.ch=getchar(  )
C.a==b+c
D.a++
正确答案:A
解析:选项A是非法的表达式,C语言中没有“<>”运算符。 知识模块:运算符与表达式
4. 若有定义语句:int x=10;,则表达式x-=x+x的值为(    )。
A.0
B.-20
C.-10
D.10
正确答案:C
解析:算术运算符+的优先级高于-=,且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成x=x-(x+x)=10-(10+10)=-10,选择C选项。 知识模块:运算符与表达式
5. 设有定义:int x=2;,以下表达式中,值不为6的是(    )。
逗号表达式的运算顺序

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。