C++は、強力なプログラミング言語であり、さまざまな計算を効率的に実行するために、多くの演算子を提供しています。演算子は、数値、変数、オブジェクトなどに対して操作を行うための記号です。このガイドでは、C++の演算子について詳しく説明し、基本的な演算から応用的な使い方まで解説します。実行結果を含むサンプルコードを使いながら、各演算子の動作を確認しましょう。
1. 算術演算子
算術演算子は、数値データに対して基本的な数学計算を行います。主な算術演算子には次のものがあります:
- 加算(
+) - 減算(
-) - 乗算(
*) - 除算(
/) - 剰余(
%)
コード例
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 3;
cout << "加算: " << (a + b) << endl;
cout << "減算: " << (a - b) << endl;
cout << "乗算: " << (a * b) << endl;
cout << "除算: " << (a / b) << endl;
cout << "剰余: " << (a % b) << endl;
return 0;
}
上記のプログラムでは、変数 a と b に対して算術演算子を使用しています。実行結果は次のようになります。
実行結果
加算: 13 減算: 7 乗算: 30 除算: 3 剰余: 1
剰余演算子 % は、割り算の余りを計算します。たとえば、10 ÷ 3 の余りは 1 です。
2. 代入演算子
代入演算子は、右辺の値を左辺の変数に代入するために使用されます。最も基本的な代入演算子は = です。その他にも、算術演算と代入を同時に行う複合代入演算子があります。
- 加算代入(
+=) - 減算代入(
-=) - 乗算代入(
*=) - 除算代入(
/=) - 剰余代入(
%=)
コード例
#include <iostream>
using namespace std;
int main() {
int a = 10;
a += 5; // a = a + 5 と同じ
cout << "加算代入: " << a << endl;
a -= 3; // a = a - 3 と同じ
cout << "減算代入: " << a << endl;
a *= 2; // a = a * 2 と同じ
cout << "乗算代入: " << a << endl;
a /= 4; // a = a / 4 と同じ
cout << "除算代入: " << a << endl;
a %= 2; // a = a % 2 と同じ
cout << "剰余代入: " << a << endl;
return 0;
}
このプログラムでは、複合代入演算子を使って変数 a の値を更新しています。実行結果は次のようになります。
実行結果
加算代入: 15 減算代入: 12 乗算代入: 24 除算代入: 6 剰余代入: 0
3. 比較演算子
比較演算子は、2つの値を比較して、真(true)または偽(false)を返します。比較演算子には次のものがあります。
- 等しい(
==) - 等しくない(
!=) - より大きい(
>) - より小さい(
<) - 以上(
>=) - 以下(
<=)
コード例
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 20;
cout << "a と b が等しい: " << (a == b) << endl;
cout << "a と b が等しくない: " << (a != b) << endl;
cout << "a が b より大きい: " << (a > b) << endl;
cout << "a が b より小さい: " << (a < b) << endl; cout << "a が b 以上: " << (a >= b) << endl;
cout << "a が b 以下: " << (a <= b) << endl;
return 0;
}
このプログラムでは、変数 a と b の値を比較して、結果を表示します。実行結果は次のようになります。
実行結果
a と b が等しい: 0 a と b が等しくない: 1 a が b より大きい: 0 a が b より小さい: 1 a が b 以上: 0 a が b 以下: 1
結果は 0(偽)または 1(真)として表示されます。たとえば、a は b より小さいため、a < b の結果は 1 になります。
4. 論理演算子
論理演算子は、条件式を組み合わせて論理演算を行います。C++では、以下の3つの論理演算子がよく使われます:
- AND(
&&) - OR(
||) - NOT(
!)
コード例
#include <iostream>
using namespace std;
int main() {
bool x = true;
bool y = false;
cout << "x AND y: " << (x && y) << endl;
cout << "x OR y: " << (x || y) << endl;
cout << "NOT x: " << (!x) << endl;
return 0;
}
このプログラムでは、論理演算子を使ってブール値 x と y を組み合わせています。実行結果は次のようになります。
実行結果
x AND y: 0 x OR y: 1 NOT x: 0
論理演算子を使うことで、複雑な条件式を簡潔に表現できます。たとえば、x && y は両方が true のときに true を返し、x || y はどちらか一方が true であれば true を返します。
まとめ
C++の演算子を理解することで、より効率的なコードを書けるようになります。算術演算子、代入演算子、比較演算子、論理演算子は、C++プログラムの基礎となる重要な要素です。この記事で紹介したサンプルコードを参考にして、実際に手を動かしてみましょう。次のステップでは、これらの演算子を使って、より複雑なプログラムを作成できるようになるでしょう。
