if文などの条件式で条件と条件を繋げたり、条件を否定する条件にしたりする時、論理演算子を使う・・・。
A || B
は「AまたはB」というような意味・・・。
どちらかが満たされていればいい・・・。
aが10より大きい、またはbが20より大きい場合は、"(a > 10 || b > 20) is TRUE."と出力・・・。
そうでなければ、"(a > 10 || b > 20) is FALSE."と出力する・・・。
$ ./logical_operator a: 5 b: 10 (a > 10 || b > 20) is FALSE. $ ./logical_operator a: 15 b: 10 (a > 10 || b > 20) is TRUE. $ ./logical_operator a: 5 b: 25 (a > 10 || b > 20) is TRUE. $ ./logical_operator a: 15 b: 25 (a > 10 || b > 20) is TRUE. $
一番上以外は、どちらかを満たしているので、TRUEとなる・・・。
A && B
は「AかつB」というような意味・・・。
どちらも満たされていなければならない・・・。
cが10より大きい、かつdが20より大きい場合は、"(c > 10 && d > 20) is TRUE."と出力・・・。
そうでなければ、"(c > 10 && d > 20) is FALSE."と出力する・・・。
c: 5 d: 10 (c > 10 && d > 20) is FALSE.
.
.
.
c: 15 d: 10 (c > 10 && d > 20) is FALSE.
.
.
.
c: 5 d: 25 (c > 10 && d > 20) is FALSE.
.
.
.
c: 15 d: 25 (c > 10 && d > 20) is TRUE.
一番下のみ満たしているのでTRUE・・・。
否定(NOT)の演算子("!")を使って、
!A
は「Aではない」というような意味・・・。
Aが満たさなければいい・・・。
eが10より大きくない(つまりeが10以下)なら、"(!(e > 10)) is TRUE."と出力・・・。
そうでないなら、"(!(e > 10)) is FALSE."と出力・・・。
e: 15 (!(e > 10)) is FALSE.
.
.
.
e: 5 (!(e > 10)) is TRUE.
.
.
.
e: 10 (!(e > 10)) is TRUE.
一番上はFALSE、それ以外はTRUE・・・。
Sample/logical_operator.c at master · bg1bgst333/Sample · GitHub