【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 81

2.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文との組み合わせで応用力も高めましょう。
  • 省略記法も存在しますが、可読性を考慮して使い分けることが大切です。

繰り返し処理を自在に使いこなすことで、プログラムの幅が大きく広がります。