C++には、プログラムの流れを途中で変更したい場面で使える便利な制御文が用意されています。特に**break文とswitch文**は、ループや条件分岐をより柔軟に扱うために欠かせません。
本記事では、for文とswitch文におけるbreak文の役割と使い方を、サンプルコードとともに丁寧に解説いたします。
目次
サンプル1:for文+break文でループを中断する
以下は、for文で繰り返し処理を行い、指定されたタイミングでループを中止する例です。
#include <iostream>
using namespace std;
int main()
{
int stopAt;
cout << "何回目で処理を中止しますか?(1~10)" << endl;
cin >> stopAt;
for (int step = 1; step <= 10; step++) {
cout << step << "回目の処理です。" << endl;
if (step == stopAt) {
break;
}
}
return 0;
}
解説
- ユーザーが入力した回数と一致した時点で
break文が実行され、for文のループから即座に抜けます。 - それ以降の繰り返し処理は行われません。
サンプル2:switch文で条件に応じた処理を分岐する
続いて、switch文を使って、入力された数値に応じたメッセージを表示する例です。
#include <iostream>
using namespace std;
int main()
{
int grade;
cout << "評価を入力してください。(1~5)" << endl;
cin >> grade;
switch (grade) {
case 1:
case 2:
cout << "さらなる努力が必要です。" << endl;
break;
case 3:
case 4:
cout << "順調に進んでいますね。" << endl;
break;
case 5:
cout << "とても素晴らしい成果です。" << endl;
break;
default:
cout << "1~5の範囲で評価を入力してください。" << endl;
break;
}
return 0;
}
解説
switch文は、数値に応じて処理を分ける構文です。break文がないと、次のcaseに処理が流れてしまう(フォールスルー)ため、それぞれのcaseの末尾にはbreakが必要です。defaultは、どのcaseにも該当しなかった場合の処理として使います。
break文の役割と注意点
| 用途 | 説明 |
|---|---|
| ループ中断 | for文やwhile文を途中で終了させる |
| switch文 | caseごとの処理を区切るために使用 |
| 注意点 | breakを忘れると意図しない処理が続いてしまう |
switch文とif文の違い
| 比較項目 | switch文 | if文 |
|---|---|---|
| 比較対象 | 整数や文字などの固定値 | 条件式すべて(範囲、論理式など) |
| 書き方の簡潔さ | caseごとに明確に分岐 | 複雑な条件には適している |
| 拡張性 | 多数の選択肢を扱うのに適する | 柔軟な条件分岐が可能 |
まとめ
break文は、ループやswitch文の中で処理を中断するために使います。for文では、条件に合致した時点でループを抜ける処理が可能です。switch文では、breakを用いることでcaseごとの明確な区切りを実現できます。- 正しく
breakを使うことで、プログラムの処理の流れを柔軟に制御できるようになります。
