剛接觸 C 語言時,循環嵌套與程序結構常讓初學者困惑。本文以「九九乘法表」為例,由淺入深講解巢狀循環邏輯,並總結順序、分支、循環三大基本結構的執行特點。
在一個循環體內再包含另一個循環,稱為**巢狀循環**(多重循環)。最常見的是**二重循環**:
執行流程:外層執行一次 → 內層跑完所有次數 → 外層執行下一次 → 重複直到外層結束。
for (int i=1; i<=9; i++);for (int j=1; j<=i; j++);j * i = result,用 \t 對齊;printf("\n")。#include <stdio.h>
int main(void) {
for (int i = 1; i <= 9; i++) { // 外層:行
for (int j = 1; j <= i; j++) { // 內層:列
printf("%d * %d = %d\t", j, i, i * j);
}
printf("\n"); // 換行
}
return 0;
}
1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 ... 1 * 9 = 9 2 * 9 = 18 ... 9 * 9 = 81
| 結構類型 | 關鍵字/語句 | 執行特點 | 典型場景 |
|---|---|---|---|
| 順序結構 | 無特殊關鍵字 | 自上而下,每行必執行一次 | 初始化、單步計算、輸出 |
| 分支結構 | if、if-else、switch-case | 根據條件**選擇性**執行某段代碼 | 條件判斷、多路選擇、錯誤處理 |
| 循環結構 | while、do-while、for | **重複**執行同一代碼段,直到條件不滿足 | 遍歷、累加、菜單、遊戲主循環 |
while (1) { ... }
do { ... } while (1);
for (;;) { ... }
配合 break、return 或外部信號退出。
for (int i=...) 將變量限制在循環內,避免污染外部;<= vs <,多寫測試用例驗證首尾;理解巢狀循環的關鍵在於**模擬執行流程**:拿筆在紙上跑幾輪,觀察 i、j 如何變化,自然就懂了。多練習打印圖形(三角形、菱形、數字金字塔),是鞏固循環邏輯的最佳方式。