求助大虾!二级C语言选择题(真的很疑惑)

来源:百度知道 编辑:UC知道 时间:2024/07/04 23:41:32
在下列给出的表达式中,与while(E)中的(E)不等价的表达式是( )
A.(!E==0) B.(E>0||E<0) C.(E==0) D.(E!=0)
我的理解是:原式中E等于0时,循环结束,E不等于0时,循环进行。
而C选项的意思是E等于0时,循环进行,E不等于0时,循环结束。
但我买的卷子上答案是B,它解释为E是个逻辑表达式,而其他三个是条件表达式,而原来那个E也是条件表达式。

根据题意是判断等不等价,跟那个逻辑表达式和条件表达式没关。
这个题的意思就是在ABCD四个选项前加whie如while(!E==0)是否与while(E)
相同。
卷子上的答案也不一定是正确的,尤其是等级考试,官方根本就没有公布标准答案,我以前也考过,卷子上的答案不正确很正常。
选C

E为真 相当于 E不等于0 D.(E!=0)
相当于 E大于0或者E小于0B.(E>0||E<0)
E为真 相当于 E取反为假 A.(!E==0)

对,这是要判断E是0还是非0,是非0就循环进行。是0就循环结束,要求E是条件表达式!例如C先项,当E=0时,说明E==0这个式是真的,即是非0,非0就循环进行.当E=1时,那么E就是非0,非0就不等于0,E==0这个式子就是假,假就循环结束,

(E==0)与原式中的表达式不等价。

B答案是错误的。