C ++ switch-Anweisung
Testfall eineswitch - Anweisung ermöglicht eine Variable gleich dem mehrfachen Wert.Jeder Wert ist ein Fall genannt, und die Variable wird jedesSchaltergehäuse getestet werden überprüft werden.
Grammatik
Switch - Anweisung in C ++ Syntax:
switch(expression){ case constant-expression : statement(s); break; // 可选的 case constant-expression : statement(s); break; // 可选的 // 您可以有任意数量的 case 语句 default : // 可选的 statement(s); }
switch - Anweisung müssen diese Regeln befolgen:
- switch - Anweisung Ausdruckmuss eine ganze Zahl oder Aufzählungstyp oder eine Klasse - Typ sein, die Klasse je eine Umwandlungsfunktion hat es auf eine ganze Zahl oder Aufzählungstyp zu konvertieren.
- In einem Schalter können Sie eine beliebige Anzahl von Case-Anweisungen haben. Jeder Fall wird gefolgt von einem Wert mit einem Doppelpunkt zu vergleichen.
- Beikonstanter Ausdruck muss den gleichen Datentyp haben und Variablen zu wechseln, und es muss eine Konstante oder wörtliche sein.
- Wenn die Variable getestet auf den Fall konstanter Zeit gleich ist, wird von einem Fall Anweisung folgt ausgeführt werden, bis er einebreak - Anweisung trifft.
- Wenn einebreak - Anweisung angetroffen wird, endet Schalter der Steuerfluss in die nächste Zeile springt nach der switch - Anweisung.
- Nicht muss jeder FallBruch einzubeziehen.Wenn der Fall Aussage keinenBruch enthält, werden wir den Fluss des nachfolgenden Fall zu kontrollieren, bis er eine Pause bis begegnet.
- Eineswitch - Anweisung ein optionales Standardfallhabenkann,wird es am Ende des Schalters. Standardfall kann in allen oben genannten Fall verwendet werden, ist nicht der Fall, wenn eine Aufgabe ausführt. DerBruch in der Standard - case - Anweisung ist nicht erforderlich.
Flussdiagramm
Beispiele
#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; }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
您通过了 您的成绩是 D