A、a&&b>c 前面a为真,b>c也不为真,所以a&&b>c为真,这个不用解析了吧? 答案A是错的
B、首先!a=0,这个知道吧?(b!=c)这个表达式为真吧?所以为1,从而有0!=1 这个表达式也为真正啊。所以说这个表达式的值为1,还有疑问吗? ,所以答案B是正确的
C、a||(b=c),是个条件语句,中间是“||”,由于前面表达式a为真,所以不会去执行后面的表达式。
D、a>b!=c的执行顺序是,(a>b)!=c,根据运算符的优先级,先算括号里面的,所以与a>(b!=c)的顺序是不一样的
每个答案都给你解析了,望采纳!
b=c 这句话是错误的,这句话的意思是将b的值赋给a,b==c才是判断b和c是否相等
这存在||和|,以及&&和&在效率上的区别。
||和&&在一旦左表达式能确定整个表达式的值时,就不会执行右表达式,而|和&无论左表达式值如何,都会执行右表达式。
所以,C、a = 2 为真,所以整个表达式的值必定为真,所以右表达式则被跳过,所以b的值并没改变,还是为3.
||是逻辑表达式的“或”
而右边,b=c,其中的“=”是赋值符号,而不是逻辑判断符号,如果需要判断b是否等于c的话,请使用“==”符号。
扩展知识:
C语言处理逻辑的有以下几种符号:
与:&&
或:||
非:!
恒等:==
大于:>
小于:<
不等于:!=
大于等于:>=
小于等于: <=
这个是||的条件,当||的左边为真值的时候右边的表达式不执行,所以b还是等于3
因此答案是B,别的都不正确。