2 4 2 邏輯表示式

2021-10-19 08:02:12 字數 2526 閱讀 2229

大綱目錄

||的優先順序比關係運算子低

c++規定,||運算子是乙個順序點。也就是說,先修改左面的值,再對右面的值進行判定

c++11的說法是,運算子左面的子表示式優於右面的子表示式

i++

<

6|| i == j

i原來的值為10,則在對ij進行比較時,i的值將為11另外,如果左面的表示式為true,那麼c++將不會判定右面的表示式!!!

#include

intmain()

#include

intmain()

elseif(

'n'== ch ||

'n'== ch)

else

return0;

}

由於程式只讀取乙個字元,因此只讀取相應的第乙個字元,對於輸入的yeeeeeeeeeeeee程式只讀取y然而,如果程式後面再讀取輸入時,將從e開始讀取&&的優先順序比關係運算子低

另外,如果左面的表示式為false,那麼c++將不會判定右面的表示式!!!

#include

intmain()

#include

#include

bool

is_int

(double);

intmain()

cout <<

"你輸入了正確的數字:"

如果給讀取int值的程式輸入乙個過大的值,很多c++實現只是將這個值截短為合適的大小,並不會通知丟失了資料。

上述中的程式避免了這樣的問題,它首先將可能的int值作為double值來讀取。

double型別的精度足以儲存典型的int值,且取值範圍更大。

另一種選擇是,使用long long來儲存輸入的值,因為其取值範圍比int大。

c++邏輯運算子||和邏輯運算子&&的優先順序都低於關係運算子

x >

5&& x <

10

被解釋成

(x >5)

&&(x <

10)

!運算子的優先順序高於所有的關係運算子和算術運算子,因此要對表示式求反,必須用括號將其括起來

!

(x >

5)

!x > 5被解釋成(!x) > 5,這個表示式總是false,因為!x的值只能為truefalse,而它們將被轉換為10邏輯&&運算子的優先順序總是高於||

age >

30&& age <

45|| weight >

300

被解釋成

(age >

30&& age <45)

|| weight >

300

也就是說乙個條件age位於31~45,另乙個條件是weight大於300識別符號andornot都是c++保留字,不能用作變數名,不是關鍵字

運算子另一種表示方式

&&and

||or

!not

邏輯表示式

1.比較表示式只能描述1個條件 2.邏輯表示式可以描述多個條件,並且使用邏輯運算子來指定多個條件之間的關係 符號含義 與 ll或 非 邏輯與表示式 邏輯與 由 連線起來的邏輯表示式,只要當兩邊的條件都成立的時候,整個邏輯表示式猜成立,只要有一邊的條件不成立,那麼整個邏輯表示式都不成立 表示式結果 1...

邏輯表示式

我們知道,在c c 中,邏輯真與邏輯假分別用1和0來表示。現在,請定義logical類來表示乙個邏輯表示式。包括 1.2個int型別的屬性a和b,1個char型別的屬性op,其中a和b只能為0或1,是邏輯表示式的2個運算元 op是 四種運算子之一,分別表示異或 同或 與 或。2.建構函式logica...

javascript 邏輯表示式

1.邏輯與 運算子首先計算左運算元的值,即首先計算 左側表示式。如果計算結果是假值,那麼整個表示式的結果一定也是假值,因此 這時簡單地返回左運算元的值,而不會對右運算元進行計算。反過來講,如果左運算元是真值,那麼整個表示式的結果則依賴於右運算元的值,如果右運算元是真值,那麼整個表示式的值一定是真值 ...