Wozu dient der Schalter in der C-Sprache?

coldplay.xixi
Freigeben: 2020-07-27 13:08:04
Original
41368 Leute haben es durchsucht

Die Verwendung von „switch“ in der C-Sprache ist: 1. Der [Ausdruck] in Klammern nach „switch“, der ANSI-Standard lässt zu, dass es sich um einen beliebigen Typ handelt. 2. Wenn der Wert des Ausdrucks mit dem konstanten Ausdruck danach übereinstimmt Wenn die Werte in einem bestimmten Fall gleich sind, wird die auf diesen Fall folgende Anweisung ausgeführt. Andernfalls wird die auf den Standardwert folgende Anweisung ausgeführt.

Wozu dient der Schalter in der C-Sprache?

Die Verwendung von switch in der C-Sprache ist:

Funktion: Die switch-Anweisung ist eine Auswahl mit mehreren Zweigen Wird verwendet, um eine mehrzweigige Auswahlstruktur zu implementieren. Die if-Anweisung hat nur zwei Zweige zur Auswahl, wird jedoch häufig bei praktischen Problemen verwendet (90 ist „A“ usw.). 80-89 ist in „B“ usw. unterteilt, 70-90 ist in „C“ usw. unterteilt. Natürlich können diese mit verschachtelten if-Anweisungen behandelt werden, aber wenn es viele Zweige gibt, wird es solche geben Viele Ebenen verschachtelter if-Anweisungen, und das Programm wird zu lang und die Lesbarkeit wird beeinträchtigt. Die C-Sprache bietet die switch-Anweisung zur direkten Verarbeitung von Mehrfachzweigauswahlen, die der CASE-Anweisung in der PASCAL-Sprache entspricht >

Formular: switch (Ausdruck)

{
case 常量表达式 1:语句 1
case 常量表达式 2:语句 2
.
.
.
case 常量表达式 n:语句 n
default:语句 n+1
}
Nach dem Login kopieren

Wenn Sie beispielsweise Prozentsegmente basierend auf Testergebnissen ausdrucken möchten, können Sie die switch-Anweisung verwenden:

switch(grade)
{
case 'A':printf("85-100\n");
case 'B':printf("70-84\n");
case 'C':printf("60-69\n");
case &#39;D&#39;:printf("<60\n");
default:printf("error\n");
}
Nach dem Login kopieren

Erklärung:

(1) Der „Ausdruck“ in Klammern nach dem Schalter, ANSI Der Standard erlaubt, dass er von jedem Typ ist

(2) Wenn der Wert des Ausdrucks gleich dem Wert von ist Konstanter Ausdruck, der einem Fall folgt, wird die auf den Fall folgende Anweisung ausgeführt. Wenn der Wert des Ausdrucks nicht mit dem Ausdruck übereinstimmt, wird die Anweisung nach dem Standardwert ausgeführt Der Wert des konstanten Ausdrucks muss jeweils unterschiedlich sein, sonst kommt es zu Konflikten (es gibt zwei oder mehr Ausführungspläne für den gleichen Wert eines Ausdrucks). in welchen Fällen jeweils Vorgaben auftreten, hat keinen Einfluss auf das Ausführungsergebnis. Beispielsweise kann „Standard: ...“ zuerst erscheinen, dann „Fall ‚D‘: ...“ und dann „Fall ‚A‘: ...“.

(5) Ausführung abgeschlossen Nach der auf einen Fall folgenden Anweisung wird die Flusskontrolle auf den nächsten Fall übertragen, um die Ausführung fortzusetzen. Der „Case-Konstantenausdruck“ dient nur als Anweisungsbezeichnung und führt dort keine bedingte Beurteilung durch Ausdruck, der dem Schalter folgt. Wenn die passende Eintragsbezeichnung gefunden wird, beginnt die Ausführung ohne weitere Beurteilung mit dieser Bezeichnung. Wenn im obigen Beispiel der Wert der Note beispielsweise gleich „A“ ist, wird kontinuierlich Folgendes ausgegeben:

85-100
70-84
60-69
<60
error
Nach dem Login kopieren

Daher sollte der Prozess nach der Ausführung eines Case-Zweigs aus der Switch-Struktur springen, d. h. die Ausführung der Switch-Anweisung beenden

Sie können dazu eine Break-Anweisung verwenden Um diesen Zweck zu erreichen, schreiben Sie die obige Schalterstruktur wie folgt um:

switch(grade)
{
case &#39;A&#39;:printf("85-100\n"); break;
case &#39;B&#39;:printf("70-84\n"); break;
case &#39;C&#39;:printf("60-69\n"); break;
case &#39;D&#39;:printf("<60\n"); break;
default:printf("error\n");
}
Nach dem Login kopieren

Der letzte Zweig (Standard) muss keine Break-Anweisung hinzufügen, wenn der Wert der Note „B“ ist, nur „70-84“.

Obwohl nach dem Fall mehr als eine Ausführungsanweisung steht, ist es nicht erforderlich, sie in geschweifte Klammern zu setzen. Alle auf diesen Fall folgenden Ausführungsanweisungen werden natürlich automatisch ausgeführt. Es können auch geschweifte Klammern hinzugefügt werden

(6) Mehrere Fälle können einen Satz von Ausführungsanweisungen gemeinsam nutzen, zum Beispiel:

case &#39;A&#39;:
case &#39;B&#39;:
case &#39;C&#39;: printf(">60\n");break;
.
.
Nach dem Login kopieren

Wenn der Wert der Note „A“, „B“ oder ist 'C', derselbe Satz von Anweisungen wird ausgeführt.

Verwandte Lernempfehlungen:

C-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWozu dient der Schalter in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage