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

C 語言 for 迴圈執行流程圖解:初始化、條件判斷、迭代更新三階段詳解

     編輯:關於C語言

C 語言 for 迴圈執行流程圖解:初始化、條件判斷、迭代更新三階段詳解

for 迴圈是 C 語言中最常用的定點迴圈結構,將初始化、條件判斷、迭代更新集中在一行,結構清晰。本文以圖解與實例詳細拆解其執行順序與邊界行為。

語法格式

for (表達式1; 表達式2; 表達式3) {
    迴圈主體
}
  • 表達式1(初始化): 通常為指派運算式,如 i = 0,僅在迴圈開始前執行一次。
  • 表達式2(條件判斷): 邏輯運算式,非 0 為真進入主體,0 為假跳出迴圈。每次迭代前皆會評估。
  • 表達式3(迭代更新): 通常為遞增/遞減,如 i++,在每次主體執行結束後、下一次條件判斷之前執行。

執行步驟流程圖

  1. 步驟 1: 執行初始化(表達式1) → 評估條件(表達式2)→ 真則進入主體,假則結束迴圈。
  2. 步驟 2: 執行迴圈主體。
  3. 步驟 3: 執行迭代更新(表達式3) → 回到評估條件(表達式2)→ 重複步驟 2~3,直到條件為假。

for 迴圈流程圖

實際程式碼驗證

#include <stdio.h>
int main() {
    int i;
    for (i = 0; i < 10; i++) {
        printf("%d\n", i);
    }
    printf("迴圈結束後 i = %d\n", i);
    return 0;
}

輸出結果分析

0
1
2
...
9
迴圈結束後 i = 10

程式執行輸出

關鍵觀察: 當 i 遞增至 10 時,條件 i < 10 變為假 (0),迴圈結束。此時 i 的值已為 10,若後續程式碼使用 i,必須注意此邊界值。

常見變體與陷阱

寫法行為注意事項
for (;;)無限迴圈需在主體內 break
for (i=0; i<n; ++i)前置遞增對簡單型別效能相同,習慣用法
for (i=n-1; i>=0; --i)反向迴圈i>=0 若 i 為 unsigned 會無限迴圈
省略表達式1/3如 for (; i<10; )初始化/更新在別處完成,分號不可省略

💡 最佳實務: 迴圈控制變數盡量在 for 宣告中初始化(C99: for (int i=0; ...)),限制作用域,避免外部誤用;條件判斷保持簡單,複雜邏輯移至主體內。

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