C instruction switch
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
C déclarationde changement de langue syntaxe:
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 <stdio.h> int main () { /* 局部变量定义 */ char grade = 'B'; switch(grade) { case 'A' : printf("很棒!\n" ); break; case 'B' : case 'C' : printf("做得好\n" ); break; case 'D' : printf("您通过了\n" ); break; case 'F' : printf("最好再试一下\n" ); break; default : printf("无效的成绩\n" ); } printf("您的成绩是 %c\n", grade ); return 0; }
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:
做得好 您的成绩是 B