Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Verwendung von Switch-Fällen in der C-Sprache

Detaillierte Erläuterung der Verwendung von Switch-Fällen in der C-Sprache

藏色散人
藏色散人Original
2020-02-10 10:38:0925377Durchsuche

Detaillierte Erläuterung der Verwendung von Switch-Fällen in der C-Sprache

Detaillierte Erläuterung der Verwendung von Schaltergehäusen in C-Sprache

Schalter bedeutet „Schalter“, es ist auch ein „ choice" ”-Anweisung, aber ihre Verwendung ist sehr einfach. switch ist eine Auswahlanweisung für mehrere Zweige. Vereinfacht ausgedrückt sind mehrere Zweige mehrere Wenn.

Empfohlenes Lernen: Video-Tutorial in C-Sprache

Funktionell gesehen können Switch-Anweisungen und If-Anweisungen einander vollständig ersetzen. Aus programmtechnischer Sicht haben sie jedoch jeweils ihre eigenen Eigenschaften, sodass man bisher nicht sagen kann, dass das eine das andere vollständig ersetzen kann.

Wenn es nur wenige verschachtelte ifs gibt (innerhalb von drei), ist es einfacher, ein Programm mit if zu schreiben. Wenn jedoch viele Zweige ausgewählt sind, gibt es viele Ebenen verschachtelter if-Anweisungen, was zu einem langen Programm und einer eingeschränkten Lesbarkeit führt. Daher stellt die C-Sprache Switch-Anweisungen zur Verfügung, um die Auswahl mehrerer Zweige zu verarbeiten. Man kann also von einer klaren Arbeitsteilung zwischen If und Switch sprechen. In vielen großen Projekten kommt es häufig zu Auswahlsituationen mit mehreren Zweigen, sodass Switch-Anweisungen immer noch häufig verwendet werden.

Die allgemeine Form von switch ist wie folgt:

switch (表达式)
{
    case 常量表达式1:    语句1
    case 常量表达式2:    语句2
       ┇
    case 常量表达式n:    语句n
    default:        语句n+1
}

Erklärung:

1) Der „Ausdruck“ in Klammern nach switch muss vom Typ Integer sein. Das heißt, es kann eine Variable vom Typ int, eine Variable vom Typ char oder direkt eine Ganzzahl oder eine Zeichenkonstante sein, sogar eine negative Zahl. Es dürfen jedoch keine Variablen vom Typ Float, Variablen vom Typ Double und Dezimalkonstanten sein. Dies sind alles Syntaxfehler.

2) Die Groß-/Kleinschreibung und der Standardwert unter „Schalter“ müssen in ein Paar geschweifte Klammern {} eingeschlossen werden.

3) Wenn der Wert des „Ausdrucks“ in Klammern nach dem Schalter gleich dem Wert des „konstanten Ausdrucks“ nach einem Fall ist, wird die auf den Fall folgende Anweisung ausgeführt. Nach der Ausführung der Anweisung nach einem Fall geht die Flusskontrolle zum nächsten Fall über, um die Ausführung fortzusetzen. Wenn Sie nur diese Case-Anweisung ausführen möchten und keine anderen Cases ausführen möchten, müssen Sie nach dieser Case-Anweisung eine Pause hinzufügen, um aus der Switch-Anweisung herauszuspringen.

Lassen Sie mich noch einmal betonen: switch ist eine „select“-Anweisung, keine „loop“-Anweisung. Viele Neulinge denken, dass break eine Schleifenanweisung ist, wenn sie es sehen, weil break im Allgemeinen den Eindruck erweckt, als würde man aus einer „Schleife“ springen, aber break hat noch eine andere Verwendung, nämlich das Herausspringen aus dem Schalter.

4) Wenn die Werte der konstanten Ausdrücke nicht in allen Fällen mit dem Wert des „Ausdrucks“ in den Klammern nach dem Schalter übereinstimmen, wird die Anweisung nach „Standard“ ausgeführt ". Wenn default die letzte Anweisung ist, ist es nicht nötig, break danach einzufügen, denn da es sich um die letzte Anweisung handelt, wird switch nach der Ausführung natürlich beendet.

5) Der Wert des „konstanten Ausdrucks“ nach jedem Fall muss sich voneinander unterscheiden, sonst kommt es zu Konflikten untereinander und diese Schreibweise führt zu Grammatikfehlern.

6) Der „Case-Konstantenausdruck“ dient nur als Aussagebezeichnung und wird nicht zur Beurteilung verwendet. Beim Ausführen der Switch-Anweisung wird die passende Eintragsbezeichnung basierend auf dem Wert des Ausdrucks hinter dem Schalter gefunden und die Ausführung beginnt ohne weitere Beurteilung mit dieser Bezeichnung.

7) Die Reihenfolge des Auftretens der einzelnen Fälle und Versäumnisse hat keinen Einfluss auf das Ausführungsergebnis. Aus lesetechnischer Sicht ist es jedoch am besten, in alphabetischer oder numerischer Reihenfolge zu schreiben.

8) Natürlich kann man auch auf die Default-Anweisung verzichten, genauso wie if...else ohne die else-Anweisung am Ende. Am besten aber noch hinzufügen, danach kann man nichts mehr schreiben. Dies kann verhindern, dass andere fälschlicherweise denken, dass Sie die Standardverarbeitung vergessen haben, und kann andere daran erinnern, dass die Umstellung abgeschlossen ist.

Es ist jedoch zu beachten, dass Sie nach der Standardeinstellung nichts schreiben können, der folgende Doppelpunkt und das Semikolon jedoch nicht weggelassen werden dürfen. Wenn sie weggelassen werden, handelt es sich um einen Grammatikfehler. Viele Neulinge können hier leicht Fehler machen und entweder ein Semikolon oder einen Doppelpunkt vergessen. Seien Sie also vorsichtig!

Lassen Sie mich ein Programm für Sie schreiben und schauen wir es uns an.

# include <stdio.h>
int main(void)
{
    int val;  //variable的缩写, “变量”的意思
    printf("请输入您想去的楼层:");
    scanf("%d", &val);
    switch (val)
    {
        case 1:
            printf("1层开!\n");
            break;
        case 2:
            printf("2层开!\n");
            break;
        case 3:
            printf("3层开!\n");
            break;
        default:
            printf("该层不存在, 请重新输入\n");
    }
    return 0;
}

Das letzte „Diese Ebene existiert nicht, bitte erneut eingeben“ in diesem Programm funktioniert jetzt nicht. Dies muss beim Erlernen von Schleifenanweisungen mithilfe von Schleifen implementiert werden.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von Switch-Fällen in der C-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn