**错题**
1
若有条件表达式 (exp)?a++:b–,则以下表达式中能完全等价于表达式(exp)的是( )。
A: (exp0)
B: (exp!=0)
C: (exp1)
D: (exp!=1)
标准答案:B 您的答案:A
**解析:
选B
exp如果为真,a;如果为假,操作b
当exp为假,也就是0时 exp!=0也为假.
当exp为真,非0, exp!=0也为真.
2
下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”要求的是( )
A: x%2==0
B: !x%2!=0
C: (x/2*2-x)==0
D: !(x%2)
标准答案:B 您的答案:A
解析:A…x%2==0即.(x%2)0 ,x为偶,这x%2结果为0,00结果为真B…!x%2!=0 即 ((!x)%2)!=0 由于先运算!x,所以结果跟x是否为偶数没有关系C.由于x是整数,x/2结果也为整数,例9/2=4,偶数时x/22=x,结果为真,奇数时x/22不等于x
3
设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值是( )。
A: 0
B: 2
C: 3
D: 4
标准答案:B 您的答案:A
解析:需要没有弄清楚表达式与运算符的关系,是0或1
B
其规则是:当运算符前后两个条件表达式都满足时,其最终结果才为真。当发现第一个表达式的值为假时,计算机将不再执行后面表达式的运算。 本题中,由于前一个表达式的值为“假”,所以后面的表达式不再进行运算,因而n的值保持不变,仍为2。
4
设int a=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是( )
A: 1,5,7
B: 1,6,7
C: 1,5,6
D: 0,5,7
标准答案:C 您的答案:A
解析 :
int a=0,b=5;执行表达式++a||++b,a+b后,
a的值是1,
b的值是5,
表达式(++a||++b,a+b)的值是6。
这是因为当++a 时,a的值为1已是非0,所以逻辑或后面的式子不再计算,直接执行逗号后的a+b,其值就为6。
a+b的值是a自增和b自增后的值相加
5
C语言函数返回类型的默认定义类型是void
标准答案:N 您的答案:Y
6
C 语言中的变量名不区分大小写。 ( )
标准答案:N 您的答案&