首頁  >  文章  >  後端開發  >  c語言中邏輯運算子優先順序是什麼?

c語言中邏輯運算子優先順序是什麼?

烟雨青岚
烟雨青岚原創
2020-07-02 09:27:0515268瀏覽

c語言中邏輯運算子優先權由高到低依序是:! (邏輯非)、&&(邏輯與)、||(邏輯或)。邏輯表達式的值為邏輯值;邏輯值分為邏輯真值和邏輯假值,在判斷時,僅有零值被判斷為邏輯假值(false),一切非零值均可被判斷為邏輯真值(true)。

c語言中邏輯運算子優先順序是什麼?

C 語言提供了以下三種邏輯運算子。 

一元:! (邏輯非)。 二元:&&(邏輯與)、||(邏輯或)。

以上三種邏輯運算子中,邏輯非 ! 的優先順序最高,邏輯與 && 次之,邏輯或  ||  優先順序最低。

邏輯表達式的值為邏輯值,即布林型(bool),該類型為 C99 新增的,有些編譯器可能還不支援該類型。

邏輯值分為邏輯真值和邏輯假值。一般情況下,在判斷時,僅有零值被判斷為邏輯假值(false),一切非零值均可被判斷為邏輯真值(true);在儲存和表示時,通常,使用1 表示邏輯真值,0表示邏輯假值。

邏輯與 && 運算子的運算規則:只有兩個運算元皆為邏輯真時,結果才會為真。其餘情況,結果均為假。

邏輯或 || 運算子的運算規則:只有兩個運算元皆為邏輯假時,結果才會為假。其餘情況,結果均為真。

int a=3,b=5;

則有:

!a:由於 a 非零,為真,!a 為假,其值為 0。

a||b:由於 a 和 b 均非零,均為真,故邏輯或的結果為真,其值為 1。

a&&b:由於 a 與 b 皆非零,皆為真,故邏輯與的結果為真,其值為 1。

!a||b&&2:由於邏輯非! 優先級最高,先與a 結合,而&& 優先級高於||,相當於(!a)||(b&&2), 即0|| 1 為真,其值為1。

邏輯與&&、邏輯或|| 均有「短路」特性:

邏輯與&&「短路」:當邏輯與&&的左運算元為邏輯假時,就足以判斷該邏輯運算的結果為假了,故右操作數就不再執行。

邏輯或||「短路」:當邏輯或||的左操作數為邏輯真時,就足以判斷該邏輯運算的結果為真了,故右操作數就不再被執行。

推薦教學:《C語言

以上是c語言中邏輯運算子優先順序是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn