switch … case …

0

Switch Anweisung

Anstatt viele if..else-Anweisungen zu schreiben, können Sie die switch Anweisung verwenden.

Die Switch Anweisung wählt einen von mehreren Codeblöcken zur Ausführung aus:

Syntax

switch (expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

So funktioniert es:

  • Der Switch Ausdruck wird einmal ausgewertet
  • Der Wert des Ausdrucks wird mit den Werten jedes Falls verglichen
  • Bei einer Übereinstimmung wird der zugehörige Codeblock ausgeführt
  • Die Break-Anweisung bricht aus dem Switch-Block aus und stoppt die Ausführung
  • Die Standardanweisung ist optional und gibt Code an, der ausgeführt werden soll, wenn keine Übereinstimmung vorliegt

Im folgenden Beispiel wird aus der Wochentagsnummer der Wochentagsname berechnet:

Beispiel

int day = 4;

switch (day) {
  case 1:
    printf("Monday");
    break;
  case 2:
    printf("Tuesday");
    break;
  case 3:
    printf("Wednesday");
    break;
  case 4:
    printf("Thursday");
    break;
  case 5:
    printf("Friday");
    break;
  case 6:
    printf("Saturday");
    break;
  case 7:
    printf("Sunday");
    break;
}

// Outputs "Thursday" (day 4)

Das Schlüsselwort „break“

Wenn C ein Break Schlüsselwort erreicht, bricht es aus dem Switch-Block aus.

Dadurch wird die Ausführung weiteren Codes und die Fallprüfung innerhalb des Blocks gestoppt.

Wenn eine Übereinstimmung gefunden wurde und die Arbeit erledigt ist, ist es Zeit für eine Pause. Weitere Tests sind nicht erforderlich.

Eine Unterbrechung kann viel Ausführungszeit sparen, da sie die Ausführung des gesamten restlichen Codes im Switch-Block „ignoriert“.

Das Standardschlüsselwort

Das Schlüsselwort „default“ gibt Code an, der ausgeführt werden soll, wenn keine Groß-/Kleinschreibung übereinstimmt:

Beispiel

int day = 4;

switch (day) {
  case 6:
    printf("Today is Saturday");
    break;
  case 7:
    printf("Today is Sunday");
    break;
  default:
    printf("Looking forward to the Weekend");
}

// Outputs "Looking forward to the Weekend"

Hinweis: Das Schlüsselwort „default“ muss als letzte Anweisung im Switch verwendet werden und benötigt keinen Umbruch.

Nach oben scrollen