カテゴリ: C++ 更新日: 2026/03/24

C++のbreak文を徹底解説!繰り返し処理を途中で終了させる方法

break文によるループの制御
break文によるループの制御

先生と生徒の会話形式で理解しよう

生徒

「C++で繰り返し処理を作ってみたんですが、ある条件になったらすぐにループを終わらせたい時はどうすればいいですか?」

先生

「そんな時は『break文』を使うと便利ですよ。条件に合った瞬間に、ループから脱出することができるんです。」

生徒

「無理やり終わらせる感じですか?難しくないでしょうか……。」

先生

「全然難しくありませんよ!日常的な例えを使いながら、基本的な使い方を一緒に学んでいきましょう!」

1. break文とは?その役割を知ろう

1. break文とは?その役割を知ろう
1. break文とは?その役割を知ろう

C++のプログラミングにおけるbreak文(ブレイクぶん)とは、実行中の繰り返し処理(ループ)をその場で強制的に終了させるための命令です。通常、ループは決められた回数や条件が終わるまで続きますが、break文を使うと「これ以上続ける必要がない」と判断した瞬間に、プログラムの流れをループの外側へ飛ばすことができます。

例えば、100回繰り返す予定の処理があっても、5回目で目的のデータが見つかったら残りの95回は無駄になりますよね。そんな時にbreak文を使えば、無駄な計算を省いてプログラムを高速化させることができます。SEO(検索エンジン最適化)の観点からも、効率的なコードを書くために必須の知識です。初心者のうちは「ループからの脱出ボタン」と覚えておきましょう。

2. パソコン未経験でもわかる!「脱出」の身近な例え

2. パソコン未経験でもわかる!「脱出」の身近な例え
2. パソコン未経験でもわかる!「脱出」の身近な例え

パソコンを触ったことがない方でもイメージしやすいように、日常生活で例えてみましょう。あなたが「10段積み重なった段ボールの中から、宝物が入っている箱を探す」という作業をしているとします。1段目から順番に開けていき、もし3段目で宝物を見つけたらどうしますか?

わざわざ残りの4段目から10段目まで開ける必要はありませんよね。宝物を見つけた瞬間に「作業終了!」と言ってその場を離れるはずです。この「作業終了!」と宣言して、予定されていた続きをキャンセルする動作こそが、プログラミングにおけるbreak文の動きそのものです。非常にシンプルで理にかなった仕組みだということが分かっていただけると思います。

3. for文でbreakを使ってみよう

3. for文でbreakを使ってみよう
3. for文でbreakを使ってみよう

まずは、回数が決まっている繰り返し処理であるfor文(フォーぶん)での具体的な使い方を見てみましょう。以下のプログラムは、本来なら1から10まで数字を表示しますが、数字が「3」になったらbreak文が発動して、ループを終了させるように作っています。プログラミングの基本である「条件分岐」と組み合わせて使うのが一般的です。


#include <iostream>

int main() {
    for (int i = 1; i <= 10; i++) {
        // もしiが3だったら、ループを強制終了する
        if (i == 3) {
            std::cout << "3が見つかったので、ここで終了します。" << std::endl;
            break; 
        }
        std::cout << "現在の数字: " << i << std::endl;
    }
    return 0;
}

実行結果は以下のようになります。


現在の数字: 1
現在の数字: 2
3が見つかったので、ここで終了します。

このように、10まで繰り返すはずの処理が、3の時点で止まっているのが確認できます。if文(イフぶん)は「もし~なら」という条件を作る命令で、ここでは「iが3と等しいなら」という条件になっています。プログラミング未経験の方は、このifbreakのセットをセットで覚えるのが上達への近道です。

4. while文を使った無限ループからの脱出

4. while文を使った無限ループからの脱出
4. while文を使った無限ループからの脱出

次に、条件が合っている間はずっと繰り返すwhile文(ワイルぶん)での例を紹介します。特に、いつ終わるか分からない処理(例えばユーザーが特定のボタンを押すまで待つなど)では、あえて「無限ループ」を作り、特定の条件が満たされたときにbreakで抜けるという手法がよく使われます。これはC++の開発現場でも非常によく見かけるパターンです。


#include <iostream>

int main() {
    int count = 0;
    
    // true(真)を指定すると、ずっと繰り返す「無限ループ」になります
    while (true) {
        count++;
        std::cout << count << "回目の繰り返しです。" << std::endl;
        
        // 5回目になったら脱出する
        if (count == 5) {
            std::cout << "5回に達したのでループを抜けます。" << std::endl;
            break;
        }
    }
    return 0;
}

出力結果を確認しましょう。


1回目の繰り返しです。
2回目の繰り返しです。
3回目の繰り返しです。
4回目の繰り返しです。
5回目の繰り返しです。
5回に達したのでループを抜けます。

「ずっと繰り返す」という設定になっていても、break文があるおかげで、適切なタイミングでプログラムを安全に終わらせることができています。パソコンの操作で言うところの「キャンセルボタン」をプログラムの中に組み込んでいるようなイメージですね。

5. 実践!特定の数字を探し出すプログラム

5. 実践!特定の数字を探し出すプログラム
5. 実践!特定の数字を探し出すプログラム

もう少し実践的な例を考えてみましょう。たくさんの数字が並んだリスト(配列)の中から、特定の数字を探し出すプログラムです。見つかった時点でそれ以降を探す必要はないため、breakを使って効率化します。ここでは「7」という数字を探すプログラムを作成します。プログラミング初心者の方が最初につまずきやすい「配列」という言葉が出てきますが、「数字が入った複数の箱」だと思ってください。


#include <iostream>

int main() {
    int data[] = {1, 4, 9, 7, 2, 5}; // 数字のリスト
    int target = 7; // 探したい数字

    for (int i = 0; i < 6; i++) {
        std::cout << data[i] << " を調べています..." << std::endl;
        
        if (data[i] == target) {
            std::cout << "ターゲットの " << target << " を発見しました!" << std::endl;
            break; // 発見したので、残りの「2」や「5」は調べずに終了
        }
    }
    return 0;
}

実行結果です。


1 を調べています...
4 を調べています...
9 を調べています...
7 を調べています...
ターゲットの 7 を発見しました!

リストの後半にある「2」や「5」の調査がスキップされていることが分かります。このようにbreak文は、コンピュータの無駄な働きを減らすための「賢い節約術」としても機能しているのです。

6. switch文とbreak文の密接な関係

6. switch文とbreak文の密接な関係
6. switch文とbreak文の密接な関係

繰り返し処理以外でも、break文が活躍する場所があります。それがswitch文(スイッチぶん)です。これは、変数の値によって処理をいくつもに枝分かれさせる構文です。実は、switch文では各ケースの最後にbreakを書かないと、次のケースの処理まで勝手に実行されてしまうという面白い(そして注意が必要な)ルールがあります。

これを「フォールスルー」と呼びますが、基本的には「一つの処理が終わったら外に出る」ためにbreakを置きます。これも一種の「脱出」の役割ですね。C++を学ぶ上で、このswitch文の中のbreakは書き忘れが非常に多いポイントなので、初心者の皆さんは意識して覚えておきましょう。


#include <iostream>

int main() {
    int mode = 2;

    switch (mode) {
        case 1:
            std::cout << "モード1を選択" << std::endl;
            break;
        case 2:
            std::cout << "モード2を選択" << std::endl;
            break; // これがないと次の「モード3」も表示されてしまいます
        case 3:
            std::cout << "モード3を選択" << std::endl;
            break;
    }
    return 0;
}

実行結果です。


モード2を選択

7. break文を使う際の注意点:二重ループの場合

7. break文を使う際の注意点:二重ループの場合
7. break文を使う際の注意点:二重ループの場合

最後に、少しだけ発展的なお話をします。ループの中にさらにループが入っている「二重ループ(多重ループ)」の状態でbreak文を使うとどうなるでしょうか?答えは、「今いる一番内側のループだけを抜ける」です。外側のループまで一気に抜けるわけではないので注意が必要です。

例えば、「3つのクラス」があり、各クラスに「10人の生徒」がいる状態でテストの点数を確認しているとします。あるクラスで合格者が見つかってbreakしても、それは「そのクラスの確認を終わらせる」だけで、次のクラスの確認は通常通り始まります。もし全部を終わらせたい場合は、もう一工夫必要になります。初心者のうちは、「breakは自分を包んでいる一番近いループの壁を壊して外に出るもの」とイメージしておくと間違えにくいですよ。

8. break文をマスターしてC++を楽しく学ぼう

8. break文をマスターしてC++を楽しく学ぼう
8. break文をマスターしてC++を楽しく学ぼう

ここまで、break文の基本的な使い方から注意点までを解説してきました。プログラムの流れを自分の思い通りに止めることができるようになると、作れるアプリの幅がぐっと広がります。最初は難しく感じるかもしれませんが、まずは今回紹介したサンプルコードを自分で書き写して動かしてみることから始めてみてください。

C++の制御構文には他にも便利なものがたくさんありますが、このbreak文は特に使用頻度が高い重要なパーツです。Google検索などで「C++ ループ 中断」や「C++ break 使い方」と調べてこの記事にたどり着いた皆さんが、少しでもプログラミングを楽しいと感じていただければ幸いです。一歩ずつ、着実にスキルアップしていきましょう!

カテゴリの一覧へ
新着記事
New1
C++
C++の関数の作り方を完全ガイド!初心者でもわかる基本構文と定義方法
New2
Rust
Rustのビット演算子とビット操作を徹底解説!低レイヤ開発への第一歩
New3
C言語
C言語の配列名はポインタ?暗黙の変換を初心者向けにわかりやすく解説
New4
C++
C++が今でも現役で使われる理由を徹底解説!長年愛されるプログラミング言語の魅力
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.2
Java&Spring記事人気No2
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.3
Java&Spring記事人気No3
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
No.4
Java&Spring記事人気No4
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.5
Java&Spring記事人気No5
C言語
LinuxでC言語開発環境を構築する方法【GCCとMakefileの基本】
No.6
Java&Spring記事人気No6
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.7
Java&Spring記事人気No7
C++
CMakeの基本構文とCMakeLists.txtを初心者向けに解説
No.8
Java&Spring記事人気No8
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】