istruzione switch C
Test case di un'istruzioneswitch consente una variabile pari al valore multiplo.Ogni valore è chiamato un caso, e la variabile sarà testata ciascuncaso interruttore da controllare.
grammatica
C lingua istruzioneswitch sintassi:
switch(expression){ case constant-expression : statement(s); break; /* 可选的 */ case constant-expression : statement(s); break; /* 可选的 */ /* 您可以有任意数量的 case 语句 */ default : /* 可选的 */ statement(s); }
istruzioneswitch deve seguire queste regole:
- interruttore espressionedichiarazione deve essere un tipo intero o enumerazione, o un tipo di classe, quale classe ha una sola funzione di conversione per convertirlo in un tipo intero o di enumerazione.
- In un interruttore si può avere un numero qualsiasi di istruzioni case. Ogni caso è seguito da un valore da confrontare con i due punti.
- caso diespressione-costante deve avere lo stesso tipo di dati e passare variabili, e deve essere una costante o letterale.
- Quando la variabile che testato è uguale al caso di costante di tempo, seguita da un'istruzione caso verrà eseguita, finché non incontra un'istruzionebreak.
- Quando si incontra un'istruzionebreak, l'interruttore interrompe il flusso di controllo passa alla riga successiva dopo l'istruzione switch.
- Non tutti i casi deve includerepausa.Se l'istruzione case non contiene unapausa,continueremoa controllare il flusso del caso successiva, finché non incontra una rottura.
- Un'istruzioneswitch può avere un caso predefinito opzionale,appare alla fine del commutatore. caso di default può essere utilizzato in tutti i casi di cui sopra non è vero quando si esegue un'operazione. Larottura nella dichiarazione caso di default non è necessaria.
diagramma di flusso
Esempi
#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; }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
做得好 您的成绩是 B