C言語では、for文やwhile文などのループ処理の途中で、
処理の流れを変えたい場面があります。
そのときに使うのが、
- break
- continue
です。
一見似ていますが、動きはまったく違うのでしっかり理解しておきましょう。
breakとcontinueとは
- break:ループを終了する
- continue:その回の処理をスキップして次へ進む
エンジニアくんbreakとcontinueって似てない?



途中で止めるやつですよね?



breakは“完全に終了”、continueは“その回だけスキップ”だよ



なるほど、全然違いますね!
C言語文法解説シリーズ
本記事は「C言語文法解説シリーズ」の1つです。
C言語の文法を、組み込み開発の視点も交えて解説しています。
C言語文法解説シリーズ一覧はこちら


ループ処理
breakとcontinueはループ処理で使われます。
C言語のループ処理にはfor、while、do-whileがあり、詳細はこちらの記事で解説しています。






goto文でもループ処理は可能ですが、現在はあまり使われません。


breakとは
breakは、ループを途中で終了するための文です。
基本例
for (int i = 0; i < 10; i++) {
if (i == 5)
break;
printf("%d\n", i);
}実行結果
0
1
2
3
4⭐ 1ループごとの動き(break)
i = 0〜4
- 条件OK → 実行される
i = 5
- if (i == 5) → true
👉 break発動 → ループ終了
💡 ポイント
- breakが実行された瞬間にループを抜ける
- それ以降の処理は一切実行されない
continueとは
continueは、その回の処理だけスキップする文です。
基本例
for (int i = 0; i < 5; i++) {
if (i == 2)
continue;
printf("%d\n", i);
}実行結果
0
1
3
4⭐ 1ループごとの動き(continue)
i = 0,1
- 通常実行
i = 2
- continue発動
👉 printfがスキップされる
👉 そのまま次のループへ
💡 ポイント
- ループ自体は終わらない
- 「その回だけ処理を飛ばす」
🎯 breakとcontinueの違い(重要)
| break | continue | |
|---|---|---|
| 動き | ループ終了 | 次のループへ |
| 処理 | 完全停止 | 一部スキップ |
| よく使う場面 | 条件成立で終了 | 特定条件を無視 |
⚠️ よくある勘違い
👉 continueは「途中終了」ではない
for (int i = 0; i < 5; i++) {
if (i == 2)
continue;
printf("%d\n", i);
}👉 i=2のときだけスキップされるだけ
🔥 while文での動き(ここ重要)
break
int i = 0;
while (1) {
if (i == 3)
break;
printf("%d\n", i);
i++;
}👉 条件でループ終了
continue(注意)
int i = 0;
while (i < 5)
{
i++;
if (i == 3)
continue;
printf("%d\n", i);
}👉 continueするとそのまま条件へ戻る
⚠️ よくあるミス(実務でも多い)
無限ループになるパターン
int i = 0;
while (i < 5) {
if (i == 2)
continue;
i++;
}👉 iが2で止まる → 無限ループ
まとめ
- breakはループを終了する
- continueはその回だけスキップする
- whileでは特に無限ループに注意
- 使い分けができるとコードが分かりやすくなる
この記事が参考になった方へ
制御構文を含むC言語の基本文法をこちらの記事で整理しています。


技術に関するご相談・開発・自動化ツール作成・記事執筆などのご依頼も承っています。
小さなご相談からでもお気軽にご連絡ください。









コメント