Q31.
關於 Compiler 之敘述,下列何者錯誤?
電腦軟體應用 · 乙級 · 電腦概論 · Q31
難易度分析
2 / 5
本題要求區分編譯器能偵測的錯誤類型以及其在程式轉換流程中的具體職責,需精確掌握語法分析與邏輯分析的區別。
正確答案:①可檢查程式邏輯錯誤
① 可檢查程式邏輯錯誤:編譯器(Compiler) 僅負責將原始碼轉換為目的碼,並檢查語法錯誤,無法偵測程式邏輯錯誤(如無窮迴圈、演算法設計錯誤),邏輯錯誤需透過除錯工具或測試階段才能發現。
錯誤選項解析
- ② 可檢查程式語法(Syntax)錯誤:編譯器的核心功能之一即為進行語法分析(Syntax Analysis),能檢查原始碼是否符合程式語言的語法規則,若發現語法錯誤會回報錯誤訊息並中止編譯。
- ③ 可將程式原始碼變成目的碼:編譯器的主要作用就是將高階語言的原始碼(Source Code) 經過詞法分析、語法分析、最佳化等階段後,輸出為低階的 目的碼(Object Code)。
- ④ 無法產生執行檔:嚴格而言,編譯器僅產生目的檔(.obj/.o),最終的執行檔(.exe) 需由 連結器(Linker) 將目的檔與函式庫連結後才能產生,故此敘述正確。
Learning Tip
"本題考點在於區分 編譯器(Compiler) 與 直譯器(Interpreter) 的差異,以及理解編譯流程中各階段的職責。常考陷阱是混淆「語法錯誤」與「邏輯錯誤」——編譯器只能檢查語法錯誤,無法檢查邏輯錯誤。另外需注意 編譯器產生目的碼,而 連結器負責產生執行檔,兩者分工不同。"
學員答題分佈
①可檢查程式邏輯錯誤0%
②可檢查程式語法(Syntax)錯誤0%
③可將程式原始碼變成目的碼0%
④無法產生執行檔0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!