C++ Switch 語句
使用 switch
語句選擇要執行的多個程式碼塊之一。
語法
switch(expression) {
case x:
// 程式碼塊
break;
case y:
// 程式碼塊
break;
default:
// 程式碼塊
}
它的工作原理如下:
switch
表示式被評估一次- 表示式的值與每個
case
的值進行比較 - 如果找到匹配項,則執行關聯的程式碼塊
break
和default
關鍵字是可選的
下面的示例使用星期幾的數字來計算星期幾的名稱:
示例
int day = 4;
switch (day) {
case 1:
cout << "Monday";
break;
case 2:
cout << "Tuesday";
break;
case 3:
cout << "Wednesday";
break;
case 4:
cout << "Thursday";
break;
case 5:
cout << "Friday";
break;
case 6:
cout << "Saturday";
break;
case 7:
cout << "Sunday";
break;
}
// 輸出 "Thursday"(星期四,對應 day 為 4)
break 關鍵字
當 C++ 遇到 break
關鍵字時,它會跳出 switch
塊。這將停止更多程式碼和 case
測試的執行。
當找到匹配項並完成工作時,是時候休息一下了。不需要進行更多的測試。
break
可以節省大量的執行時間,因為它“忽略”了 switch
塊中其餘程式碼的執行。
default 關鍵字
default
關鍵字指定如果沒有 case
匹配時要執行的一些程式碼。
C++ While 迴圈
迴圈可以在達到指定條件時執行一段程式碼塊。
迴圈非常方便,因為它們節省時間,減少錯誤,並且使程式碼更易讀。
C++ While 迴圈
while
迴圈透過一個指定條件為 true 時迴圈執行程式碼塊:
語法
while (condition) {
// 要執行的程式碼塊
}
在下面的示例中,只要變數(i)小於 5,迴圈中的程式碼就會一遍又一遍地執行:
示例
int i = 0;
while (i < 5) {
cout << i << "\n";
i++;
}
注意:不要忘記增加條件中使用的變數,否則迴圈將永遠不會結束!
C++ Do/While 迴圈
do/while
迴圈是 while
迴圈的變體。這個迴圈會在檢查條件是否為 true 之前執行一次程式碼塊,然後只要條件為 true,就會重複執行迴圈。
語法
do {
// 要執行的程式碼塊
} while (condition);
下面的示例使用了 do/while
迴圈。即使條件為 false,程式碼塊也會至少執行一次,因為在測試條件之前會執行程式碼塊:
示例
int i = 0;
do {
cout << i << "\n";
i++;
} while (i < 5);
C++ For 迴圈
當你確切知道你要迴圈執行一段程式碼的次數時,使用 for
迴圈而不是 while
迴圈:
語法
for (語句 1; 語句 2; 語句 3) {
// 要執行的程式碼塊
}
- 語句 1 在執行程式碼塊之前執行一次。
- 語句 2 定義了執行程式碼塊的條件。
- 語句 3 在程式碼塊執行後執行(每次)。
下面的示例將列印數字 0 到 4:
示例
for (int i = 0; i < 5; i++) {
cout << i << "\n";
}
示例解釋
- 語句 1 在迴圈開始前設定一個變數(
int i = 0
)。 - 語句 2 定義了迴圈執行的條件(
i
必須小於 5)。如果條件為 true,則迴圈將重新開始,如果為 false,則迴圈將結束。 - 語句 3 每次程式碼塊執行後增加一個值(
i++
)。
另一個示例
此示例將只列印 0 到 10 之間的偶數值:
for (int i = 0; i <= 10; i = i + 2) {
cout << i << "\n";
}
巢狀迴圈
還可以在另一個迴圈中放置一個迴圈。這被稱為巢狀迴圈。
“內部迴圈”將在“外部迴圈”的每次迭代中執行一次:
// 外部迴圈
for (int i = 1; i <= 2; ++i) {
cout << "外部:" << i << "\n"; // 執行 2 次
// 內部迴圈
for (int j = 1; j <= 3; ++j) {
cout << " 內部:" << j << "\n"; // 執行 6 次(2 * 3)
}
}
foreach 迴圈
還有一個“foreach 迴圈”(在 C++ 版本 11(2011)中引入),它專門用於遍歷陣列(或其他資料集)中的元素:
語法
for (型別 變數名 : 陣列名) {
// 要執行的程式碼塊
}
以下示例使用“foreach 迴圈”輸出陣列中的所有元素:
示例
int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i : myNumbers) {
cout << i << "\n";
}
最後
為了方便其他裝置和平臺的小夥伴觀看往期文章:
微信公眾號搜尋:Let us Coding
,關注後即可獲取最新文章推送
看完如果覺得有幫助,歡迎點贊、收藏、關注