
【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 4 | 0から1ずつ増やす |
| for(i = 10; i > 0; i -= 2) | 10 8 6 4 2 | 10から2ずつ減らす |
| for(i = 3; i <= 15; i += 3) | 3 6 9 12 15 | 3から3ずつ増やす |
まとめ
インクリメント・デクリメント演算子は、変数の増減を手早く行える便利な機能です。
- for文や繰り返し処理のカウンタとしてよく使われます。
- 前置・後置の違いを理解して正しく使いましょう。
- 省略や短縮記法は可読性にも配慮して使いましょう。
基本を押さえれば、C言語の繰り返し処理や数値操作が格段に効率的になります。
