一、算述表達式 優先級高 左結合
賦值表達式 優先級低 右結合
二、關系表達式(比較)
1、關系表達式(左結合):
優先級次於算述表達式
(1)<、>、<=、>=優先級高
(2)==(等於)、!=(不等於)優先級低
2、成立不成立
成立:命題為真(true)值為1
不成立:命題為假(false)值為0
三、條件表達式(三目運算符)
1、格式:
表達式1 ? 表達式 2: 表達式3
2、含義:
整個表達式的值由表達式1決定;
若表達式1成立,則整個條件表達式的值為表達式2的值;
若表達式1不成立,則整個條件表達式的值為表達式3的值。
例:
求三數表達式:
d=x>y?x:y;
e=d>z?d:z
或
d=x>y?(x>z?x:z):(y>z?y:z)
3、表達式1的成立與不成立
非0(值為1)——>成立
0——>不成立
4、優先級:只高於賦值法
結合性:
右結合
四、邏輯表達式
1、邏輯表達符
!(單目)取反 非運算 優先級高於算述運算符
&&(雙目)並且 或運算 優先級低於運算符
||(雙目)或者 與運算 運算符低於&&
&&:
兩個表達式都成立時成立 否則不成立
||:
兩個表達式其中任何一個成立就成立,只有兩個都不成立時不成立
3、短路問題:
||:
左邊成立情況下編譯器不計算右邊
&&:
左邊不成立情況下編譯器不計算右邊