- C程序設計語言
- 魏東平 朱連章 于廣斌編著
- 431字
- 2018-12-29 14:37:46
4.2.1 邏輯運算符
邏輯運算符用于對操作數進行邏輯操作,參與邏輯運算的值是邏輯值。C語言共有如下3個邏輯運算符。
① && :邏輯“與”。
② || :邏輯“或”。
③! :邏輯“非”。
其中,“&&”和“||”是雙目運算符,要求有兩個運算量(操作數);“!”是單目運算符,只要求有一個運算量,向右結合。
邏輯運算符的功能如下。
① a&&b :只有當a、b都為真時,其結果才為真;否則,為假。
② a||b :只有當a、b都為假時,其結果才為假;否則,為真。
③ !a :a為真(非0),則!a為假;a為假,則!a為真。
邏輯運算的“真值表”如表4.1所示。
表4.1 邏輯運算真值表

在邏輯運算符中,邏輯非“!”的優先級最高,邏輯與“&&”次之,邏輯或“||”最低。而且,邏輯非“!”的優先級高于算術運算符,邏輯與“&&”、邏輯或“||”低于關系運算符但高于賦值運算符。邏輯運算符的優先級如表4.2所示。
表4.2 運算符的優先級

在邏輯運算符中,“!”(非)具有右結合性,“&&”(與)和“||”(或)具有左結合性。例如:
① a>b&&a-b等價于 (a>b)&&(a-b)
② c=0||a!=b等價于c=(0||(a!=b))
③ !a&&a-b等價于 (!a)&&(a-b)
④ !a&&a-b&&a>b等價于 ((!a)&&(a-b))&&(a>b)