Latest web development tutorials

C switch-Anweisung

Analyse C Analyse C

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

C - Spracheswitch - Anweisung 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

C switch-Anweisung

Beispiele

#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;
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

做得好
您的成绩是 B

Analyse C Analyse C