C语言 if 控制表达式

2025-06-28 16:05:09
推荐回答(4个)
回答1:

第一个K%2得到的值要么是1(真)要么是0(假)
第二个K%2==1,当K%2的值是1时表达式是,当K%2的值是0时表达式是假(和一式相同)
第三个(k%2)!=0,当K%2的值是1时表达式是真,当K%2的值是0时表达式是假(和一式相同)
第四个!k%2==1,因为非的优先级最高,所以先算非再求模最后求等于。因此当K取0时,!k的值为1,所以表达式的值为真;当k取非0时,!k的值为0,所以表达式的值为假。

回答2:

D。因为!的优先级比%和==都高, 所以 !k%2==1 等价于 (!k)%2==1,显然不对了。 如果为 !(k%2)==1 那就和别的一样了。

A: 正确。因为C中没有真正的逻辑类型,0为假,“非0”即为真。

回答3:

D
if语句里面的值是布尔值,也就是说0和1
k取奇数时
A k%2值为1
B k%2==1为真,值为1
C (k%2)!=0为真,值为1
k取偶数时,是一样的

回答4:

是A啊 因为其它几个选项都是判断命题的真假 而A直接用结果作为判断的依据