C++ 関係演算子と論理演算子をマスターする:意思決定への明確なガイド
C++ では、関係演算子と論理演算子は 2 つ以上のオペランドを比較し、true のいずれかを返します。 または false 値。
私たちは意思決定にこれらの演算子を使用します。
C++ 関係演算子
関係演算子は、2 つのオペランド間の関係を確認するために使用されます。たとえば、
// checks if a is greater than b
a > b;
ここでは、> は関係演算子です。 a が b より大きいかどうかをチェックします。
関係が真実の場合 の場合、1 が返されます。 一方、 関係が偽の場合は、 の場合、0 が返されます。 .
次の表は、C++ で使用される関係演算子をまとめたものです。
== 3 == 5 に等しい 偽を返します != 3 != 5 に等しくない 私たちに真実を与えます > 3 > 5 より大きい 偽を返します < 3 < 5 未満 私たちに真実を与えます >= 3 >= 5 以上 偽を教えてください <= 3 <= 5 以下 私たちに真実を与えます ==オペレーター
== に等しい 演算子が戻ります
true- 両方のオペランドが等しいか同じ場合false- オペランドが等しくない場合
たとえば、
int x = 10;
int y = 15;
int z = 10;
x == y // false
x == z // true
注: 関係演算子 == 代入演算子 = と同じではありません 。代入演算子 = 変数、定数、配列、またはベクトルに値を代入します。 2 つのオペランドは比較されません。
!=オペレーター
!= と等しくない 演算子が戻ります
true- 両方のオペランドが等しくない場合false- 両方のオペランドが等しい場合。
たとえば、
int x = 10;
int y = 15;
int z = 10;
x != y // true
x != z // false > オペレーター
> より大きい 演算子が戻ります
true- 左のオペランドが右のオペランドより大きい場合false- 左のオペランドが右のオペランドより小さい場合
たとえば、
int x = 10;
int y = 15;
x > y // false
y > x // true <オペレーター
小なり演算子 < 戻ります
true- 左のオペランドが右のオペランドより小さい場合false- 左オペランドが右オペランドより大きい場合
たとえば、
int x = 10;
int y = 15;
x < y // true
y < x // false >=オペレーター
>= 以上 演算子が戻ります
true- 左のオペランドが右のオペランド以上である場合false- 左のオペランドが右のオペランドより小さい場合
たとえば、
int x = 10;
int y = 15;
int z = 10;
x >= y // false
y >= x // true
z >= x // true <=オペレーター
以下演算子 <= 戻ります
true- 左のオペランドが右のオペランド以下の場合false- 左オペランドが右オペランドより大きい場合
たとえば、
int x = 10;
int y = 15;
x > y // false
y > x // true 関係演算子を文字列で使用する方法については、こちらのチュートリアルを参照してください。
C++ 論理演算子
論理演算子を使用して、式が真であるかどうかを確認します。 または虚偽 。式が真の場合 の場合、1 が返されます。 一方、式が偽の場合は、 の場合、0 が返されます。 .
&& 式 1 && 式 2 論理積。 すべてのオペランドが true の場合にのみ true。
|| 式 1 || 式 2 論理和。 少なくとも 1 つのオペランドが true の場合は true。
! ! 式 論理否定。 オペランドが false の場合にのみ true。
C++ 論理 AND 演算子
論理 AND 演算子 && 戻ります
true- すべてのオペランドがである場合に限ります。true.false- 1 つ以上のオペランドの場合falseです .
&&演算子の真理値表
をしましょう そしてb 2 つのオペランドになります。 0 偽を表します 1 の間 真実を表します 。それでは、
上記の真理値表からわかるように、&& 演算子は、両方の a の場合にのみ true を返します。 および b
注:論理 AND 演算子 && ビット単位の AND 演算子 & と混同しないでください。 .
例 1:C++ OR 演算子
// C++ program demonstrating && operator truth table
#include <iostream>
using namespace std;
int main() {
int a = 5;
int b = 9;
// false && false = false
cout << ((a == 0) && (a > b)) << endl;
// false && true = false
cout << ((a == 0) && (a < b)) << endl;
// true && false = false
cout << ((a == 5) && (a > b)) << endl;
// true && true = true
cout << ((a == 5) && (a < b)) << endl;
return 0;
} 出力
0 0 0 1
このプログラムでは、2 つの int を宣言して初期化します。 値 5 を持つ変数 a と b および 9 それぞれ。次に、論理式を出力します。
((a == 0) && (a > b))
ここでは、a == 0 false と評価されます a の値は 5 であるため、 。 a > b false もです a の値が b の値より小さいためです。次に、AND 演算子 && を使用します。 これら 2 つの式を組み合わせます。
&& の真理値表より 演算子、false && false であることがわかります。 (例:0 && 0 ) の評価は false となります。 (0 )。これが出力で得られる結果です。
同様に、&& の真理値表を完全に示す他の 3 つの式を評価します。 演算子。
C++ 論理和演算子
論理 OR 演算子 || 戻ります
true- 1 つ以上のオペランドがの場合true.false- すべてのオペランドの場合に限ります。falseです .
|| の真理値表オペレーター
をしましょう そしてb 2 つのオペランドになります。それでは、
上記の真理値表からわかるように、|| 演算子は両方の a の場合にのみ false を返します。 および b
例 2:C++ OR 演算子
// C++ program demonstrating || operator truth table
#include <iostream>
using namespace std;
int main() {
int a = 5;
int b = 9;
// false && false = false
cout << ((a == 0) || (a > b)) << endl;
// false && true = true
cout << ((a == 0) || (a < b)) << endl;
// true && false = true
cout << ((a == 5) || (a > b)) << endl;
// true && true = true
cout << ((a == 5) || (a < b)) << endl;
return 0;
} 出力
0 1 1 1
このプログラムでは、2 つの int を宣言して初期化します。 値 5 を持つ変数 a と b および 9 それぞれ。次に、論理式を出力します。
((a == 0) || (a > b))
ここでは、a == 0 false と評価されます a の値は 5 であるため、 。 a > b false もです a の値が b の値より小さいためです。次に、OR 演算子 || を使用します。 これら 2 つの式を組み合わせます。
|| の真理値表より 演算子、false || false であることがわかります。 (例:0 || 0 ) の評価は false となります。 (0 )。これが出力で得られる結果です。
同様に、|| の真理値表を完全に示す他の 3 つの式を評価します。 演算子。
C++ 論理 NOT 演算子 !
論理否定演算子 ! は単項演算子です。つまり、オペランドを 1 つだけ取ります。
true を返します オペランドが偽の場合 、 そして偽です。 オペランドがtrueの場合 .
の真理表!オペレーター
をしましょう オペランドになります。それでは、
例 3:C++ !オペレーター
// C++ program demonstrating ! operator truth table
#include <iostream>
using namespace std;
int main() {
int a = 5;
// !false = true
cout << !(a == 0) << endl;
// !true = false
cout << !(a == 5) << endl;
return 0;
} 出力
1 0
このプログラムでは、int を宣言して初期化します。 値 5 を持つ変数 a 。次に、論理式を出力します。
!(a == 0)
ここでは、a == 0 false と評価されます a の値は 5 であるため、 。ただし、NOT 演算子 ! を使用します。 a == 0 で 。 a == 0 以降 false と評価されます 、! 演算子は a == 0 の結果を反転します。 最終結果は true です。 .
同様に、式 !(a == 5) 最終的には false を返します a == 5 のため true です .
C言語