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

執行下列C 語言函式test(),回傳之值為何?數位電子 甲級 程式語言 第 32 題 題目 圖片

數位電子 · 甲級 · 程式語言 · Q32

難易度分析

3 / 5

題目考察for迴圈中break與continue的執行順序與遞增規則,需要手動追蹤變數變化。此類問題雖非極致複雜,但仍需一定推理與流程分析,屬於中等難度。

正確答案:②4

② 4:追蹤執行流程:初始 a=1, b=1;第一次迭代 b=1→4(continue);第二次 b=4→7(continue);第三次 b=7→10(continue);第四次 a=4 時 b>=10 觸發 break,回傳 a=4。

錯誤選項解析

  • ① 3:若誤認為 b 在第三次迭代時即觸發 break 條件,會得出 a=3,但實際上 b%3==1 的判斷在 b=1、4、7 時均成立,需再執行一次迭代才會使 b>=10。
  • ③ 5:若誤將 continue 視為不跳過 a++ 或錯誤計算迭代次數,可能得出 a=5,但 continue 會跳至 for 的遞增表達式,a 仍正常遞增。
  • ④ 100:若完全忽略 break 與 continue 的控制流程,誤以為迴圈會執行至 a<=100 結束,會得出 a=100,但 b>=10 的 break 條件會提前終止迴圈。
Learning Tip

"此題核心考點為 for 迴圈中 break 與 continue 的執行順序。continue 會跳過本次迴圈剩餘陳述式,直接執行 a++ 後進入下一次迭代判斷;break 則直接跳出整個迴圈。常考陷阱在於混淆 continue 是否會執行遞增表達式(答案是會),以及誤判 break 觸發時的 a 值。建議手動追蹤變數變化,逐次記錄 a 與 b 的值以確認流程。"

學員答題分佈

①30%
②40%
③50%
④1000%

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

相似類型題目