【C言語】for文の使い方【繰り返し処理】

C言語

この記事では、C言語のfor文の使い方について解説します。for文を使うことで繰り返し処理することができます。

for文の使い方

for文は以下のように記述します。

for(初期化式; 条件式; 変化式){
    // 繰り返す処理
}

初期化式

for文の条件式に使用する変数を宣言・初期化する。外部で宣言した変数を初期化することもできます。

条件式

この条件式がtrueの間、ブロック内の処理を繰り返し行います。

変化式

一度の処理が終わるたびに実行される式です。条件式で使用している変数の値を変化させるために使用します。

サンプル

以下のコードでは、int iを0で初期化し、i < 3の間だけ繰り返し処理するfor文です。繰り返し処理されるたびにiをインクリメントします。そして、iが3になった時にループが終了します。

#include <stdio.h>
 
int main(void) {

    for(int i = 0; i < 3; i++){
        printf("%d\n", i);
    }
}

実行結果

0
1
2

処理をスキップする[continue]

continue句が処理されると、次のループにスキップされます。以下のコードでは、iが1の時にcontinue句が処理されます。

#include <stdio.h>
 
int main(void) {

    for(int i = 0; i < 3; i++){
        if(i == 1)continue;
        printf("%d\n", i);
    }
}

実行結果

0
2

ループを抜ける[break]

break句が処理されると、ループ処理を抜け出します。以下のコードでは、iが1の時にbreak句が処理されます。

#include <stdio.h>
 
int main(void) {

    for(int i = 0; i < 3; i++){
        if(i == 1)break;
        printf("%d\n", i);
    }
}

実行結果

0

多重ループ

for文ブロック内で、さらにfor文を記述することで多重にループさせることができます。

#include <stdio.h>
 
int main(void) {

    for(int i = 0; i < 3; i++){
        for(int j = 0; j < 3; j++){
            printf("i: %d, j: %d\n", i, j);
        }
    }
}

実行結果

i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 1, j: 0
i: 1, j: 1
i: 1, j: 2
i: 2, j: 0
i: 2, j: 1
i: 2, j: 2

for文はいくつでも重ねることができますが、あまりに重ねると可読性が下がってしまいます。なので、三重ループくらいまでにとどめておきましょう。

無限ループ

以下のように記述することで、for文を使って無限ループさせることができます。

for(;;){
    // 繰り返す処理
}

このままでは、無限にループしてしまうので、break句を使って途中で処理を抜けれるようにします。例えば以下のコードでは、-1が入力されるまで無限にループします。

#include <stdio.h>
 
int main(void) {

    int num;

    for(;;){
        printf("整数: ");
        // 整数を受け取る
        scanf("%d", &num);
        // -1が入力された際にループを抜け出す
        if(num == -1)break;

        printf("「%d」が入力されました\n", num);
    }
}

実行結果

整数: 1
「1」が入力されました
整数: 2
「2」が入力されました
整数: -1

for文 × 配列

配列はfor文と組み合わせて使うことで、とても強力に扱うことができます。以下のコードでは、for文を使って配列に格納されている要素を全て出力しています。

#include <stdio.h>
 
int main(void) {
    int nums[] = {1, 2, 3};
    // 配列の要素数
    int len = sizeof(nums) / sizeof(nums[0]);

    for(int i = 0; i < len; i++){
        printf("%d\n", nums[i]);
    }
}

実行結果

1
2
3

まとめ

この記事では、C言語のfor文について解説しました。for文を使うことで任意の回数だけ繰り返し処理を行うことができます。また、配列と組み合わせて使うことで、より強力に扱うことができます。

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

タイトルとURLをコピーしました