Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

switch…case in C (Switch-Anweisung in C) mit Beispielen

Was ist eine Switch-Anweisung in C?

Switch-Anweisung in C testet den Wert einer Variablen und vergleicht ihn mit mehreren Fällen. Sobald die Fallübereinstimmung gefunden wurde, wird ein Block von Anweisungen ausgeführt, die diesem speziellen Fall zugeordnet sind.

Jeder Fall in einem Block eines Schalters hat einen anderen Namen/eine andere Nummer, die als Kennung bezeichnet wird. Der vom Benutzer bereitgestellte Wert wird mit allen Fällen innerhalb des Schalterblocks verglichen, bis die Übereinstimmung gefunden wird.

Wenn KEINE Fallübereinstimmung gefunden wird, wird die Standardanweisung ausgeführt und die Steuerung verlässt den Schalterblock.

In diesem Tutorial lernen Sie-

Case-Syntax wechseln

Eine allgemeine Syntax, wie switch-case in einem C-Programm implementiert wird, lautet wie folgt:

switch( expression )
{
	case value-1:
			Block-1;
			Break;
	case value-2:
			Block-2;
			Break;
	case value-n:
			Block-n;
			Break;
	default:
			Block-1;
			Break;
}
Statement-x;

Flussdiagramm der Switch-Anweisung

Das folgende Diagramm zeigt, wie ein Fall in switch case ausgewählt wird:

Beispiel für Wechselfall in C

Das folgende Programm veranschaulicht die Verwendung von switch:

#include <stdio.h>
    int main() {
        int num = 8;
        switch (num) {
            case 7:
                printf("Value is 7");
                break;
            case 8:
                printf("Value is 8");
                break;
            case 9:
                printf("Value is 9");
                break;
            default:
                printf("Out of range");
                break;
        }
        return 0;
    }

Ausgabe:

Value is 8

  1. In dem gegebenen Programm haben wir eine Variable num mit dem Wert 8 initialisiert.
  2. Ein switch-Konstrukt wird verwendet, um den in der Variablen num gespeicherten Wert zu vergleichen und den Anweisungsblock auszuführen, der dem übereinstimmenden Fall zugeordnet ist.
  3. Da in diesem Programm der in Variable num gespeicherte Wert acht ist, führt ein Schalter den Fall aus, dessen case-Label 8 ist. Nach Ausführung des Falls fällt die Steuerung aus dem Schalter und das Programm wird mit beendet erfolgreiches Ergebnis durch Drucken des Wertes auf dem Ausgabebildschirm.

Versuchen Sie, den Wert der Variablen num zu ändern, und beachten Sie die Änderung in der Ausgabe.

Als Beispiel betrachten wir das folgende Programm, das standardmäßig:

#include <stdio.h>
int main() {
int language = 10;
  switch (language) {
  case 1:
    printf("C#\n");
    break;
  case 2:
    printf("C\n");
    break;
  case 3:
    printf("C++\n");
    break;
  default:
    printf("Other programming language\n");}}

Ausgabe:

Other programming language

Wenn Sie in C mit switch case arbeiten, gruppieren Sie mehrere Fälle mit eindeutigen Labels. Sie müssen jeweils eine break-Anweisung einführen, um am Ende einer switch-Anweisung zu verzweigen.

Der optionale Standardfall wird ausgeführt, wenn keine anderen Übereinstimmungen gefunden werden.

Wir betrachten die folgende switch-Anweisung:

#include <stdio.h>
int main() {
int number=5;
switch (number) {
  case 1:
  case 2:
  case 3:
    printf("One, Two, or Three.\n");
    break;
  case 4:
  case 5:
  case 6:
    printf("Four, Five, or Six.\n");
    break;
  default:
    printf("Greater than Six.\n");}}

Ausgabe:

Four, Five, or Six.

Verschachtelter Schalter in C

In C können wir einen inneren Schalter in einen äußeren Schalter einbetten. Auch die Case-Konstanten des inneren und äußeren Schalters können gemeinsame Werte und ohne Konflikte haben.

