【6日でできるC言語入門】continue文

 C言語でループ処理を行う際、「ある条件のときだけ残りの処理をスキップして、すぐ次の繰り返しに進みたい」という場面があります。
このときに活用できるのが continue(コンティニュー)文 です。continue文はbreak文のようにループ自体を終了させるのではなく、「現在のループの残りの処理を飛ばして次の繰り返しに進む」ために使います。
ここではcontinue文の使い方、動作、実践例、注意点などを解説します。

1.continue文の基本

1.1. continue文の動作

continue文は、for・while・do~whileなどの繰り返し構造の内部で使います。
continueに到達した時点で、その時のループ処理の残りをスキップし、次の繰り返しへ移動します。

構文例動作
for(…){…continue;}増分処理 → 条件判定 → ループ継続または終了
while(…){…continue;}条件判定 → ループ継続または終了

1.2. サンプルプログラム:特定の値だけスキップ

プロジェクト/ファイル名: Lesson30_1/main.c

#include <stdio.h>

int main(void) {
    int i;
    for (i = 1; i <= 5; i++) {
        if (i == 3) {
            continue; // 3のときはスキップ
        }
        printf("iの値: %d\n", i);
    }
    return 0;
}

実行結果

iの値: 1
iの値: 2
iの値: 4
iの値: 5

この例では「i==3」のときだけprintfが実行されず、3が表示されません。

2.while文・do~while文でのcontinue

2.1. while文での利用例

プロジェクト/ファイル名: Lesson30_2/main.c

#include <stdio.h>

int main(void) {
    int n = 0;
    while (n < 5) {
        n++;
        if (n == 2) {
            continue; // 2のときは残りをスキップ
        }
        printf("nの値: %d\n", n);
    }
    return 0;
}

実行結果

nの値: 1
nの値: 3
nの値: 4
nの値: 5

2のときだけprintfがスキップされています。

2.2. 実践例:偶数だけ表示する

プロジェクト/ファイル名: Lesson30_3/main.c

#include <stdio.h>

int main(void) {
    int i;
    for (i = 1; i <= 6; i++) {
        if (i % 2 == 1) {
            continue; // 奇数はスキップ
        }
        printf("%dは偶数です\n", i);
    }
    return 0;
}

実行結果

2は偶数です
4は偶数です
6は偶数です

3.continue文の注意点

  • continueの直後の処理はスキップされるため、増分や状態更新が正しく行われているかに注意しましょう。
  • 複雑な処理の中で多用すると、プログラムの可読性が下がることがあります。
項目注意点
for文でのcontinue増分処理はcontinue後にも必ず行われる。
while文でのcontinue増分処理をスキップしないように注意

まとめ

continue文は「条件によってその回の残り処理だけをスキップし、次の繰り返しに進む」ための制御文です。

  • break文と違い、ループ自体は継続される
  • 使い方を間違えると予期せぬ無限ループやバグの原因になることもある

正しい使い方と注意点を理解し、ループの流れをコントロールできるようになりましょう。