
【6日でできるC言語入門】for文
プログラムで同じ処理を繰り返し実行したい場合、繰り返し処理(ループ処理)を使います。C言語では、for文、while文、do〜while文という3種類の繰り返し処理が用意されています。その中でもfor文は、最もよく使われる繰り返し処理の1つです。ここではfor文の基本構造や使い方、応用例を中心に詳しく解説します。

1.for文の基本と書式
1.1. for文の構造と流れ
for文は、指定した回数だけ決まった処理を繰り返す場合に最適です。
for文の書式
for(初期化式; 条件式; 増分式){
繰り返したい処理
}| 項目 | 役割 | サンプル例 |
|---|---|---|
| 初期化式 | 最初に1度だけ実行される。 | int i = 0; |
| 条件式 | 繰り返し続ける条件 | i < 5 |
| 増分式 | 各繰り返しの終わりに実行 | i++ |
1.2. for文のサンプルプログラム
サンプルプログラム1:1から10までの合計を計算
プロジェクト/ファイル名: Lesson25_1/main.c
#include <stdio.h>
int main(void) {
int i, sum = 0;
for (i = 1; i <= 10; i++) {
sum += i;
}
printf("1から10までの合計は%dです。\n", sum);
return 0;
}実行結果
1から10までの合計は55です。このプログラムでは、「for (i = 1; i <= 10; i++)」の部分でiを1から10まで1ずつ増やしながら、sumに加算しています。
2.for文の応用
2.1. for文の二重ループ(ネスト)
for文の中にさらにfor文を入れることができます。これを二重ループといい、表や配列の操作などで多用されます。
サンプルプログラム2:九九の表を表示
プロジェクト/ファイル名: Lesson25_2/main.c
#include <stdio.h>
int main(void) {
int i, j;
for (i = 1; i <= 9; i++) {
for (j = 1; j <= 9; j++) {
printf("%2d ", i * j);
}
printf("\n");
}
return 0;
}実行結果
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 812.2. for文の省略と応用
for文では、初期化式・条件式・増分式のいずれかを省略することもできます。ただし、省略しすぎると可読性が低下するため注意しましょう。
サンプルプログラム3:無限ループ(breakで脱出)
プロジェクト/ファイル名: Lesson25_3/main.c
#include <stdio.h>
int main(void) {
int n;
for (;;) {
printf("正の整数を入力してください(0で終了):");
scanf("%d", &n);
if (n == 0) break;
printf("%dの2倍は%dです。\n", n, n * 2);
}
printf("終了します。\n");
return 0;
}実行結果
「SDLチェック」を「いいえ」にして、プログラムを実行します。
正の整数を入力してください(0で終了):3
3の2倍は6です。
正の整数を入力してください(0で終了):8
8の2倍は16です。
正の整数を入力してください(0で終了):0
終了します。まとめ
for文は、決まった回数の繰り返し処理や多重ループ、条件付きの処理など幅広く活用できます。
- 基本の書式と流れをしっかり理解しましょう。
- 二重ループやbreak文との組み合わせで応用力も高めましょう。
- 省略記法も存在しますが、可読性を考慮して使い分けることが大切です。
繰り返し処理を自在に使いこなすことで、プログラムの幅が大きく広がります。
