C語言筆記- 邏輯運算子
3 min readJul 20, 2019
什麼是邏輯運算子(Logical Operators)?
簡單來說就是把條件敘述的「條件」再加長。
最主要有3個邏輯運算子:
- && (And)
- || (OR)
- ! (NOT)
- &&
邏輯運算子 && (AND),回傳一個true當裡面的「兩個(以上)敘述」皆為true
if (k > 0 && k < 50 ) printf("Range between 0 ~ 50\n");
也就是說當條件K > 0「和」K < 50都符合時,才會進行下面的程式碼,若其中一個不符合,則跳過程式碼。
2. ||
邏輯運算子 ||(OR),回傳true當「其中一個或兩個」敘述為true
if (Math > 40 || English > 60 )printf("Pass the semester!!\n");
上面的程式:當數學或英文「其中一科」,達到及格標準,則這個學期可以順利通過。
3. !
邏輯運算子(NOT),回傳相反的值。
Not true回傳False, Not False 回傳 true
當k不大於0和k不小於50時,才會跑到下面的程式碼。
if (!(k > 0 && k < 50))printf("k's range is not in 0 ~ 50\n")
小範例:
小練習:
請幫我們算BMI的指數,條件是先輸入身高(公尺)、體重(公斤)(請使用float型態),BMI公式還請自行上網查詢,輸出BMI的值,到小數點第三位,再根據BMI的落點,判斷其落在哪個區間。
Underweight: less than 18.5
Normal: bewteen 18.5 and 24.9
Overweight: between 25 and 29.9
Obese: 30 or greater
輸入範例:1.70 60.0
輸出:20.761 Normal
參考程式碼: