breakとcontinueの違いとは?C言語のループ制御を初心者でもわかりやすく解説

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は、ループを途中で終了するための文です。


基本例

C
for (int i = 0; i < 10; i++) {
    if (i == 5)
        break;

    printf("%d\n", i);
}

実行結果

C
0
1
2
3
4

⭐ 1ループごとの動き(break)

i = 0〜4

  • 条件OK → 実行される

i = 5

  • if (i == 5) → true
    👉 break発動 → ループ終了

💡 ポイント

  • breakが実行された瞬間にループを抜ける
  • それ以降の処理は一切実行されない

continueとは

continueは、その回の処理だけスキップする文です。


基本例

C
for (int i = 0; i < 5; i++) {
    if (i == 2)
        continue;

    printf("%d\n", i);
}

実行結果

C
0
1
3
4

⭐ 1ループごとの動き(continue)

i = 0,1

  • 通常実行

i = 2

  • continue発動
    👉 printfがスキップされる
    👉 そのまま次のループへ

💡 ポイント

  • ループ自体は終わらない
  • 「その回だけ処理を飛ばす」

🎯 breakとcontinueの違い(重要)

breakcontinue
動きループ終了次のループへ
処理完全停止一部スキップ
よく使う場面条件成立で終了特定条件を無視

⚠️ よくある勘違い

👉 continueは「途中終了」ではない

C
for (int i = 0; i < 5; i++) {
    if (i == 2)
        continue;

    printf("%d\n", i);
}

👉 i=2のときだけスキップされるだけ


🔥 while文での動き(ここ重要)

break

C
int i = 0;

while (1) {
    if (i == 3)
        break;

    printf("%d\n", i);
    i++;
}

👉 条件でループ終了


continue(注意)

C
int i = 0;

while (i < 5)
{
    i++;

    if (i == 3)
        continue;

    printf("%d\n", i);
}

👉 continueするとそのまま条件へ戻る


⚠️ よくあるミス(実務でも多い)

無限ループになるパターン

C
int i = 0;

while (i < 5) {
    if (i == 2)
        continue;

    i++;
}

👉 iが2で止まる → 無限ループ


まとめ

  • breakはループを終了する
  • continueはその回だけスキップする
  • whileでは特に無限ループに注意
  • 使い分けができるとコードが分かりやすくなる

この記事が参考になった方へ

制御構文を含むC言語の基本文法をこちらの記事で整理しています。

技術に関するご相談・開発・自動化ツール作成・記事執筆などのご依頼も承っています。

小さなご相談からでもお気軽にご連絡ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

組み込みソフトエンジニアとして働きながら、
C言語・メモリ・ポインタなどの基礎から実務まで解説しています。

副業・キャリアについても実体験ベースで発信中です。

X(旧Twitter)でも発信しています
👉 Xはこちら

▼まずはここから読むのがおすすめ
C言語文法シリーズ
メモリ領域解説シリーズ

コメント

コメントする


目次