C Instrukcja switch
sprawdzian oświadczeniePrzełącznik umożliwia zmienną równą wartości wielokrotnej.Każda wartość nazywana jest to przypadek, a zmienna będzie testowany każdyprzypadek switch do sprawdzenia.
gramatyka
Języka C Instrukcjaswitch Składnia:
switch(expression){ case constant-expression : statement(s); break; /* 可选的 */ case constant-expression : statement(s); break; /* 可选的 */ /* 您可以有任意数量的 case 语句 */ default : /* 可选的 */ statement(s); }
Instrukcjaswitch należy przestrzegać następujących zasad:
- Oświadczeniewyraz przełącznikmusi być liczbą całkowitą lub wyliczenia typu lub typu klasy, która klasa ma jedną funkcję konwersji do konwertowania go do typu Integer lub wyliczenia.
- W przełączniku można mieć dowolną liczbę sprawozdań przypadków. Każdy przypadek jest po wartości do porównania z dwukropkiem.
- Przypadekstałej ekspresji muszą mieć ten sam typ danych i przełączać zmienne, a to musi być stała lub dosłowne.
- Podczas badania zmienna istota jest równa przypadku stałego czasu, po którym następuje stwierdzenie przypadku będzie wykonana, aż napotka instrukcjęprzerwania.
- Gdy instrukcjabreak napotkano, przełącznik przerywa przepływ sterowania przechodzi do następnej linii po instrukcji switch.
- Nie każdy przypadek musi zawieraćprzerwę.Jeśli instrukcja sprawa nie zawierająprzerwy,nadalbędziemy kontrolować przepływ kolejnym przypadku, dopóki nie napotka zerwać.
- Instrukcjaswitch może mieć opcjonalny domyślny przypadek,to pojawia się na końcu przełącznika. Domyślnym przypadku może być stosowany we wszystkich powyższym przypadku nie jest prawdą, podczas wykonywania zadania.Przerwa w rachunku domyślnego przypadku nie jest wymagane.
schemat blokowy
Przykłady
#include <stdio.h> int main () { /* 局部变量定义 */ char grade = 'B'; switch(grade) { case 'A' : printf("很棒!\n" ); break; case 'B' : case 'C' : printf("做得好\n" ); break; case 'D' : printf("您通过了\n" ); break; case 'F' : printf("最好再试一下\n" ); break; default : printf("无效的成绩\n" ); } printf("您的成绩是 %c\n", grade ); return 0; }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
做得好 您的成绩是 B