見出し画像

No.7 算術演算子について

今回は、C言語の算術演算子について解説します。

前回の記事をまだ見ていない方は、下記のリンクからぜひ見てください。
前回の記事を見てからこの記事を見ると理解しやすいです。↓

また、わからない点があればぜひコメントお願いします。
わかりやすいように更新させていただきます。


算術演算子とは

算術演算子とは、プログラムで足し算や掛け算などの四則演算を行うときに使用する記号です。

ここからは、C言語で使う算術演算子の一覧を紹介したいと思います。

C言語の算術演算子一覧

C言語の算術演算子には次のようなものがあります。↓

「×」と「÷」が   「*」と「/」 になっていることに注意しましょう。
また、普通の計算には出てこない「剰余」ができているので覚えましょう。

ここででてきた、「インクリメント」と「デクリメント」についてはわからなくても構いません。
後ほど解説します。

次からは算術演算子の使い方について解説していきます。

算術演算子の優先順位

計算での算術演算子の優先順位は次のようになります。↓

基本的には、普通の計算とは変わりありません。

使用例

算術演算子は、計算したい式を書いて実行すると使えます。

次のようなプログラムを書いてみます。↓

#include <stdio.h>

int main() {
    printf("%d\n", 5 + 3); 

    return 0;
}

ここでポイントです。
printf関数の変換指定子は型が対応していれば計算結果でも出力できます。

このプログラムを実行すると

8

という計算結果が出力されます。

同様に乗算でも、次のプログラムは ↓

#include <stdio.h>

int main() {
    printf("%d\n", 5 * 3); 

    return 0;
}

結果が

15

という計算結果が出力されます。

変数での四則演算

No.5 で解説した変数でも計算ができます。

具体的には次のように計算します。↓

int a = 5;
int b = 3;
int result = a + b;

このように変数と数での計算結果や変数同士の計算結果は、結果を自分自身の変数、もしくは他の変数に代入します。

変数での四則計算(例)

下記のようなプログラムがあります。↓

#include <stdio.h>

int main() {
    int a = 10; // 変数aを宣言し、値10を代入
    int b = 3;  // 変数bを宣言し、値3を代入
    
    int result = a + b; // 加算を実行し、結果をresultに代入
    printf("結果: %d\n", result); // 結果を表示
    
    return 0;
}

実行結果は

13

となります。

インクリメントとデクリメントとは

ここからは、インクリメントとデクリメントについて解説して聞きます。

インクリメントは変数の値を1増加させるものです。
反対に、デクリメントは変数の値を1減少させます。

インクリメントとデクリメントには「前置」と「後置」というものがあります。
前置は、変数の値を変化させた後にその値を使用するのに対して
後置は、変数の値を使用した後にその値を変化させます。

インクリメントは ++ と書きます。
デクリメントは -- と書きます。
また、前置の場合は変数の前にインクリメントもしくはデクリメントを書くのに対し
後置の場合は変数の後にインクリメントもしくはデクリメントを書きます。

要するに、前置と後置では変数の値を変化させるタイミングが違うのです。

(例)

a++; //後置インクリメント
++a; //前置インクリメント

a--; //後置デンクリメント
--a; //前置デクリメント

例えば、次のプログラムの

#include <stdio.h>

int main() {
    int a = 5;

    printf("%d\n", ++a); // 出力: 6 (aは6に増加した後、その値を出力)

  int a = 5;
 
    printf("%d\n", a++); // 出力: 6 (aの値を出力した後、aは6に増加)

    return 0;
}

実行結果は

6
5

となります。

問題

次のコードの出力はどうなりますか?

#include <stdio.h>

int main() {
    int a = 5;
    int b = ++a;
    int c = a--;
    printf("a: %d\n", a);
    printf("b: %d\n", b);
    printf("c: %d\n", c);
    return 0;
}

回答

a: 5
b: 6
c: 6


いいなと思ったら応援しよう!