English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai a creare una switch statement in C++ (con esempi).
C++ switch statementEsegui una frase da più condizioni. È simile a una switch statement in C++.if-else-if
istruzioni.
Ma la struttura switch è generalmente più veloce rispetto a if ... else. Inoltre, la sintassi della struttura switch è più concisa ed easier da comprendere.
switch (n) { case constant1: // Se n è uguale a constant1, viene eseguito il codice; break; case constant2: // Se n è uguale a constant2, viene eseguito il codice; break; . . . default: // Se n non corrisponde a nessun constant, viene eseguito il codice {}
Quando viene trovato un caso che corrisponde all'espressione case (constant1, constant2...constant), il controllo del programma viene trasferito al blocco di codice associato a quella case.
Nell'esempio di codice sopra, il valore ipotetico n è uguale a constant2. Il compilatore eseguirà il blocco di codice associato a constant2 fino alla fine del blocco switch o fino a quando incontraIstruzione breakFine.
La istruzione break viene utilizzata per prevenire che il codice entri nella prossima situazione.
L'immagine sopra mostra come funziona la struttura switch e come vengono controllate le condizioni nei sottoparagrafi case.
// Il programma utilizza la struttura switch per costruire un calcolatore semplice #include <iostream> using namespace std; int main() { char o; float num1, num2; cout << "Inserisci un operatore (+, -, *, /): "; cin >> o; cout << "Inserisci due numeri: "; cin >> num1 >> num2; switch (o) { case '+': cout << num1 << " + " << num2 << " = " << num1+num2; break; case '-': cout << num1 << " - " << num2 << " = " << num1-num2; break; case '*': cout << num1 << " * " << num2 << " = " << num1*num2; break; case '/': cout << num1 << " / " << num2 << " = " << num1/num2; break; default: // Operatore non corrisponde a nessuno (+, -, *, /) cout << "Errore! Operatore non corretto"; break; {} return 0; {}
输出结果
输入一个运算符(+, -, *, /): + - 输入两个操作数: 2.3 4.5 2.3 - 4.5 = -2.2
用户输入的 - 运算符存储在o变量中。而两个操作数2.3和4.5分别存储在变量num1和num2中。
然后,程序的控制跳转到
cout << num1 << " - " << num2 << " = " << num1-num2;
最后,break;语句结束了switch语句。
如果不使用break语句,则执行符合条件case后的所有case语句。