Opera中に入る C++: 例付きの型
⚡ スマートサマリー
Opera中に入る C++ 演算子は、算術演算や比較演算から論理演算、ビット演算、代入演算まで、オペランドに対して様々な演算を実行するシンボルです。この資料では、各演算子カテゴリについて、実行可能なサンプルプログラム、出力結果、および評価順序を決定する優先順位規則を解説しています。

何ですか Operaトール?
オペレーター は、オペランドに対して演算を実行するために使用される記号です。演算子はオペランドに対して演算を行い、その演算は数学的または論理的である可能性があります。演算子にはさまざまな種類があります。 C++ さまざまな操作を実行します。
次の操作を考えてみましょう。
a = x + y;
上記の文では、xとyがオペランドで、+は加算演算子です。 C++ コンパイラは上記のステートメントに遭遇すると、x と y を加算し、その結果を変数 a に格納します。
の種類 Opera中に入る C++
主にあります 6種類の演算子 C++:
- 算術 Operaトー
- リレーショナル Operaトー
- 論理的 Operaトー
- ビット単位 Operaトー
- 譲渡 Operaトー
- その他 Operaトー
まずは、最も一般的に使用される算術演算子から始めましょう。
算術 Operaトー
これらは、数学/算術演算を実行するために使用される演算子の種類です。次のものが含まれます。
| Operator | 詳細説明 |
|---|---|
| + 加算演算子 | 2 つのオペランドを加算します。 |
| - 下tracオペレーター | サブtracts 2nd オペランド1からst オペランド。 |
| * 乗算演算子 | 2 つのオペランドを乗算します。 |
| / 部門オペレーター | 分子を分母で割ります。 |
| % 剰余演算子 | 除算後の剰余を返します。 |
| ++ インクリメント演算子 | 整数値を 1 ずつ増やします。 |
| — デクリメント演算子 | 整数値を 1 減らします。 |
具体的な例を挙げますと、以下の通りです。
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; int c; cout << "a + b is :" << a+b << endl; //11+5 cout << "a - b is :" << a-b << endl; //11-5 cout << "a * b is :" << a*b << endl; //11*5 cout << "a / b is :" << a/b << endl; //11/5 cout << "a % b is :" << a%b << endl; //11%5 cout << "a++ is :" << a++ << endl; //11++ cout << "a-- is :" << a-- << endl; //12-- return 0; }
出力:
コードのスクリーンショットは次のとおりです。
Code 説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加するmain()関数を呼び出します。{はmain()関数の本体の開始を示します。
- 整数変数 a を宣言し、それを 11 に初期化します。
- 整数変数 b を宣言し、それを 5 に初期化します。
- 整数変数の宣言 c.
- 演算結果である a+b の値を、他のテキストとともにコンソールに表示します。
- 演算 ab の値を他のテキストとともにコンソールに表示します。
- 演算a*bの値を他のテキストとともにコンソールに表示します。
- 演算a/bの値を他のテキストとともにコンソールに表示します。
- 演算 a%b の値を他のテキストとともにコンソールに表示します。
- 演算 a++ の値を他のテキストとともにコンソールに出力します。
- 演算 a– の値を他のテキストとともにコンソールに表示します。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
リレーショナル Operaトー
これらのタイプの演算子は、オペランドの比較を実行します。たとえば、どのオペランドが他のオペランドより大きいか、または小さいかを知る必要がある場合があります。次の演算子が含まれます。
| Operator | 詳細説明 |
|---|---|
| == 等号演算子 | 2 つのオペランド値の等価性をチェックします。 |
| != 等しくない演算子 | 2つのオペランド値の不等性をチェックします。 |
| > より大きい演算子 | 左オペランドの値が右オペランドの値より大きいかどうかをチェックします。 |
| < より小さい演算子 | 左オペランドの値が右オペランドの値より小さいかどうかをチェックします。 |
| >= より大きいか等しい演算子 | 左オペランドの値が右オペランドの値以上であるかどうかをチェックします。 |
| <= 等号演算子 | 左オペランドの値が右オペランドの値以下であるかどうかをチェックします。 |
具体的な例を挙げますと、以下の通りです。
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; cout << "a=11, b=5" << endl; if (a == b) { cout << "a == b is true" << endl; } else { cout << " a == b is false" << endl; } if (a < b) { cout << "a < b is true" << endl; } else { cout << "a < b is false" << endl; } if (a > b) { cout << "a > b is true" << endl; } else { cout << "a > b is false" << endl; } return 0; }
出力:
コードのスクリーンショットは次のとおりです。
Code 説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。
- 整数変数 a を宣言し、それを 11 に初期化します。
- 整数変数 b を宣言し、それを 5 に初期化します。
- 変数 a と b の値を示すテキストをコンソールに出力します。
- if文を使って、aとbが等しいかどうかをチェックする。
- 演算 a==b が真の場合にコンソールに出力するテキスト。
- 上記のif文のelse部分は、a==bが偽の場合に何をするかを示しています。
- 演算 a==b が偽の場合にコンソールに出力するテキスト。
- if文を使って、aがbより小さいかどうかをチェックする。
- 操作が失敗した場合にコンソールに表示するテキスト
- else の部分は、
- 操作が失敗した場合にコンソールに表示するテキスト
- if文を使って、aがbより大きいかどうかをチェックします。
- 演算 a>b が真の場合にコンソールに出力するテキスト。
- a>b の場合の else 部分は false です。
- 演算 a>b が偽の場合にコンソールに出力するテキスト。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
論理的 Operaトー
その 論理演算子 2つ以上の制約/条件を組み合わせます。論理演算子は、検討対象の元の条件の評価を補完します。それらには以下が含まれます。
| Operator | 詳細説明 |
|---|---|
| && 論理AND演算子 | 両方のオペランドがゼロでない場合、この条件は真となります。 |
| || 論理OR演算子 | オペランドの 1 つがゼロ以外の場合、条件は真になります。 |
| ! 論理否定演算子 | これはオペランドの論理状態を反転させます。オペランドが真の場合、!演算子はそれを偽にします。 |
具体的な例を挙げますと、以下の通りです。
#include <iostream> using namespace std; int main() { int a = 5, b = 2, c = 6, d = 4; if (a == b && c > d) cout << "a equals to b AND c is greater than d\n"; else cout << "AND operation returned false\n"; if (a == b || c > d) cout << "a equals to b OR c is greater than d\n"; else cout << "Neither a is equal to b nor c is greater than d\n"; if (!b) cout << "b is zero\n"; else cout << "b is not zero"; return 0; }
出力:
コードのスクリーンショットは次のとおりです。
Code 説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。
- { は、main() 関数の本体の開始を示します。
- 4つの整数型変数a、b、c、dを宣言し、それぞれに異なる値を代入します。
- if文の中で&&(AND)演算子を使用します。これは2つの条件を結合します。最初の条件が偽で、2番目の条件が真なので、偽&&真は偽となり、if文の結果は偽になります。
- 上記のif文が真の場合にコンソールに出力するテキスト。これは実行されません。
- 上記のif文が偽の場合に実行される部分。
- if ステートメントが false の場合にコンソールに出力するテキスト。 これが実行されます。
- if文の中で||(OR)演算子を使用する場合。最初の条件は偽で、2番目の条件は真なので、false||trueは真となり、if文の結果は真になります。
- 上記のif文が真の場合にコンソールに出力するテキスト。これは実行されます。
- 上記のif文が偽の場合に実行される部分。
- if ステートメントが false の場合にコンソールに出力するテキスト。 これは実行されません。
- 変数bの値が0かどうかを確認します。
- 上記のif文が真の場合にコンソールに出力するテキスト。これは実行されません。
- 上記のif文が偽の場合に実行される部分。
- if ステートメントが false の場合にコンソールに出力するテキスト。 これが実行されます。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
ビット単位 Operaトー
ビット演算子 オペランドに対してビットレベルの演算を実行します。まず、オペランドをビットレベルに変換し、次に演算を実行します。加算や減算などの算術演算の場合tracビットレベルで処理が行われるため、より迅速に結果が得られます。それらには以下が含まれます。
| Operator | 詳細説明 |
|---|---|
| & (ビットごとのAND) | 2つの数値(オペランド)を受け取り、それぞれの数値の各ビットに対してAND演算を実行します。両方の数値が1の場合は1を返し、そうでない場合は0を返します。 |
| | (ビットOR) | 2つの数値(オペランド)を受け取り、それらの数値の各ビットに対してOR演算を実行します。いずれかのビットが1であれば、1を返します。 |
| ^(ビットごとのXOR) | 2つの数値(オペランド)を受け取り、それぞれの数値の各ビットに対してXOR演算を実行します。両方のビットが異なる場合は1を返します。 |
| << (左シフト) | 2つの数値を受け取り、最初のオペランドのビットを左シフトします。2番目のオペランドは、シフトするビットの総数を決定します。 |
| >> (右シフト) | 2つの数値を受け取り、最初のオペランドのビットを右シフトします。2番目のオペランドはシフトするビット数を決定します。 |
| ~ (ビットごとの否定) | 数値を受け取り、そのすべてのビットを反転します。 |
#include <iostream> using namespace std; int main() { unsigned int p = 60; // 60 = 0011 1100 unsigned int q = 13; // 13 = 0000 1101 int z = 0; z = p & q; cout << "p&q is : " << z << endl; // 12 = 0000 1100 z = p | q; cout << "p|q is : " << z << endl; // 61 = 0011 1101 z = p ^ q; cout << "p^q is : " << z << endl; // 49 = 0011 0001 z = ~p; cout << "~p is : " << z << endl; // -61 = 1100 0011 z = p << 2; cout << "p<<2 is: " << z << endl; // 240 = 1111 0000 z = p >> 2; cout << "p>>2 is : " << z << endl; // 15 = 0000 1111 return 0; }
出力:
コードのスクリーンショットは次のとおりです。
Code 説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。
- 符号なし整数変数 p を宣言し、60 という値を代入します。これはバイナリでは 0011 1100 です。
- 符号なし整数変数 q を宣言し、値 13 を代入します。これはバイナリでは 0000 1101 です。
- 整数変数 z を宣言し、0 に初期化します。
- 変数 p と q に対してビット単位の & (AND) 演算を実行し、その結果を変数 z に格納します。
- 上記の操作の結果を他のテキストと一緒にコンソールに出力します。
- 変数 p と q に対してビット単位の | (OR) 演算を実行し、その結果を変数 z に格納します。
- 上記の操作の結果を他のテキストと一緒にコンソールに出力します。
- 変数 p と q に対してビット単位の ^ (XOR) 演算を実行し、結果を変数 z に格納します。
- 上記の操作の結果を他のテキストと一緒にコンソールに出力します。
- 変数 p に対してビットごとの ~ (NOT) 演算を実行し、結果を変数 z に格納します。
- 上記の操作の結果を他のテキストと一緒にコンソールに出力します。
- 変数 p に対して左シフト演算を実行し、その結果を変数 z に格納します。
- 上記の操作の結果を他のテキストと一緒にコンソールに出力します。
- 変数 p に対して右シフト演算を実行し、その結果を変数 z に格納します。
- 上記の操作の結果を他のテキストと一緒にコンソールに出力します。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
譲渡 Operaトー
代入演算子 変数に値を代入します。オペランド/変数は演算子の左側に追加され、値は右側に追加されます。変数と値は同じデータ型である必要があります。そうでない場合、 C++ コンパイラはエラーを発生させます。
具体的な例を挙げますと、以下の通りです。
x = 5;
上記の例では、x は変数/オペランド、= は代入演算子、5 は値です。 C++:
| Operator | 詳細説明 |
|---|---|
| = (単純な代入演算子) | 右側の値を左側の変数に割り当てます。 |
| += (AND 代入演算子を追加) | 右オペランドの値を左オペランドに追加し、その結果を左側の変数に割り当てます。 |
| -= (サブ)tract AND 代入演算子) | サブtrac左オペランドから右オペランドの値を取得し、その結果を左の変数に代入します。 |
| *= (乗算 AND 代入演算子) | 左のオペランドの値と右のオペランドの値を乗算し、その結果を左側の変数に割り当てます。 |
| /= (除算 AND 代入演算子) | 左のオペランドの値を右のオペランドで割り、その結果を左側の変数に割り当てます。 |
具体的な例を挙げますと、以下の通りです。
#include <iostream> using namespace std; int main() { int x = 5; cout << "Initial value of x is " << x << "\n"; x += 5; cout << "x += 5 gives :" << x << "\n"; x -= 5; cout << "x -= 5 gives : " << x << "\n"; x *= 5; cout << "x *= 5 gives :" << x << "\n"; x /= 5; cout << "x /= 5 gives : " << x << "\n"; return 0; }
出力:
コードのスクリーンショットは次のとおりです。
Code 説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。
- { は、main() 関数の本体の開始を示します。
- 整変数 x を宣言し、値 5 を割り当てます。
- 変数 x の値を他のテキストと一緒にコンソールに表示します。\n は改行文字です。
- 変数xの値に5を加え、その結果を変数xに代入する。
- 変数 x の値を他のテキストと一緒にコンソールに出力します。
- サブtracxの値から5を引いて、その結果を変数xに代入します。
- 変数 x の値を他のテキストと一緒にコンソールに出力します。
- 変数xの値に5を掛け、その結果を変数xに代入する。
- 変数 x の値を他のテキストと一緒にコンソールに出力します。
- 変数xの値を5で割り、その結果を変数xに代入する。
- 変数 x の値を他のテキストと一緒にコンソールに出力します。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
その他 Operaトー
その他 Operaトー sizeof演算子、カンマを含める Operaトール、条件付き Operaトール、そして Opera演算子の優先順位。サポートされている他の演算子について説明しましょう。 C++:
sizeof演算子
この演算子は変数のサイズを決定します。データ型のサイズを決定するには、sizeof演算子を使用します。
具体的な例を挙げますと、以下の通りです。
#include <iostream> using namespace std; int main() { cout<<"Size of int : "<< sizeof(int) << "\n"; cout<<"Size of char : " << sizeof(char) << "\n"; cout<<"Size of float : " << sizeof(float) << "\n"; cout<<"Size of double : " << sizeof(double) << "\n"; return 0; }
出力:
コードのスクリーンショットは次のとおりです。
Code 説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。
- sizeof演算子を使用して整数データ型のサイズを決定し、コンソールに他のテキストとともに表示します。
- sizeof演算子を使用して文字データ型のサイズを決定し、コンソール上の他のテキストと並べて表示します。
- sizeof演算子を使用してfloatデータ型のサイズを決定し、コンソールに他のテキストとともに表示します。
- sizeof演算子を使用してdouble型データのサイズを決定し、コンソールに他のテキストとともに表示します。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
コンマ Operaタ
その カンマ演算子 (,) は一連の操作の実行をトリガーします。まず最初のオペランドを表現し、その結果を破棄します。次に、2番目のオペランドを評価し、その値と型を返します。
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
出力:
コードのスクリーンショットは次のとおりです。
Code 説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。
- XNUMX つの整数変数 x と y を宣言します。
- 変数 ya の値 100 を割り当てます。
- カンマ演算子を使用します。y は 100 から始まり、101 にインクリメントされます (y++)。次に、y に 10 が加算されます。最後に、y はまだ 101 のままで、99 が加算され、200 になります。x は 200 になります。
- 変数 x の値をコンソールに出力します。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
条件付きの Operaタ
この演算子は条件を評価し、評価の結果に基づいて動作します。
構文:
Condition ? Expression2 : Expression3;
パラメーター:
- Condition は評価される条件です。
- Expression2は、条件が真の場合に実行される式です。
- Expression3は、条件が偽の場合に実行される式です。
具体的な例を挙げますと、以下の通りです。
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
出力:
コードのスクリーンショットは次のとおりです。
Code 説明:
- コードに iostream ヘッダー ファイルを含めます。 これにより、コンソールからの読み取りとコンソールへの書き込みが可能になります。
- std 名前空間を含めて、そのクラスと関数を呼び出さずに使用できるようにします。
- プログラムのロジックを追加する main() 関数を呼び出します。
- XNUMXつを宣言する 整数変数 aとb。 変数 a には値 1 が割り当てられています。
- 変数bに値を代入します。変数aが10未満の場合、bには値2が代入され、それ以外の場合は値5が代入されます。
- 変数bの値を他のテキストと共にコンソールに表示する。
- プログラムが正常に実行される場合、main() 関数は値を返す必要があります。
- main() 関数の本体の終わり。
Operaトルの優先順位
1 つの演算に複数の演算子が含まれる場合があります。その場合、演算子の優先順位によって最初に評価される演算子が決まります。
以下のリストは、演算子の優先順位を示しています。 C++左から右へ向かって優先順位が低くなります。
()、[]、*、/、%、+/-、<<、>>、==、!=、^、|、&&、||、?:、=、+=、-=、*=、/=













