Die Switch-Case-Anweisung wertet einen bestimmten Ausdruck aus und führt basierend auf dem ausgewerteten Wert (der einer bestimmten Bedingung entspricht) die damit verbundenen Anweisungen aus. Grundsätzlich wird es verwendet, um unterschiedliche Aktionen basierend auf unterschiedlichen Bedingungen (Fällen) auszuführen.
- Switch-Case-Anweisungen folgen einem Auswahlkontrollmechanismus und ermöglichen, dass ein Wert die Ausführungssteuerung ändert.
- Sie sind ein Ersatz für lange if-Anweisungen die eine Variable mit mehreren ganzzahligen Werten vergleichen.
- Die Switch-Anweisung ist eine Multiway-Branch-Anweisung. Es bietet eine einfache Möglichkeit, die Ausführung basierend auf dem Wert des Ausdrucks an verschiedene Teile des Codes zu verteilen.
In C wird die Switch-Case-Anweisung zum Ausführen einer Bedingung aus mehreren Bedingungen verwendet. Es ähnelt einer Wenn-sonst-Wenn-Leiter.
Mission Impossible alle Filme
Die Switch-Anweisung besteht aus bedingten Fällen und einem Standardfall.
Syntax der switch-Anweisung in C
switch(expression) { case value1 : statement_1; break; case value2 : statement_2; break; . . . case value_n : statement_n; break; default: default_statement; }>Wie verwende ich die Switch-Case-Anweisung in C?
Bevor wir den Switch-Fall in unserem Programm verwenden, müssen wir einige Regeln der Switch-Anweisung kennen.
Regeln der Switch-Case-Anweisung
Im Folgenden sind einige der Regeln aufgeführt, die wir bei der Verwendung der switch-Anweisung befolgen müssen:
- In einer switch-Anweisung wird die Fallwert muss von sein verkohlen Und int Typ.
- Es kann einen oder N Fälle geben.
- Die Werte im Fall müssen sein einzigartig .
- Jede Anweisung des Falls kann eine break-Anweisung haben. Es ist optional.
- Die Standardanweisung ist ebenfalls optional.
Beispiel
C // C program to Demonstrate returning of day based numeric // value #include int main() { // switch variable int var = 1; // switch statement switch (var) { case 1: printf('Case 1 is Matched.'); break; case 2: printf('Case 2 is Matched.'); break; case 3: printf('Case 3 is Matched.'); break; default: printf('Default case is Matched.'); break; } return 0; }> Ausgabe
Case 1 is Matched.>
Wie funktioniert die Switch-Anweisung?
Die Funktionsweise der switch-Anweisung in C ist wie folgt:
- Schritt 1: Die Schaltvariable wird ausgewertet.
- Schritt 2: Der ausgewertete Wert wird mit allen vorliegenden Fällen abgeglichen.
- Schritt 3A: Wird der passende Case-Wert gefunden, wird der zugehörige Code ausgeführt.
- Schritt 3B: Wenn der passende Code nicht gefunden wird, wird der Standardfall ausgeführt, sofern vorhanden.
- Schritt 4A: Wenn das Schlüsselwort break in diesem Fall vorhanden ist, bricht die Programmsteuerung die switch-Anweisung ab.
- Schritt 4B: Wenn das Schlüsselwort break nicht vorhanden ist, werden alle Fälle nach dem passenden Fall ausgeführt.
- Schritt 5: Anweisungen nach der switch-Anweisung werden ausgeführt.
Anhand des Flussdiagramms können wir auch die Funktionsweise der switch-Anweisung in C verstehen.
Flussdiagramm der Switch-Anweisung

