【6日でできるC言語入門】インクリメント・デクリメント

 C言語では、変数の値を1つ増やす(インクリメント)、1つ減らす(デクリメント)という処理が頻繁に登場します。特にfor文やwhile文などの繰り返し処理では、ループ変数の更新に不可欠な機能です。インクリメント・デクリメントの演算子を上手く使うことで、コードが簡潔で効率的になります。ここでは、その使い方や注意点、具体例を詳しく紹介します。


1.インクリメント・デクリメント演算子の基本

1.1. 基本の演算子と意味

C言語で使われるインクリメント・デクリメントの演算子は次の通りです。

演算子呼び名処理内容等価な書き方
i++後置インクリメント変数iを1増やすi = i + 1; i += 1;
++i前置インクリメント変数iを1増やすi = i + 1; i += 1;
i--後置デクリメント変数iを1減らすi = i - 1; i -= 1;
--i前置デクリメント変数iを1減らすi = i - 1; i -= 1;

1.2. 前置と後置の違い

前置(++i, --i)と後置(i++, i--)では、式の評価タイミングが異なります。

サンプルプログラム1:前置と後置の違い

プロジェクト/ファイル名: Lesson26_1/main.c

#include <stdio.h>

int main(void) {
    int x = 5;
    int a = x++;
    int y = 5;
    int b = ++y;

    printf("aの値: %d, xの値: %d\n", a, x);
    printf("bの値: %d, yの値: %d\n", b, y);

    return 0;
}

実行結果

aの値: 5, xの値: 6
bの値: 6, yの値: 6
  • 後置(x++)は「代入してから増やす」ので、aには5、xは6になります。
  • 前置(++y)は「増やしてから代入」なので、bにもyにも6が入ります。

2.インクリメント・デクリメントの活用例

2.1. for文での利用

繰り返し処理では、変数を1ずつ増減させるのが一般的です。

サンプルプログラム2:カウントダウン

プロジェクト/ファイル名: Lesson26_2/main.c

#include <stdio.h>

int main(void) {
    int i;
    for (i = 3; i > 0; i--) {
        printf("%d回目の処理です。\n", i);
    }
    printf("終了しました。\n");
    return 0;
}

実行結果

3回目の処理です。
2回目の処理です。
1回目の処理です。
終了しました。

2.2. 増分や減分を変更したfor文

インクリメント・デクリメントは1つずつだけでなく、他の値で増減することもできます。

記述例実行結果説明
for(i = 0; i < 5; i++)0 1 2 3 40から1ずつ増やす
for(i = 10; i > 0; i -= 2)10 8 6 4 210から2ずつ減らす
for(i = 3; i <= 15; i += 3)3 6 9 12 153から3ずつ増やす

まとめ

インクリメント・デクリメント演算子は、変数の増減を手早く行える便利な機能です。

  • for文や繰り返し処理のカウンタとしてよく使われます。
  • 前置・後置の違いを理解して正しく使いましょう。
  • 省略や短縮記法は可読性にも配慮して使いましょう。

基本を押さえれば、C言語の繰り返し処理や数値操作が格段に効率的になります。