【C言語】繰り返し処理の基本【for文, while文, do-while文, break, continue】

【C言語】繰り返し処理の基本【for文, while文, do-while文, break, continue】

繰り返し処理とは

プログラムにおいて、同じ処理を繰り返し実行したい場合に使用されるのが繰り返し処理(ループ)です。C言語には以下の3種類のループが存在します。

  • for文
  • while文
  • do-while文

for文

for文は、ループの開始、継続条件、更新処理を一行で記述できるループ構造です。

基本構文

for (初期化; 条件; 更新) {
    // 繰り返し実行する処理
}

例: 1から10までの数値を表示

#include <stdio.h>

int main() {
    for (int i = 1; i <= 10; i++) {
        printf("%d\n", i);
    }
    return 0;
}

例: 配列の要素を順番に表示

#include <stdio.h>

int main() {
    int arr[] = {10, 20, 30, 40, 50};
    int length = sizeof(arr) / sizeof(arr[0]);

    for (int i = 0; i < length; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}

while文

while文は、指定した条件が真である限り、繰り返し処理を実行します。

基本構文

while (条件) {
    // 繰り返し実行する処理
}

例: 1から10までの数値を表示

#include <stdio.h>

int main() {
    int i = 1;
    while (i <= 10) {
        printf("%d\n", i);
        i++;
    }
    return 0;
}

do-while文

do-while文は、ループの処理を少なくとも一度は実行する特徴があります。

基本構文

do {
    // 繰り返し実行する処理
} while (条件);

例: 1から10までの数値を表示

#include <stdio.h>

int main() {
    int i = 1;
    do {
        printf("%d\n", i);
        i++;
    } while (i <= 10);
    return 0;
}

breakとcontinue

ループの制御にはbreakcontinueが使えます。

break: ループの強制終了

#include <stdio.h>

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

continue: ループの次回実行へスキップ

#include <stdio.h>

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

ネストされたループ

ループの中にループを含めることができます。

例: 九九の表

#include <stdio.h>

int main() {
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= 9; j++) {
            printf("%d×%d=%d\t", i, j, i * j);
        }
        printf("\n");
    }
    return 0;
}

無限ループ

ループが永遠に終わらない状態を無限ループと呼びます。

例: 無限ループ (意図的な終了なし)

#include <stdio.h>

int main() {
    while (1) {
        printf("無限ループ\n");
    }
    return 0;
}

例: breakを使った無限ループの終了

#include <stdio.h>

int main() {
    int count = 0;
    while (1) {
        printf("%d\n", count);
        count++;
        if (count == 10) {
            break;
        }
    }
    return 0;
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です