C++ While 和 For 迴圈:流程控制全解析

小万哥丶發表於2024-04-03

C++ Switch 語句

使用 switch 語句選擇要執行的多個程式碼塊之一。

語法

switch(expression) {
  case x:
    // 程式碼塊
    break;
  case y:
    // 程式碼塊
    break;
  default:
    // 程式碼塊
}

它的工作原理如下:

  • switch 表示式被評估一次
  • 表示式的值與每個 case 的值進行比較
  • 如果找到匹配項,則執行關聯的程式碼塊
  • breakdefault 關鍵字是可選的

下面的示例使用星期幾的數字來計算星期幾的名稱:

示例

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,關注後即可獲取最新文章推送

看完如果覺得有幫助,歡迎點贊、收藏、關注

相關文章