Flussdiagramm der Switch-Anweisung in C
Einbruch im Schaltergehäuse
Dieses Schlüsselwort wird verwendet, um die Ausführung innerhalb eines Switch-Blocks zu stoppen. Es hilft, die Schalterblockade zu beenden und aus ihr auszubrechen. Wenn eine break-Anweisung erreicht wird, wird der Schalter beendet und der Kontrollfluss springt zur nächsten Zeile nach der switch-Anweisung.
Der Die break-Anweisung ist optional . Wenn es weggelassen wird, wird die Ausführung mit dem nächsten Fall fortgesetzt. Der Kontrollfluss wird auf nachfolgende Fälle übertragen, bis eine Unterbrechung erreicht wird.
Beispiel eines Schaltergehäuses ohne Unterbrechung
C // C Program to demonstrate the behaviour of switch case // without break #include int main() { int var = 2; // switch case without break switch (var) { case 1: printf('Case 1 is executed.
'); case 2: printf('Case 2 is executed.
'); case 3: printf('Case 3 is executed.'); case 4: printf('Case 4 is executed.'); } return 0; }> Ausgabe
Case 2 is executed. Case 3 is executed.Case 4 is executed.>
Standard im Schaltergehäuse
Das Standardschlüsselwort wird verwendet, um die Menge anzugeben Anweisungen, die ausgeführt werden sollen, wenn keine Übereinstimmung zwischen Groß- und Kleinschreibung vorliegt .
Es ist Optional um das Standardschlüsselwort in einem Switch-Fall zu verwenden. Auch wenn die Switch-Case-Anweisung keine Standardanweisung hat, würde sie problemlos ausgeführt werden.
Wichtige Punkte zu Switch-Case-Anweisungen
1. Der Switch-Ausdruck sollte zu a führen konstanter Wert
Wenn der in der switch-Anweisung bereitgestellte Ausdruck nicht zu einem konstanten Wert führt, wäre er ungültig. Einige gültige Ausdrücke für die Groß-/Kleinschreibung sind:
Trennzeichen setzen Java
// Constant expressions allowed switch(1+2+23) switch(1*2+3%4) // Variable expression are allowed provided // they are assigned with fixed values switch(a*b+c*d) switch(a+b+c)>
2. Der Ausdruckswert sollte nur vom Typ int oder char sein.
Die Switch-Anweisung kann nur den Ganzzahl- oder Zeichenwert auswerten. Daher sollte der Schalterausdruck nur die Werte vom Typ int oder char zurückgeben.
3. Fallwerte müssen eindeutig sein
In der C-Switch-Anweisung sind doppelte Fallwerte nicht zulässig.
3. Verschachtelung von switch-Anweisungen
Das Verschachteln von Switch-Anweisungen ist zulässig , was bedeutet, dass Sie switch-Anweisungen in einem anderen Switch haben können. Allerdings sollten verschachtelte Switch-Anweisungen vermieden werden, da sie das Programm komplexer und weniger lesbar machen.
4. Der Standardblock kann an einer beliebigen Stelle platziert werden
Unabhängig von seiner Platzierung wird der Standardfall nur ausgeführt, wenn keine der anderen Fallbedingungen erfüllt ist. Wenn man es also am Anfang, in der Mitte oder am Ende platziert, ändert sich nichts an der Kernlogik.
Beispiele für switch-Anweisungen in C
Beispiel 1: C-Programm zum Drucken des Wochentags mithilfe eines Schaltergehäuses.
C // C program to print the day using switch #include // Driver Code int main() { int day = 2; printf('The day with number %d is ', day); 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; default: printf('Invalid Input'); break; } return 0; }> Ausgabe
The day with number 2 is Tuesday>
Beispiel 2: Einfacher Rechner mit Switch-Case in C
C // C Program to create a simple calculator using switch // statement #include #include // driver code int main() { // switch variable char choice; // operands int x, y; while (1) { printf('Enter the Operator (+,-,*,/)
Enter x to ' 'exit
'); scanf(' %c', &choice); // for exit if (choice == 'x') { exit(0); } printf('Enter the two numbers: '); scanf('%d %d', &x, &y); // switch case with operation for each operator switch (choice) { case '+': printf('%d + %d = %d
', x, y, x + y); break; case '-': printf('%d - %d = %d
', x, y, x - y); break; case '*': printf('%d * %d = %d
', x, y, x * y); break; case '/': printf('%d / %d = %d
', x, y, x / y); break; default: printf('Invalid Operator Input
'); } } return 0; }>
Ausgabe
Enter the operator (+, -, *, /) Enter x to exit + Enter the two numbers: 100 + 200 100 + 200 = 300>
Vorteile der C-Switch-Anweisung
- Leichter zu lesen als wenn sonst wenn.
- Einfacheres Debuggen und Warten für eine große Anzahl von Bedingungen.
- Schnellere Ausführungsgeschwindigkeit.
Nachteile der C-Switch-Anweisung
- Der Switch-Case kann nur den Typ int oder char auswerten.
- Keine Unterstützung für logische Ausdrücke.
- Denken Sie daran, in jedem Fall eine Pause einzulegen.
Abschluss
In diesem Artikel haben wir die switch-Anweisung in der C-Programmierung und ihre Verwendung besprochen. Es handelt sich um eine bedingte Anweisung wie die Wenn-sonst-Wenn-Leiter, die ihre eigenen Vor- und Nachteile hat. Dies wird vor allem dann bevorzugt, wenn die Anzahl der auszuwertenden Bedingungen groß ist.
FAQs zur C-Switch-Anweisung
1. Was ist der Schalterfall in C?
Die Switch-Case-Anweisung ist eine Flusskontrollanweisung, in der wir eine Switch-Variable definieren und dann basierend auf dem Wert der Switch-Variablen unterschiedlichen Code ausführen können. Es ist eine Alternative zur if else if-Leiter.
2. Was ist in der switch-Anweisung in C der Fall?
Das Schlüsselwort case wird verwendet, um die verschiedenen Fälle und den zugehörigen Code in der switch-Anweisung zu definieren.
3. Was bewirkt der Bruch im Schaltergehäuse?
Das Schlüsselwort break wird verwendet, um den Switch-Block nach der Ausführung des passenden Falls zu verlassen.
4. Was sind die Unterschiede zwischen Switch und If-Else-If-Ladder in C?
Im Folgenden sind die wichtigsten aufgeführt Unterschiede zwischen C-Schalter und C-falls-falls-Leiter :
Zeichenfolge Java indexof
schalten | wenn sonst wenn |
|---|---|
| Es führt die verschiedenen Fälle auf der Grundlage des Werts der Schaltervariablen aus. | Es führt die verschiedenen Blöcke basierend auf der angegebenen Bedingung aus. |
| Es können nur Ausdrücke vom Typ int oder char ausgewertet werden. | Es kann jede Art von Ausdruck auswerten. |
| Schnellere und einfachere Lesbarkeit für die große Anzahl von Bedingungen. | Bei vielen Bedingungen kann es chaotisch werden. |
Muss lesen:
- Interessante Fakten zum Schaltergehäuse in C
- Drucken Sie einzelne Ziffern als Wörter, ohne if oder Switch zu verwenden