Wir betrachten das folgende Programm, bei dem der Benutzer seine eigene ID eingeben muss. Wenn die ID gültig ist, wird er aufgefordert, sein Passwort einzugeben. Wenn das Passwort korrekt ist, druckt das Programm den Namen des Benutzers, andernfalls druckt das Programm Falsch Passwort und wenn die ID nicht existiert, druckt das Programm Falsche ID

#include <stdio.h>
int main() {
        int ID = 500;
        int password = 000;
        printf("Plese Enter Your ID:\n ");
        scanf("%d", & ID);
        switch (ID) {
            case 500:
                printf("Enter your password:\n ");
                scanf("%d", & password);
                switch (password) {
                    case 000:
                        printf("Welcome Dear Programmer\n");
                        break;
                    default:
                        printf("incorrect password");
                        break;
                }
                break;
            default:
                printf("incorrect ID");
                break;
        }
}

AUSGABE:

Plese Enter Your ID:
 500
Enter your password:
 000
Welcome Dear Programmer

  1. In dem gegebenen Programm haben wir zwei initialisierte Variablen erklärt:ID und Passwort
  2. Ein äußeres Schalterkonstrukt wird verwendet, um den in die Variable ID eingegebenen Wert zu vergleichen. Es führt den Anweisungsblock aus, der dem übereinstimmenden Fall zugeordnet ist (wenn ID==500).
  3. Wird die Blockanweisung mit der übereinstimmenden Groß-/Kleinschreibung ausgeführt, wird ein innerer Schalter verwendet, um die in die Variable passwort eingegebenen Werte zu vergleichen und die mit der übereinstimmenden Groß-/Kleinschreibung verknüpften Anweisungen auszuführen (wenn Passwort==000).
  4. Andernfalls löst der Schalterfall den Standardfall aus und gibt den entsprechenden Text bezüglich der Programmgliederung aus.

Warum brauchen wir eine Switch-Hülle?

Es gibt ein potenzielles Problem mit der if-else-Anweisung, nämlich dass die Komplexität des Programms zunimmt, wenn die Anzahl der alternativen Pfade zunimmt. Wenn Sie mehrere if-else-Konstrukte im Programm verwenden, kann es schwierig werden, ein Programm zu lesen und zu verstehen. Manchmal kann es sogar den Entwickler verwirren, der das Programm selbst geschrieben hat.

Die Lösung für dieses Problem ist die switch-Anweisung.

Regeln für switch-Anweisungen

  • Ein Ausdruck muss immer zu einem Ergebnis ausgeführt werden.
  • Fallbezeichnungen müssen konstant und eindeutig sein.
  • Groß-/Kleinschreibung muss mit einem Doppelpunkt ( :) enden.
  • Ein Break-Schlüsselwort muss in jedem Fall vorhanden sein.
  • Es kann nur ein Standardlabel geben.
  • Wir können mehrere switch-Anweisungen verschachteln.

Zusammenfassung

  • Ein Switch ist ein Entscheidungsfindungskonstrukt in „C.“
  • Ein Schalter wird in einem Programm verwendet, in dem mehrere Entscheidungen involviert sind.
  • Ein Schalter muss einen ausführbaren Testausdruck enthalten.
  • Jeder Fall muss ein break-Schlüsselwort enthalten.
  • Fallbezeichnung muss konstant und eindeutig sein.
  • Die Standardeinstellung ist optional.
  • Mehrere switch-Anweisungen können ineinander verschachtelt werden.

C Sprache

  1. C#-switch-Anweisung
  2. C++ do…while-Schleife mit Beispielen
  3. C++ Switch Case-Anweisung mit BEISPIEL
  4. C++-Zeiger mit Beispielen
  5. Überladen von C++-Operatoren mit Beispielen
  6. C++ Funktionen mit Programmbeispielen
  7. Tutorial zu C#-Sammlungen mit Beispielen
  8. Python Print()-Anweisung:Drucken mit Beispielen
  9. Python String count() mit BEISPIELE
  10. Python-Funktion round() mit BEISPIELE