C言語基礎|break文とcontinue文

break文とcontinue文とは

繰り返し処理を書いていると、

  • 条件を満たしたら そこでループを終わらせたい
  • 条件に合わない場合は 今回の処理だけ飛ばしたい

という場面がよく出てきます。
そんなときに使うのが break文continue文 です。

どちらも while文 や for文 の中で使われる命令ですが、
処理の流れに与える影響はまったく異なります。

まずは全体像を、表で整理してみましょう。

break文とcontinue文の違い(全体像)

命令役割処理の流れ
breakループを即座に終了するループの外へ移動
continue今回の処理を中断する次の繰り返しへ進む

この違いを理解することが、
break文とcontinue文を正しく使い分ける第一歩です。

今回の例題(別のプログラムで考えてみよう)

次のような処理を考えてみます。

  • 整数値を次々と入力する。
  • 10以上の値だけを合計する。
  • -1が入力されたら処理を終了する。
  • 10未満の値は合計せず、次の入力へ進む
  • 最後に合計を表示する。

この条件を、break文とcontinue文を使って実装します。

サンプルプログラム

プロジェクト名:chap4-12-1 ソースファイル名:chap4-12-1.c

Visual Studio でこのプログラムを実行するには、SDLチェック設定を変更しておく必要があります。
1.プロジェクト名を右クリックして、「プロパティ」をクリックします。
2.「C/C++」→「全般」→「SDLチェック」を「いいえ」に切り替えて「OK」をクリックします。

// 10以上の数値のみを加算し、-1で終了する
#include <stdio.h>

int main(void)
{
    int total = 0;

    puts("数値を入力してください(終了は-1)。");

    while (1) {
        int value;

        printf("入力値:");
        scanf("%d", &value);

        if (value == -1)
            break;

        if (value < 10)
            continue;

        total += value;
    }

    printf("10以上の数値の合計は%dです。\n", total);

    return 0;
}

実行例

数値を入力してください(終了は-1)。
入力値:8
入力値:12
入力値:5
入力値:20
入力値:-1
10以上の数値の合計は32です。

break文の書式と役割

break文の書式

break;
break;

break文は何をする命令か

break文は、実行された瞬間にループを完全に終了する命令です。
while文やfor文の条件判定には戻らず、
ループの外にある次の処理へ移動します。

サンプルプログラムでの使われ方

if (value == -1)
    break;

ここでは、

  • -1 が入力されたら
  • それ以上入力を受け付けず
  • 合計結果の表示に進む

という動作をしています。

つまり break文は、
「もう繰り返す必要がない」と判断したときの出口として使われています。

continue文の書式と役割

continue文の書式

continue;

continue文は何をする命令か

continue文は、
その回の処理だけを中断し、次の繰り返しへ進む命令です。

ループ自体は終了せず、
次の条件判定(または次の繰り返し処理)に移ります。

サンプルプログラムでの使われ方

if (value < 10)
    continue;

この条件に当てはまるのは、10未満の値です。

  • 10未満なら合計処理を行わず
  • すぐ次の入力へ進む

という流れになります。

continue文を使うことで、
処理対象外の条件を簡潔に表現できるのが大きな特徴です。


breakとcontinueの動き(イメージ)

命令図のイメージ
breakループの途中から外へ矢印が伸びる。
continueループの先頭へ戻る矢印が伸びる。

breakは「ループ脱出」、
continueは「今回だけスキップ」
と覚えると混乱しにくくなります。

break文とcontinue文を使うメリット

この2つの命令を使うことで、

  • 条件分岐の入れ子が減る。
  • 処理の意図が読み取りやすくなる。
  • 実務向けのコードに近づく。

といったメリットがあります。

特に continue文は、
「この条件では何もしない」という意図を
短く、はっきり書ける点が魅力です。

まとめとして覚えておきたいポイント

  • break文は ループそのものを終了する。
  • continue文は その回の処理だけを中断する。
  • どちらも繰り返し処理の流れを整理するための命令
  • 使い分けることでコードがすっきり読みやすくなる。

ここまで理解できれば、
break文とcontinue文の基礎はしっかり身についています。