C ++ switchステートメント
テストケースは、switch文は、複数の値に等しい変数を可能にします。 各値はケースと呼ばれ、変数をチェックするために、各スイッチケースを試験します。
文法
C ++構文でswitch文:
switch(expression){ case constant-expression : statement(s); break; // 可选的 case constant-expression : statement(s); break; // 可选的 // 您可以有任意数量的 case 语句 default : // 可选的 statement(s); }
switch文は、次の規則に従う必要があります
- switch文の式は、整数型または列挙型、または整数または列挙型に変換するための単一の変換機能を持つクラスクラス型でなければなりません。
- スイッチでは、case文の数に制限はありません。 各ケースは、コロンと比較する値が続いています。
- 定数式の場合は、同じデータ型を持つ変数を切り替え、それは定数またはリテラルでなければならない必要があります。
- テストされている変数は、case文に続いて、一定時間の場合、に等しい場合、それはbreakステートメントに遭遇するまで、実行されます。
- break文が検出されると、スイッチは、制御フローは、switch文の後に次の行にジャンプし終了します。
- 必ずしもすべての場合には休憩を含める必要があります。 case文は、ブレークが含まれていない場合、我々はそれがブレークアップに遭遇するまで、後続の例の流れを制御していきます。
- switch文は、オプションのデフォルトケースを持つことができ、それがスイッチの末尾に表示されます。デフォルトの場合は、上記の場合の全てにおいて使用することができるタスクを実行するときに真ではありません。 デフォルトのcase文の区切りは必要ありません。
フローチャート
例
#include <iostream> using namespace std; int main () { // 局部变量声明 char grade = 'D'; switch(grade) { case 'A' : cout << "很棒!" << endl; break; case 'B' : case 'C' : cout << "做得好" << endl; break; case 'D' : cout << "您通过了" << endl; break; case 'F' : cout << "最好再试一下" << endl; break; default : cout << "无效的成绩" << endl; } cout << "您的成绩是 " << grade << endl; return 0; }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
您通过了 您的成绩是 D