C语言中提供了三种逻辑运算符:
&&(与运算) ||(或运算) !(非运算)
逻辑表达式的一般形式为:
表达式 逻辑运算符 表达式
其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:
(a&&b)&&c 根据逻辑运算符的左结合性
逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”来表示。
1) 与运算(&&) ----> 口诀:同真为真,一假则假
2) 或运算(||) ----> 口诀:一真为真,同假为假
3) 非运算(!) ----> 口诀:真变假,假变真
与运算符(&&)和或运算符(||)均为双目运算符。具有左结合性。 非运算符(!)为单目运算符,具有右结合性。
注意:
1)虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0 ”代表“假”。
但反过来在判断一个量是为“真”还是为“假”时, 以“0”代表“假”,以非“0”的数值作为“真”。
与短路:&& 只要第一个条件表达为假那么后面的条件表达就不参与运算了
或短路:|| 只要第一个条件表达式为真那么后面的条件表达式就不参与运算了
()
-负号 右结合
! 右结合
自增自减 左结合
算术运算符 左结合
关系运算符 左结合 (== !=略低一级)
逻辑 && || 左结合 注意:(非运算符(!)为单目运算符,具有右结合性。)
三目运算符 右结合
赋值运算符 右结合
逗号运算符 左结合
int a = 4;
!a>3
|
|