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
を使うことで、プログラムの処理の流れを柔軟に制御できるようになります。