在本文中,您將學(xué)習(xí)在C ++編程中創(chuàng)建一個switch語句(帶有示例)。
C++ switch語句從多個條件執(zhí)行一個語句。 它就類似于在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表達式匹配的(constant1,constant2....constant)時,程序的控制權(quán)將傳遞給與該case關(guān)聯(lián)的代碼塊。
在上述代碼中,假設(shè)的值n等于constant2。編譯器將執(zhí)行與case語句關(guān)聯(lián)的constant2代碼塊,直到switch塊的末尾或遇到break語句為止。
break語句用于防止代碼進入下一種情況。
上圖顯示了switch語句的工作方式,并在switch case子句中檢查了條件。
// 程序使用switch語句構(gòu)建一個簡單的計算器 #include <iostream> using namespace std; int main() { char o; float num1, num2; cout << "輸入一個運算符 (+, -, *, /): "; cin >> o; cout << "輸入兩個操作數(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: // 運算符不匹配任何一個 (+, -, *, /) cout << "錯誤! 運算符不正確"; break; } return 0; }
輸出結(jié)果
輸入一個運算符 (+, -, *, /): + - 輸入兩個操作數(shù): 2.3 4.5 2.3 - 4.5 = -2.2
用戶輸入的 - 運算符存儲在o變量中。而兩個操作數(shù)2.3和4.5分別存儲在變量num1和num2中。
然后,程序的控制跳轉(zhuǎn)到
cout << num1 << " - " << num2 << " = " << num1-num2;
最后,break;語句結(jié)束了switch語句。
如果不使用break語句,則執(zhí)行符合條件case后的所有case語句。