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