LONGEPASS
數位電子/電腦與周邊設備/Q17
中等
正確率 -
Q17.

下列敘述,哪一個不是巨集(Macro)的優點?

數位電子 · 乙級 · 電腦與周邊設備 · Q17

難易度分析

3 / 5

此題要求區分巨集的優點與潛在副作用。評分基準在於考生是否能辨識出巨集在展開過程中,因缺乏副程式般的狀態隔離機制,可能對系統暫存器或旗標造成影響,而非提供保護。這屬於基礎觀念的精確理解與辨析。

正確答案:①CPU 暫存器以及旗標的值可以確保不致造成混亂

① CPU 暫存器以及旗標的值可以確保不致造成混亂:巨集(Macro)在展開時會直接嵌入原始碼,若巨集內部修改了 CPU 暫存器或狀態旗標(Flags),可能導致呼叫端的程式狀態混亂,因此「確保不致造成混亂」並非巨集的優點,反而是使用巨集時需特別注意的風險。

錯誤選項解析

  • ② 原始程式可以縮短:巨集可將重複的程式碼片段以單一巨集名稱取代,使原始程式碼長度縮短,提升可讀性,此為巨集的優點。正確說法應為「原始程式可以縮短」是巨集的優點。
  • ③ 避免重複撰寫相同步驟指令:巨集的核心目的即為避免重複撰寫相同步驟指令,透過定義一次即可多次呼叫,大幅減少程式碼冗餘,此為巨集的主要優點。
  • ④ 程式易於改變與除錯:使用巨集將常用邏輯封裝後,當需求變更時只需修改巨集定義即可同步影響所有呼叫處,且結構化後更易於除錯與維護,此為巨集的優點。
Learning Tip

"本題考點為巨集(Macro)的優缺點辨析。巨集雖能縮短程式碼、避免重複撰寫並提升維護性,但因其為編譯前展開(Preprocessor Expansion),不會進行型別檢查,且若未妥善保存暫存器與旗標狀態,極易造成副作用(Side Effects)。實務上應注意巨集與副程式(Subroutine)的差異:副程式有呼叫/返回機制且能隔離暫存器狀態,而巨集僅為文字取代,需特別留意暫存器污染與旗標覆蓋問題。"

學員答題分佈

①CPU 暫存器以及旗標的值可以確保不致造成混亂0%
②原始程式可以縮短0%
③避免重複撰寫相同步驟指令0%
④程式易於改變與除錯0%

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

相似類型題目