C Switch Case-Anweisungen

C Switch Case Statements



Eine switch-Anweisung – oder einfach eine case-Anweisung – ist ein Kontrollflussmechanismus, der die Ausführung eines Programms basierend auf dem Wert einer Variablen oder eines Ausdrucks bestimmt.

Mit einer switch-Anweisung können Sie mehrere Bedingungen testen und einen bestimmten Block nur ausführen, wenn die Bedingung wahr ist. Obwohl es ähnlich wie eine if…else if….else-Anweisung funktioniert, ist die Syntax einfacher und leichter zu lesen und zu verwalten.







Dieses Tutorial konzentriert sich darauf, Ihnen zu zeigen, wie Sie switch-Anweisungen in der C-Programmierung erstellen und damit arbeiten.



Grundlegende Verwendung

Die switch-Anweisung ist einfach zu implementieren. Die allgemeine Syntax ist wie folgt:



Schalter (ausdruck) {
casevar1:
// Code
brechen;
casevar2:
//Code
brechen;
casevar3:
// Code
brechen;
casevarN:
// Code
brechen;
...
….
….
Ursprünglich:
//Code
}

Wie es funktioniert

Die switch-Anweisung implementiert eine einfache Logik, um jeden der Fallblöcke auszuwerten.





Es beginnt mit der Auswertung des Ausdrucks innerhalb des Schalterblocks. Dann vergleicht es den Wert aus dem Schalterblock mit jedem Fallblock.

Sobald es eine Übereinstimmung in einem der definierten case-Blöcke findet, führt es den Code in diesem Block aus, bis es auf das Schlüsselwort break trifft.



Wenn es in keinem der definierten Fallblöcke auf eine Übereinstimmung stößt, springt es zur Standardanweisung und führt den darin enthaltenen Code aus. Der Standardblock ist optional und kann weggelassen werden, wenn für ein nicht übereinstimmendes Szenario keine erforderliche Aktion erforderlich ist

HINWEIS: Es ist gut, sicherzustellen, dass jede case-Anweisung mit einer break-Anweisung endet, um zu verhindern, dass alle Anweisungen nach dem übereinstimmenden Block ausgeführt werden.

Beispiel für eine C Switch-Case-Anweisung

Lassen Sie uns die switch-Anweisung an einem sehr einfachen Beispiel veranschaulichen:

#enthalten

intmain() {
intwo= 5;
Schalter (wo) {
Fall3:
druckenf ('Der Wert ist 3');
brechen;
Fall4:
druckenf ('Der Wert ist 4');
brechen;
Fall5:
druckenf ('Der Wert ist 5');
brechen;
Ursprünglich:
druckenf ('Der Wert ist weder 3, 4 noch 5');
}
zurück0;
}

Wenn wir das obige Beispiel ausführen, sollten wir eine Ausgabe ähnlich der folgenden erhalten:

Der Wert ist5

Das folgende Flussdiagramm veranschaulicht die Logik des obigen Programms:

Eine verschachtelte Switch-Anweisung

In C können Sie switch-Anweisungen innerhalb einer switch-Anweisung verschachteln. Die verschachtelte switch-Anweisung bindet an den Wert des äußeren Schalters.

Betrachten Sie das folgende Beispiel:

#enthalten

intmain() {
intAbteilung= 5;
intaccess_code= 2028;
Schalter (Abteilung) {
Fall 1:
Schalter (Zugangscode) {
Fall2021:
druckenf ('[+] Gültiger Zugangscode!');
brechen;
Ursprünglich:
druckenf ('[-] Ungültiger Zugangscode!');
}
brechen;
Ursprünglich:
druckenf ('[-] Nur Abteilung 1 ist erlaubt!');
}
zurück0;
}

Im obigen Beispiel implementieren wir zwei switch-Anweisungen. Die erste prüft, ob die bereitgestellte Abt. 1 ist. Falls wahr, geht sie zum nächsten Schaltblock und prüft auf den gültigen Zugangscode.

Wenn der Dept-Wert nicht eins ist, wird die Ausführung zum Standardblock verschoben.

Das Folgende ist die Ausführung des obigen Codes mit korrektem und falschem Abteilungs- und Zugangscode.

Im ersten Beispiel sind sowohl die Abteilung als auch der Zugangscode korrekt; daher erreicht die Ausführung nie die Standardblöcke.

Im zweiten Beispiel sind sowohl der Abteilungs- als auch der Zugangscode falsch; daher springt die Ausführung sofort zum ersten Standardblock.

Richtlinien für Switch-Anweisungen

Im Folgenden finden Sie kurze Richtlinien, die Sie beim Erstellen von switch-Anweisungen in C beachten sollten.

  1. Sie müssen einen Ausdruck an das Schlüsselwort switch übergeben.
  2. Case-Anweisungen müssen auf eindeutige Werte prüfen
  3. Beenden Sie jeden case-Block mit dem Schlüsselwort break.
  4. Sie können mehrere switch-Anweisungen verschachteln.
  5. Sie können eine Standardanweisung einschließen, wenn eine Aktion für nicht übereinstimmende Fälle erforderlich ist.

Abschluss

Dieses Handbuch hat Sie durch die Grundlagen zum Erstellen und Verwenden von C-Switch-Anweisungen geführt. Switch-Anweisungen sind nützlich, wenn Sie komplexe Entscheidungsfälle haben, die mit der and if else-Anweisung möglicherweise nur schwer zu implementieren sind.