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’
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。
發表評論
請登錄后評論...
登錄后才能評論