論理演算子 パート2
CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 24/74。
論理演算子には、論理演算子の組み合わせが何を返すかを示す「真理値表」と呼ばれる特殊な表があります。
and (&&) 演算子の真理値表:
| a | b | a && b |
|---|---|---|
| false | false | false |
| false | true | false |
| true | false | false |
| true | true | true |
and (&&) 演算子で true を得る唯一の方法は、a と b の両方が true である場合です。
or (||) 演算子の真理値表:
| a | b | a || b |
|---|---|---|
| false | false | false |
| false | true | true |
| true | false | true |
| true | true | true |
この場合、true という結果を得るには、a または b のいずれかが true である必要があります。
not (!) 演算子の真理値表:
| a | !a |
|---|---|
| false | true |
| true | false |
ここではaの値が反転されます。もしaがfalseなら、!aはtrueになります。
チャレンジ
初心者式 bool b3 = !((b1 + b2) > (b1 * b2)) において b3 が true と評価されるように、変数 b1 と b2 に整数値を代入する必要があります。
条件を分析し、どのような値がそれを true にするか考えてみてください。
チートシート
真理値表は、論理演算子の組み合わせの結果を示します:
AND (&&) 演算子: 両方のオペランドが true の場合にのみ true を返します
| a | b | a && b |
|---|---|---|
| false | false | false |
| false | true | false |
| true | false | false |
| true | true | true |
OR (||) 演算子: いずれかのオペランドが true の場合に true を返します
| a | b | a || b |
|---|---|---|
| false | false | false |
| false | true | true |
| true | false | true |
| true | true | true |
NOT (!) 演算子: 真偽値を反転させます
| a | !a |
|---|---|
| false | true |
| true | false |
自分で試してみよう
#include <iostream>
using namespace std;
int main() {
// 以下にコードを入力してください
int b1 = ?;
int b2 = ?;
bool b3 = !((b1 + b2) > (b1 * b2));
// 以下の行は変更しないでください
cout << "b3 = " << b3 << endl;
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。