論理演算子 パート1
CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 21/63。
論理演算子は、1 (true) または 0 (false) を返す比較の組み合わせをチェックするために使用されます。
例えば、次の文には2つの比較が含まれています:
5は3より大きく、かつ6より小さいですか?
| 演算子 | 意味 | 例 |
|---|---|---|
&& | 論理積 (And) - すべてのオペランドが 1 の場合に 1 | a && b |
|| | 論理和 (Or) - いずれかのオペランドが 1 の場合に 1 | a || b |
! | 否定 (Not) - オペランドが 0 の場合に 1 | !a |
いくつかの例を見てみましょう:
5 は 3 より大きく、1 は 1 に等しい:
int b1 = (5 > 3) && (1 == 1); // 1 (true) を保持します解説: すべてのオペランドが 1 なので、b1 は 1 を保持します (両方のオペランドが 1 の場合、and 演算は 1 になります)。
5は4と等しくない、または5は2と等しい:
int b2 = !(5 == 4) || (5 == 2); // 1(真)を保持する解説: 最初のオペランド (5 != 4) は 1 なので、b2 も 1 になります(いずれかのオペランドが 1 であれば、or 演算の結果は 1 になります)
チャレンジ
簡単コードが与えられています。変数 int b1 と int b2 のクエスチョンマークを置き換えて、int b3 が 1 (true) を保持するようにしてください。
条件を分析し、どのような値がそれを真にするか考えてみましょう。
正解はたくさんあります!
チートシート
論理演算子は、1(真)または0(偽)を返す比較の組み合わせをチェックするために使用されます。
| 演算子 | 意味 | 例 |
|---|---|---|
&& |
And - すべてのオペランドが1の場合に1 |
a && b |
|| |
Or - いずれかのオペランドが1の場合に1 |
a || b |
! |
Not - オペランドが0の場合に1 |
!a |
例:
int b1 = (5 > 3) && (1 == 1); // 1(真)を保持int b2 = !(5 == 4) || (5 == 2); // 1(真)を保持自分で試してみよう
#include <stdio.h>
int main() {
// 以下にコードを入力してください
int b1 = ?;
int b2 = ?;
int b3 = b1 || b2;
// 以下の行は変更しないでください
printf("b3 = %d", b3);
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。