在本文中,您將學(xué)習(xí)在C ++編程中創(chuàng)建一個(gè)switch語句(帶有示例)。
C++ switch語句從多個(gè)條件執(zhí)行一個(gè)語句。 它就類似于在C++中的if-else-if語句。
但switch語句通常比if ... else更快。另外,switch語句的語法更簡潔,更易于理解。
switch (n)
{
case constant1:
//如果n等于constant1,將執(zhí)行的代碼;
break;
case constant2:
//如果n等于constant2,將執(zhí)行的代碼;
break;
.
.
.
default:
// 如果n不匹配任何constant,將執(zhí)行的代碼
}當(dāng)找到與case表達(dá)式匹配的(constant1,constant2....constant)時(shí),程序的控制權(quán)將傳遞給與該case關(guān)聯(lián)的代碼塊。
在上述代碼中,假設(shè)的值n等于constant2。編譯器將執(zhí)行與case語句關(guān)聯(lián)的constant2代碼塊,直到switch塊的末尾或遇到break語句為止。
break語句用于防止代碼進(jìn)入下一種情況。

上圖顯示了switch語句的工作方式,并在switch case子句中檢查了條件。
// 程序使用switch語句構(gòu)建一個(gè)簡單的計(jì)算器
#include <iostream>
using namespace std;
int main()
{
char o;
float num1, num2;
cout << "輸入一個(gè)運(yùn)算符 (+, -, *, /): ";
cin >> o;
cout << "輸入兩個(gè)操作數(shù): ";
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:
// 運(yùn)算符不匹配任何一個(gè) (+, -, *, /)
cout << "錯(cuò)誤! 運(yùn)算符不正確";
break;
}
return 0;
}輸出結(jié)果
輸入一個(gè)運(yùn)算符 (+, -, *, /): + - 輸入兩個(gè)操作數(shù): 2.3 4.5 2.3 - 4.5 = -2.2
用戶輸入的 - 運(yùn)算符存儲(chǔ)在o變量中。而兩個(gè)操作數(shù)2.3和4.5分別存儲(chǔ)在變量num1和num2中。
然后,程序的控制跳轉(zhuǎn)到
cout << num1 << " - " << num2 << " = " << num1-num2;
最后,break;語句結(jié)束了switch語句。
如果不使用break語句,則執(zhí)行符合條件case后的所有case語句。