L'instruction switch de C
Cas de test d' une instructionswitch permet une variable égale à la valeur multiple.Chaque valeur est appelée un cas, et la variable sera testé chaquecas de commutation à vérifier.
grammaire
instructionSwitch dans la syntaxe C ++:
switch(expression){ case constant-expression : statement(s); break; // 可选的 case constant-expression : statement(s); break; // 可选的 // 您可以有任意数量的 case 语句 default : // 可选的 statement(s); }
instructionswitch doit suivre les règles suivantes :
- commutateur déclaration expressiondoit être un type entier ou une énumération, ou un type de classe, qui classe a une fonction de conversion simple pour le convertir en un type entier ou énumération.
- Dans un commutateur, vous pouvez avoir un certain nombre de déclarations de cas. Chaque cas est suivie d'une valeur à comparer avec un colon.
- cas deconstante expression doit avoir le même type de données et passer des variables, et il doit être une constante ou littéral.
- Lorsque la variable testée est égale au cas de constante de temps, suivie d'une déclaration de cas sera exécuté, jusqu'à ce qu'il rencontre une instructionbreak.
- Quand une instructionbreak est rencontrée, l' interrupteur se termine le flux de contrôle passe à la ligne suivante après l'instruction switch.
- Pas tous les cas doit inclurepause.Si la déclaration de cas ne contient pas unepause, nous allonscontinuerà contrôler l'écoulement de l'affaire ultérieure, jusqu'à ce qu'il rencontre une rupture.
- Une instructionswitch peut avoir un cas de défautenoption,il apparaît à la fin de l'interrupteur. cas par défaut peut être utilisé dans tous les cas ci-dessus est pas vrai lors de l'exécution d'une tâche. Larupture dans la déclaration de cas par défaut est pas nécessaire.
Diagramme
Exemples
#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; }
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:
您通过了 您的成绩是 D