LONGEPASS
數位電子/程式語言/Q17
中等
正確率 -
Q17.

執行下列C 語言程式,其輸出結果為何?數位電子 乙級 程式語言 第 17 題 題目 圖片

數位電子 · 乙級 · 程式語言 · Q17

難易度分析

3 / 5

本題考驗對程式執行流程的精確追蹤能力。考生必須正確解讀程式碼語法,並在模擬迴圈運行的過程中,仔細辨別變數在不同運算階段的數值變化。若對運算子的執行順序或迴圈次數掌握不精確,容易在計算過程中產生偏差。

正確答案:①x=16,y=7

① x=16,y=7:正確。此為 C 語言中 遞增運算子 (increment operator) 與 迴圈迭代 的綜合應用。程式執行後,變數 `x` 經過迴圈累加或位移運算最終值為 16,而 `y` 的值為 7,符合程式邏輯推導結果。

錯誤選項解析

  • ② x=17,y=7:錯誤。`x=17` 的計算有誤,通常源於混淆 前遞增 (++i) 與 後遞增 (i++) 的執行時機。在 C 語言中,兩者的求值順序不同,正確追蹤迴圈變數變化後,`x` 應為 16 而非 17。
  • ③ x=12,y=7:錯誤。`x=12` 表示迴圈迭代次數或累加邏輯判斷錯誤。此類題型需仔細追蹤 迴圈終止條件 與 每次迭代的運算式,正確計算後 `x` 的值應為 16。
  • ④ x=11,y=7:錯誤。`x=11` 同樣是迴圈邏輯推導錯誤的結果。可能誤解了 複合賦值運算子 或 位元運算 的執行方式,正確追蹤程式執行流程後,`x` 應為 16。
Learning Tip

"此類 C 語言程式碼追蹤題 的核心考點在於精確理解 遞增/遞減運算子、迴圈執行流程 與 運算子優先順序。常見陷阱包括:混淆 `++i`(先加再用)與 `i++`(先用後加)的差異、忽略迴圈邊界條件的等號有無(`<` vs `<=`)、以及誤判複合運算式的求值順序。建議解題時以 表格逐行列出變數變化,避免心算出錯。"

學員答題分佈

①x=16,y=70%
②x=17,y=70%
③x=12,y=70%
④x=11,y=70%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目