選擇題:分析含雙重 i-- 的迴圈執行次數。原始圖片未提供,但根據最佳回答推測程式碼結構如下:
int i = 7;
while (i > 3) {
// 執行某操作
i--;
i--;
}
| 迴圈次數 | 迴圈前 i 值 | 條件 i > 3 | 執行本體 | 第一次 i-- | 第二次 i-- | 迴圈後 i 值 |
|---|---|---|---|---|---|---|
| 1 | 7 | 真 | ✓ | 6 | 5 | 5 |
| 2 | 5 | 真 | ✓ | 4 | 3 | 3 |
| 3 | 3 | 假 (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) {
// 執行兩次
}
掌握迴圈變數變化軌跡,是解決此類追蹤題的核心技能。建議養成「建立追蹤表」的習慣,逐輪記錄變數值與條件判斷結果。