1. 程式人生 > >關係表示式、條件表示式、邏輯表示式

關係表示式、條件表示式、邏輯表示式

一、算述表示式 優先順序高 左結合

賦值表示式 優先順序低 右結合

二、關係表示式(比較)

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、短路問題:

||:

左邊成立情況下編譯器不計算右邊

&&:

左邊不成立情況下編譯器不計算右邊