C Switch
Switch-Anweisung
Anstatt viele if..else
-Anweisungen zu schreiben, können Sie den switch
verwenden Stellungnahme.
Die switch
-Anweisung wählt einen von vielen auszuführenden Codeblöcken aus:
Syntax
switch(Ausdruck) {
case x:
// Codeblock
break;
case y:
// Codeblock
break;
default:
// Codeblock
}
So funktioniert es:
- Der
switch
-Ausdruck wird einmal ausgewertet - Der Wert des Ausdrucks wird mit den Werten jedes
case
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
default
-Anweisung ist optional und gibt Code an, der ausgeführt werden soll, wenn keine Übereinstimmung zwischen Groß- und Kleinschreibung vorliegt
Das folgende Beispiel verwendet die Wochentagsnummer, um den Wochentagsnamen zu berechnen:
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)
Try it Yourself »
Das Schlüsselwort break
Wenn C ein Schlüsselwort break
erreicht, bricht es aus dem Schalterblock aus.
Dadurch wird die Ausführung weiterer Code- und Falltests innerhalb des Blocks gestoppt.
Wenn eine Übereinstimmung gefunden wird und die Arbeit erledigt ist, ist es Zeit für eine Pause. Weitere Tests sind nicht erforderlich.
Eine Pause 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 einen Code an, der ausgeführt werden soll, wenn keine Übereinstimmung zwischen Groß- und Kleinschreibung vorliegt:
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"
Try it Yourself »
Hinweis: Das Standardschlüsselwort muss als letzte Anweisung im Schalter verwendet werden und erfordert keine Unterbrechung.