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

C語言迴圈題目詳解:雙重遞減導致的執行次數分析

     編輯:C 語言問答

題目背景

選擇題:分析含雙重 i-- 的迴圈執行次數。原始圖片未提供,但根據最佳回答推測程式碼結構如下:

int i = 7;
while (i > 3) {
    // 執行某操作
    i--;
    i--;
}

逐步追蹤執行過程

迴圈次數迴圈前 i 值條件 i > 3執行本體第一次 i--第二次 i--迴圈後 i 值
17真✓655
25真✓433
33假 (3 > 3 為假)✗--3

結論

迴圈共執行 2 次。關鍵在於迴圈本體內有兩次遞減,使 i 每輪減少 2,從 7 降至 5、再至 3,第三次判斷失敗跳出。

常見誤區提醒

  • 誤以為 i-- 只執行一次,導致預測次數為 4 次(7→6→5→4→3)
  • 忽略條件判斷發生在每次迴圈開始前,而非遞減後
  • 混淆 while(i-- > 3) 等後判斷寫法

舉一反三練習

// 練習 1:預測執行次數
int i = 10;
while (i > 0) {
    printf("%d ", i);
    i -= 3;
}

// 練習 2:雙重遞減的 for 迴圈寫法
for (int i = 7; i > 3; i -= 2) {
    // 執行兩次
}

掌握迴圈變數變化軌跡,是解決此類追蹤題的核心技能。建議養成「建立追蹤表」的習慣,逐輪記錄變數值與條件判斷結果。

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