Try   HackMD

C語言教學08 - 邏輯運算

撰寫於2018年9月

現代C語言小心得

邏輯運算

邏輯運算很簡單,有三個運算

邏輯NOT運算 Logical Negation operator

這個運算子很簡單,就是(!)驚嘆號。這代表著邏輯反運算,!1=0、!0=1。例如:

#include <stdio.h> int main() { printf("%d, %d, %d\n", !(53==8), !0, !1); return 0; }

結果

1, 1, 0

邏輯AND運算 Logical AND operator

邏輯與運算子(&&)很簡單,就是兩個都是True,運算後才是True。假如左邊的運算元(operand)是False,直接返回False。

真值表如下:

左邊 右邊 左邊 && 右邊
0 0 0
0 1 0
1 0 0
1 1 1

不要寫成一個&,這有其他意義

#include <stdio.h> int main() { printf("%d, %d, %d\n", 1 && 0, (3==8) && (4==4), 1 && 1); return 0; }

結果

0, 0, 1

邏輯OR運算 Logical OR operator

邏輯或運算子(||兩個長條),代表只要其中一個是True,就回傳True。所以,只要左邊運算元是True,就不會檢查右邊了。
真值表如下:

左邊 右邊 左邊 || 右邊
0 0 0
0 1 1
1 0 1
1 1 1

不要寫成一個|,這有其他意義

#include <stdio.h> int main() { printf("%d, %d, %d\n", 1 || 0, (3==8) || (3==4), 1 || 1); return 0; }

結果

1, 0, 1