
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文の基礎はしっかり身についています。
