if和while語句使用關係表達式作為測試條件,有時需要要把多個表達式連接在一起使用。例如編寫一個程序,判斷字符串中是否包含『a』或『b』字符,這時可以用邏輯運算符判斷。
一、邏輯運算符與規則
1.邏輯運算符
C語言中常見的邏輯運算符如下:
| 邏輯運算符 | 含義 |
| && | 與 |
| || | 或 |
| ! | 非 |
2.規則
規則如下,表達式1和表達式2是兩個簡單的表達式,則:
(1)當且僅當表達式1和表達式2同時為真時,表達式1 && 表達式2才為真。
| 布爾值 | 布爾值 | 與關係 |
| 真 | 真 | 真 |
| 真 | 假 | 假 |
| 假 | 真 | 假 |
| 假 | 假 | 假 |
(2)如果表達式1或表達式2為真,則表達式1 || 表達式2為真。
| 布爾值 | 布爾值 | 或關係 |
| 真 | 真 | 真 |
| 真 | 假 | 真 |
| 假 | 真 | 真 |
| 假 | 假 | 假 |
(3)如果表達式1為假,則!表達式1就為真。
| 布爾值 | 非關係 |
| 真 | 假 |
| 假 | 真 |
3.示例
10 > 8 && 20 > 10,兩個表達式都為真,與關係為真。
10 > 8 || 2 > 10,只有一個表達式為真,或關係為真。
!(10 > 5),10 > 5為真,但!真為假。
4.iso646.h頭文件
在C99標準中新增了可以替代邏輯運算符的拼寫。
| 原有 | iso646.h |
| && | and |
| || | or |
| ! | not |
二、優先級與範圍
1.優先級
!的優先級最高,其次是&&優先級次之,||最低。
2.範圍
舉例來說,表示分數值的範圍0到100,可以採用:
score >= 0 && score <= 100
不能使用數學寫法:
0 <= score <= 100
還可以採用範圍測試一個字母是否是小寫或大寫字母,如下:
ch >= 『a』 && ch <= 『z』
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/274948.html
微信掃一掃
支付寶掃一掃