免費開始練習
初等考試 114年 [統計] 資料處理大意

第 14 題

下列 C++程式執行後,i 與 x 的值分別為多少?
```cpp
int i=1, x=0;
while (i<50){
x=x+i;
i=++i+2;
}
```
  • A 49; 400
  • B 49; 425
  • C 52; 400
  • D 52; 425

思路引導 VIP

請觀察程式碼中變數 i 的更新式:如果在同一行內先對變數執行了「前置遞增」,接著又對它進行加法運算並重新賦值,那麼 i 在每一次進入迴圈到下一次判定條件前,總共「跳躍」了多少單位?這會如何影響迴圈終止時的數值?

🤖
AI 詳解 AI 專屬家教

1. 專業肯定

能在複雜的運算邏輯中精確掌握變數動態,表現非常出色!這題考驗的是程式邏輯的精密性,在財務工程或精算建模中,這類對循環條件的掌握是確保模型不失真的關鍵。

2. 觀念驗證

▼ 還有更多解析內容
📝 C++ 迴圈與遞增運算
💡 掌握前置遞增運算子與 while 迴圈的執行順序與終止判定。

🔗 迴圈單次執行與終止流程

  1. 1 條件判定 — 檢查 i < 50,若真則進入,若假則終止。
  2. 2 數值累加 — 執行 x = x + i,此時 i 尚未更新。
  3. 3 變數更新 — 執行 i = ++i + 2,i 會先加 1 再加 2(即加 3)。
  4. 4 返回判定 — 回到第一步,用新的 i 值進行條件檢查。
🔄 延伸學習:最終 x 為 1+4+7+...+49 的等差級數和;i 最終值為 49+1+2=52。
🧠 記憶技巧:前加先變再運算,後加先算再變身;迴圈終止那一刻,變數數值要留神。
⚠️ 常見陷阱:最常在『最後一次迴圈』出錯。考生易忽略滿足 i < 50 的最後一個值是 49,且執行完後 i 還會再經過一次 ++i + 2 的變更才會跳出。
遞增遞減運算子 for 迴圈邏輯 等差級數求和

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

程式碼追蹤與執行結果於資料處理之應用
查看更多「[統計] 資料處理大意」的主題分類考古題

📝 同份考卷的其他題目

查看 114年[統計] 資料處理大意 全題