C ++ switch
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
istruzioneswitch nella sintassi C ++:
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 <iostream> using namespace std; int main () { // 局部变量声明 char grade = 'D'; switch(grade) { case 'A' : cout << "很棒!" << endl; break; case 'B' : case 'C' : cout << "做得好" << endl; break; case 'D' : cout << "您通过了" << endl; break; case 'F' : cout << "最好再试一下" << endl; break; default : cout << "无效的成绩" << endl; } cout << "您的成绩是 " << grade << endl; return 0; }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
您通过了 您的成绩是 D