Latest web development tutorials

C instruction switch

Analyse C Analyse 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

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

C instruction switch

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

Analyse C Analyse C