C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++の算術演算子入門!基本の5つの演算子と複合代入演算子の使い方

C++の基本的な算術演算子

C++には、数値計算のために用意された基本的な算術演算子が5つあります。それぞれ以下の通りです。

  • 加算(+)
  • 減算(-)
  • 乗算(*)
  • 除算(/)
  • 剰余(%)

使用例

これらの演算子は、C++のあらゆる算術演算に使用できます。実際にどのように動作するのか、以下のサンプルコードで確認してみましょう。

#include <iostream>
using namespace std;

int main() {
    int a = 21;
    int b = 10;
    int c;

    c = a + b;
    cout << "Line 1 - Value of c is :" << c << endl;

    c = a - b;
    cout << "Line 2 - Value of c is :" << c << endl;

    c = a * b;
    cout << "Line 3 - Value of c is :" << c << endl;

    c = a / b;
    cout << "Line 4 - Value of c is :" << c << endl;

    c = a % b;
    cout << "Line 5 - Value of c is :" << c << endl;

    return 0;
}

実行結果

上記のコードを実行すると、次の出力が得られます。

Line 1 - Value of c is :31
Line 2 - Value of c is :11
Line 3 - Value of c is :210
Line 4 - Value of c is :2
Line 5 - Value of c is :1

この出力結果には注目すべきポイントが2つあります。まず、「Line 4」の 21 ÷ 10 の結果が「2」になっている点です。これは、整数型同士の除算では小数点以下が切り捨てられるためです。次に、「Line 5」の剰余演算子(%)は割り算の余りを求める演算子であり、21 を 10 で割った余り「1」が出力されています。

複合代入演算子とは

C++には、算術演算と代入を一度に行える「複合代入演算子」も用意されています。複合代入演算子は e1 op= e2 の形式で記述され、e1 は const 型ではない変更可能な左辺値(l-value)、e2 は以下のいずれかである必要があります。

  • 算術型
  • ポインタ型(op が + または - の場合のみ)

e1 op= e2 という形式は e1 = e1 op e2 と同じ意味ですが、e1 は一度しか評価されないという点が異なります。

C++で利用できる主な複合代入演算子は、以下の表の通りです。

演算子説明
*=第1オペランドの値に第2オペランドの値を掛け、その結果を第1オペランドで指定されたオブジェクトに格納します。
/=第1オペランドの値を第2オペランドの値で割り、その結果を第1オペランドで指定されたオブジェクトに格納します。
%=第1オペランドを第2オペランドの値で割った余り(剰余)を求め、その結果を第1オペランドで指定されたオブジェクトに格納します。
+=第1オペランドの値に第2オペランドの値を加え、その結果を第1オペランドで指定されたオブジェクトに格納します。
-=第1オペランドの値から第2オペランドの値を引き、その結果を第1オペランドで指定されたオブジェクトに格納します。

複合代入演算子の使用例

続いて、複合代入演算子を使った具体的な例を見てみましょう。

#include<iostream>
using namespace std;

int main() {
    int a = 3, b = 2;

    a += b;
    cout << a << endl;

    a -= b;
    cout << a << endl;

    a *= b;
    cout << a << endl;

    a /= b;
    cout << a << endl;

    return 0;
}

このコードを実行すると、次の出力が得られます。

5
3
6
3

この例では、変数 a の値が各演算のたびに更新されていく様子が確認できます。a += b で 3 + 2 = 5、a -= b で 5 - 2 = 3、a *= b で 3 × 2 = 6、a /= b で 6 ÷ 2 = 3 となっています。

注意点

列挙型(enum)への複合代入を行うとエラーが発生するので注意してください。また、左オペランドがポインタ型の場合、右オペランドはポインタ型であるか、0 と評価される定数式である必要があります。左オペランドが整数型の場合は、右オペランドにポインタ型を指定することはできません。

  1. C++の関係演算子とは?種類と使い方を実例付きで解説

    C++プログラミングでは、2つの変数に格納された値を比較し、両者の大小関係や等価性を判定するために関係演算子を使用します。関係演算子は、if文などの条件分岐やfor文・while文などのループ処理において不可欠な要素であり、比較の結果はbool型(true / false)として返されます。C++で利用できる主な関係演算子は以下の通りです。演算子説明>より大きい(左辺が右辺より大きいか)>=以上(左辺が右辺以上か)<より小さい(左辺が右辺より小さいか)<=以下(左辺が右辺以下か)==等しい(左右の値が等しいか)!=等しくない(左右の値が異なるか)関係演算子の使い方これら

  2. Pythonの算術演算子一覧|加算から切り捨て除算までの使い方と実行例

    Pythonには、四則演算をはじめとする数値計算を行うための算術演算子が標準で用意されています。本記事では、代表的な7種類の算術演算子について、それぞれの動作を一覧表とサンプルコードでわかりやすく解説します。 まず、変数aに10、変数bに20が代入されているものとして、各演算子の挙動を確認しましょう。 No.演算子と説明使用例 1+ 加算演算子の左辺と右辺の値を足し合わせます。a + b = 30 2- 減算左辺の値から右辺の値を引きます。a - b = -10 3* 乗算左辺と右辺の値を掛け合わせます。a * b = 200 4/ 除算左辺の値を右辺の値で割ります。b / a = 2