論理演算子 パート1
CoddyのC++ジャーニー「基礎」セクションの一部。レッスン 23/74。
論理演算子は、trueまたはfalseを返す比較の組み合わせを確認するために使われます。
たとえば、次の文には2つの比較が含まれています:
5は3より大きく、かつ6より小さいですか?
| 演算子 | 意味 | 例 |
|---|---|---|
&& | 論理積 - オペランドがすべてtrueの場合にtrue | a && b |
|| | 論理和 - オペランドがいずれかtrueの場合にtrue | a || b |
! | 否定 - オペランドがfalseの場合にtrue | !a |
いくつか例を見てみましょう。
5は3より大きく、1は1に等しいです。
bool b1 = (5 > 3) && (1 == 1); // 真になる解説:すべてのオペランドが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より大きくもなく、1より大きくもありません。
bool b5 = !(5 > 10 || 5 > 1); // falseが格納される説明: 5 > 10 || 5 > 1 は true(オペランドの1つが true)なので、全体として b5 は false です(not 演算)。
チャレンジ
初心者コードが与えられていますbool b3がtrueになるように、変数bool b1とbool b2の疑問符を置き換えてください。
条件を分析し、どのような値にすれば真になるか考えてみましょう。
正解はたくさんあります!
自分で試してみよう
// 以下にコードを入力してください
bool b1 = ?;
bool b2 = ?;
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C++オンラインコンパイラ