首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言迴圈結構完全指南:while、for、do-while 與巢狀迴圈

     編輯:關於C語言

三大迴圈結構對比

1. while 迴圈:先判斷後執行

int i = 1;
while (i <= 10) {
    printf("hello lanou\n");
    i++;
}

適用於「次數未知、條件驅動」場景。注意避免死迴圈(條件永真)。

2. for 迴圈:初始化、條件、迭代三合一

for (int i = 1; i <= 10; i++) {
    printf("%d ", i);
}

適用於「已知次數、計數器驅動」場景。C99 支援迴圈內宣告變數。

3. do-while 迴圈:至少執行一次

int i = 0;
do {
    printf("%d ", i);
    i++;
} while (i < 10);

適用於「菜單選擇、輸入驗證」等必須先執行一次的場景。

迴圈控制語句

  • break:跳出整個迴圈
  • continue:跳過本次迭代,直接進入下一次判斷
// 只輸出 0 和 9
for (int i = 0; i < 10; i++) {
    if (i > 0 && i < 9) continue;
    printf("%d ", i);
}

巢狀迴圈與圖形列印

九九乘法表

for (int i = 1; i < 10; i++) {
    for (int j = 1; j <= i; j++) {
        printf("%dx%d=%-2d ", i, j, i*j);  // %-2d 左對齊佔2寬
    }
    printf("\n");
}

三維座標遍歷

for (int i = 0; i < 3; i++)
    for (int j = 0; j < 3; j++)
        for (int k = 0; k < 3; k++)
            printf("(%d,%d,%d) ", i, j, k);

三角形星號圖案

for (int i = 0; i < 5; i++) {
    for (int j = 0; j <= i; j++)
        printf("*");
    printf("\n");
}

除錯技巧

  1. 斷點:IDE 設置斷點,逐步執行觀察變數
  2. 列印:關鍵位置 printf 變數值
  3. 結合使用:斷點 + 列印,定位邏輯錯誤

配合 if (condition) break; 可在特定條件下中斷調試。

隨機數應用

// [n, m] 範圍隨機數
int rand_num = arc4random() % (m - n + 1) + n;

// 產生 n 個隨機數並求最大值
int max = 0;
for (int i = 0; i < n; i++) {
    int val = arc4random() % 41 + 30;  // [30, 70]
    printf("%d ", val);
    if (val > max) max = val;
}
printf("\nmax=%d", max);

總結

掌握三種迴圈適用場景、break/continue 語義差異、巢狀迴圈控制變數範圍、隨機數生成公式,是 C 語言流程控制的核心功力。多練習圖形列印、數學計算、陣列處理等典型題型,建立直覺。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved