工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ 関係演算子・論理演算子マスターガイド:意思決定のための明確な解説

C++ 関係演算子

関係演算子は、2つのオペランド間の関係をチェックするために使用します。例えば、

// a が b より大きいかチェック
a > b;

ここで > が関係演算子です。a が b より大きいかどうかを判定します。

関係が true なら 1 を、false なら 0 を返します。

C++ で使用される関係演算子を以下の表にまとめました。

演算子意味例
==等しい3 == 5 は false
!=等しくない3 != 5 は true
>より大きい3 > 5 は false
<より小さい3 < 5 は true
>=以上3 >= 5 は false
<=以下3 <= 5 は true

== 演算子

等価演算子 == は以下を返します:

例:

int x = 10;
int y = 15;
int z = 10;
x == y // false
x == z // true

注意: 関係演算子 == は代入演算子 = とは異なります。代入演算子は変数・定数・配列・ベクトルに値を割り当て、2つのオペランドを比較しません。

!= 演算子

不等価演算子 != は以下を返します:

例:

int x = 10;
int y = 15;
int z = 10;
x != y // true
x != z // false

> 演算子

>演算子は以下を返します:

例:

int x = 10;
int y = 15;
x > y // false
y > x // true

< 演算子

< 演算子は以下を返します:

例:

int x = 10;
int y = 15;
x < y // true
y < x // false

>= 演算子

>= 演算子は以下を返します:

例:

int x = 10;
int y = 15;
int z = 10;
x >= y // false
y >= x // true
z >= x // true

<= 演算子

<= 演算子は以下を返します:

例:

int x = 10;
int y = 15;
x <= y // true
y <= x // false

関係演算子を文字列で使用する方法については、こちらのチュートリアルを参照してください。

C++ 論理演算子

論理演算子は、式が true か false かを判定します。true なら 1、false なら 0 を返します。

演算子例意味
&&式1 && 式2論理積。すべてのオペランドが true の場合のみ true
||式1 || 式2論理和。少なくとも1つのオペランドが true なら true
!!式論理否定。オペランドが false の場合のみ true

C++ 論理積演算子 &&

&& 演算子は以下を返します:

&& 演算子の真理値表

オペランド a と b とする。0 は false、1 は true を表す。

aba && b
000
010
100
111

真理値表から、&& は a と b がともに true の場合のみ true を返すことがわかります。

注意: 論理積演算子 && をビット単位論理積演算子 & と混同しないでください。

例 1:C++ && 演算子

// C++ プログラム:&& 演算子の真理値表を実演
#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

このプログラムでは、int 変数 a と b を宣言・初期化し、値 5 と 9 を設定。論理式を出力しています。

((a == 0) && (a > b))

a == 0 は a の値が 5 なので false に評価。a > b も a が b より小さいため false。これらを && で結合。真理値表通り false && false(0 && 0)は false(0)になります。これが出力結果です。同様に、&& の真理値表を完全に示す他3式も評価しています。

C++ 論理和演算子 ||

|| 演算子は以下を返します:

|| 演算子の真理値表

aba || b
000
011
101
111

a と b がともに false の場合のみ false を返すことがわかります。

例 2:C++ || 演算子

// C++ プログラム:|| 演算子の真理値表を実演
#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

C++ 論理否定演算子 !

! は単項演算子で、オペランドを1つだけ取ります。

オペランドが false なら true を、true なら false を返します。

! 演算子の真理値表

オペランド a とする。0 は false、1 は true。

a!a
01
10

例 3:C++ ! 演算子

// C++ プログラム:! 演算子の真理値表を実演
#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

a == 0 は a が 5 なので false に評価。しかし ! 演算子を a == 0 に適用するため、結果が反転し true になります。同様に !(a == 5) は a == 5 が true なので最終的に false を返します。

C言語

  1. C#抽象クラス実践チュートリアル:コード例で理解する設計パターン
  2. Guru99:包括的なオンラインチュートリアルとビジネスソフトウェアレビュー
  3. C#:Microsoftのモダンプログラミング言語の包括的概要
  4. C#ファイル操作実践ガイド:存在確認、読み書き、コピー、削除
  5. C#変数と演算子マスター:実例と解説で基礎を固める
  6. C++配列を関数に渡す完全ガイド:1次元・多次元配列の実例付き
  7. C++におけるコンストラクタを用いた動的初期化のマスター
  8. C#演算子完全ガイド:算術・関係・論理・ビット演算子など
  9. C++ switch文をマスター:構文、使い方、実践例
  10. C vs C++: 主な違いとそれぞれを選ぶべきケース
  11. C++ char型をマスター:宣言、ASCII、変換テクニック