C 語言迴圈 (Loops)
迴圈允許我們重複執行一段程式碼,直到滿足特定條件為止。這在處理重複性工作(例如印出 1 到 100 的數字)非常有用。
C 語言提供三種迴圈:
for迴圈while迴圈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...while的while後面要加分號;。
迴圈控制: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 (;;) {
// 一直做...
}
學會迴圈後,我們能處理大量重複的工作。