C++ switch-case文完全ガイド:構文、フロー、実践的な計算機例
C++ switch-case 文をマスターする
C++の switch 文を、明確な構文、ステップバイステップのワークフロー、実用的な計算機例で実践的に解説します。
switch 文は、式の値に基づいて多数の選択肢から単一のブロックを実行する、簡潔な制御フローツールです。
C++の switch 文の構文は:
switch (expression) {
case constant1:
// expression が constant1 と等しい場合のコード
break;
case constant2:
// expression が constant2 と等しい場合のコード
break;
...
default:
// expression がどの定数とも一致しない場合のコード
}
switch 文の仕組み
expression は1回評価され、各 case ラベルと比較されます。
- 一致すれば、そのラベルに続くコードが
breakに達するまで実行される - 一致しなければ
defaultブロックが実行される
if…else if ラダーでも同じ結果を得られますが、switch 構文の方がよりクリーンで読みやすいです。switch 文のフローチャート

実例: switch を使ったシンプルな計算機
#include <iostream>
using namespace std;
int main() {
char oper;
float num1, num2;
cout << "Enter an operator (+, -, *, /): ";
cin >> oper;
cout << "Enter two numbers: " << endl;
cin >> num1 >> num2;
switch (oper) {
case '+':
cout << num1 << " + " << num2 << " = " << num1 + num2;
break;
case '-':
cout << num1 << " - " << num2 << " = " << num1 - num2;
break;
case '*':
cout << num1 << " * " << num2 << " = " << num1 * num2;
break;
case '/':
cout << num1 << " / " << num2 << " = " << num1 / num2;
break;
default:
cout << "Error! The operator is not correct";
break;
}
return 0;
}
出力 1
Enter an operator (+, -, *, /): + Enter two numbers: 2.3 4.5 2.3 + 4.5 = 6.8
出力 2
Enter an operator (+, -, *, /): - Enter two numbers: 2.3 4.5 2.3 - 4.5 = -2.2
出力 3
Enter an operator (+, -, *, /): * Enter two numbers: 2.3 4.5 2.3 * 4.5 = 10.35
出力 4
Enter an operator (+, -, *, /): / Enter two numbers: 2.3 4.5 2.3 / 4.5 = 0.511111
出力 5
Enter an operator (+, -, *, /): ? Enter two numbers: 2.3 4.5 Error! The operator is not correct.
このプログラムでは、switch…case 構造がユーザーの選択に基づき、加算、減算、乗算、除算へフローを誘導します。
このプログラムの仕組み
- 希望する演算子を入力させ、
char operに格納 - 2つの数値を要求し、
float num1とfloat num2に格納 switchでoperを評価:+– 加算実行-– 減算実行*– 乗算実行/– 除算実行- その他の文字は
defaultケースへ、エラー表示
各ケース後の break 文が switch ブロックを終了させます。これを省略すると「フォールスルー」が発生し、意図せず後続ケースが実行されます。
C言語
- C# switch 文をマスターする:構文、例、ベストプラクティス
- C# break 文:使い方とタイミングを徹底解説
- C# continue 文をマスターする:ループ反復を効果的にスキップする方法
- C++型変換完全ガイド:暗黙・明示変換とキャスト技法
- C++演算子完全ガイド:算術・代入・関係・論理・ビット演算子と実例
- C++コメント完全ガイド:読みやすく保守しやすいコードのためのベストプラクティス
- C++条件分岐完全ガイド:if、if-else、ネストされたif-elseの仕組みと実例
- C++ break文完全ガイド:ループ脱出の仕組みと実例
- C++ continue文完全ガイド:ループ制御の実例とベストプラクティス
- C++関数完全ガイド:基礎から応用まで(ユーザー定義・標準ライブラリ)
- C++ switch文をマスター:構文、使い方、実践例