由于||优先级低于&&,所以,第一式等价于:
1||(0&&1&&0)
由于||和&&的短路求值特性,所以后面的(0&&1&&0)将不进行计算,因为通过计算前面的1已经可以确定整个式子为真,无需再计算后的表达式,关于短路求值,可以到http://baike.baidu.com/view/1083418.htm?fr=ala0_1
因为!的优先级大于+,且+优先级大于>,所以,第二式相当于:
((!1)+2)>1
也就是(0+2)>1,所以这个表达式的结果为真
如果不考虑第三式中的语法错误,那么结果为0(也就是假),原因请参考上面给出的页面内容(短路求值)。
或和且是同一级的计算 1||0&&1&&0从左到右 1||0=1 1&&1=1 1&&0=0 结果为0
非优先于加 加优先于> !1=0 0+2=2 2>1是真的 故原式=1
!0=1 括号是最优先计算的 0&&!2+5||&&!(2+!0)=0&&0*5||&&------这里是不是少了个数?