一、c++ switch語句怎麼用
C++中switch語句是一種控制結構,用於根據不同條件執行不同的代碼塊。基本語法為:
switch(expression){
case constant1:
//執行語句
break;
case constant2:
//執行語句
break;
...
default:
//執行語句
}
expression是一個表達式,其值在每個case對應的constant和expression相等時,相應的代碼塊就會被執行。如果沒有任何一個case匹配expression的值,那麼就會執行default後的代碼塊。break語句用於在每個case結束時結束switch語句。
二、c語言switch語句例題
以下是一個例子,展示了C++ switch語句的用法:
#include
using namespace std;
int main() {
int num = 2;
switch (num) {
case 1:
cout << "The num is 1" << endl;
break;
case 2:
cout << "The num is 2" << endl;
break;
case 3:
cout << "The num is 3" << endl;
break;
default:
cout << "The num is not 1, 2 or 3" << endl;
break;
}
return 0;
}
上述代碼將輸出:The num is 2
三、c++ switch語句中如何使用string
C++17中,switch語句可以使用std::string作為expression。下面是一個例子:
#include
#include
using namespace std;
int main() {
string str = "Test";
switch (str) {
case "Test"_s:
cout << "This is a test" << endl;
break;
case "Example"_s:
cout << "This is an example" << endl;
break;
default:
cout << "Unknown string" << endl;
break;
}
return 0;
}
上述代碼將輸出:This is a test
四、c++ switch語句的用法
在C++中,switch語句可以處理任何基本類型數據(除了bool)和枚舉類型。它還可以處理指針、整數、字元和字元串。
另外,C++中的switch語句使用的是簡短整數類型,例如short、char和int。它只支持整數類型,並且不能夠處理浮點數類型。
五、c++ switch語句不寫break
如果在switch語句中省略了break語句,會導致程序進入下一個case語句並執行其代碼塊。下面是一個例子:
#include
using namespace std;
int main() {
int num = 3;
switch (num) {
case 1:
cout << "The num is 1" << endl;
case 2:
cout << "The num is 2" << endl;
case 3:
cout << "The num is 3" << endl;
default:
cout << "The num is not 1, 2 or 3" << endl;
}
return 0;
}
上述代碼將輸出:
The num is 3
The num is not 1, 2 or 3
六、c++ switch語句支持的數據類型
C++中,switch語句支持的數據類型有:
- 整型數據(char、short、int等等)
- 枚舉類型
- 字元類型
- 指針類型
- std::string類型(C++17)
七、switch語句格式
在C++中,switch語句的格式應該採用以下注重可讀性的方式:
switch(expression){
case constant1:
//執行語句1
break;
case constant2:
//執行語句2
break;
case constant3:
//執行語句3
break;
...
default:
//執行語句n
break;
}
為了使程序更加清晰,應該在每個case分支和default後使用break語句。同時,為了增強可讀性,應該將相應的語句塊縮進4個空格或1個Tab。
以上就是c++ switch語句的詳細解析。通過不同的例子和解釋,我們對c++ switch語句的基本用法以及一些關鍵點有了一定的了解。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/227675.html
微信掃一掃
支付寶掃一掃