C 語言迴圈 (Loops)

迴圈允許我們重複執行一段程式碼,直到滿足特定條件為止。這在處理重複性工作(例如印出 1 到 100 的數字)非常有用。

C 語言提供三種迴圈:

  1. for 迴圈
  2. while 迴圈
  3. do...while 迴圈

1. for 迴圈

當你已經知道要重複執行幾次時,for 迴圈是最好的選擇。

結構: for (初始化; 條件判斷; 迭代更新) { ... }

#include <stdio.h>

int main() {
    // 印出 0 到 4
    for (int i = 0; i < 5; i++) {
        printf("i 的值是: %d\n", i);
    }
    return 0;
}

2. while 迴圈

當你不知道要執行幾次,只知道只要條件符合就繼續做時,用 while

結構: while (條件) { ... }

int i = 0;

while (i < 5) {
    printf("i 的值是: %d\n", i);
    i++; // 記得要更新條件,否則會變成無窮迴圈
}

3. do...while 迴圈

while 很像,差別在於 do...while 保證至少會執行一次,因為它是先做再判斷。

結構: do { ... } while (條件);

int i = 10;

do {
    // 即使一開始 i 就不小於 5,這裡還是會執行一次
    printf("i 的值是: %d\n", i);
    i++;
} while (i < 5);

注意: do...whilewhile 後面要加分號 ;

迴圈控制:break 與 continue

  • break:強制跳出整個迴圈,不再執行。
  • continue:跳過這一次迭代剩下的程式碼,直接進入下一次迴圈的判斷。
for (int i = 1; i <= 10; i++) {
    if (i == 5) {
        continue; // 跳過 5,不印出來,繼續下一個 (6)
    }
    if (i == 8) {
        break;    // 遇到 8 就結束迴圈
    }
    printf("%d ", i);
}
// 輸出結果:1 2 3 4 6 7

無窮迴圈 (Infinite Loops)

如果迴圈的條件永遠為真,程式就會一直跑停不下來(除非強制強制終止)。

// 常見的無窮迴圈寫法
while (1) {
    // 一直做...
}

for (;;) {
    // 一直做...
}

學會迴圈後,我們能處理大量重複的工作。