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