地方政府公務人員四等-電子工程類科計算機概要109 年第 28 題單選題
下列有關程式設計的觀念何者正確?
A以高階語言(High level language)撰寫成的程式碼必須藉載入器(Loader)載入到記憶體中,之後才能以編譯器(Compiler)和組譯程式(Assembler)將其轉換成機械語言(Machine language)的形式
B機械語言與機器的特性有很密切的對應關係,因此程式碼不具可攜性(Portability)正確答案
C高階語言和組合語言(Assembly language)與機器的特性沒有很密切的對應關係,因此兩者程式碼均具有可攜性
D由於組合語言通常只具備簡單的指令格式,因此以組合語言撰寫的程式碼會比以高階語言撰寫的程式碼具有更高的可讀性(Readability)
B正確答案
機械語言與 CPU 架構綁定,不同機器不通用,因此不具可攜性。
為什麼答案是 B
機械語言是 CPU 直接執行的 0/1 指令,與處理器架構(如 x86、ARM)緊密綁定,換機器就不能用,故不具可攜性。
載入中…
完整詳解
Pro · 無限重點 機械語言與 CPU 架構綁定,不同機器不通用,因此不具可攜性。
記住口訣:越低階越貼近機器、可攜性越差、可讀性越差;高階語言才有可攜性。
逐選項分析
A✕ 陷阱
順序錯誤。高階語言須先經編譯器轉成目的碼(或組譯器處理組合語言),再由載入器載入記憶體執行,不是先載入再編譯。
B✓ 正確
機械語言是 CPU 直接執行的 0/1 指令,與處理器架構(如 x86、ARM)緊密綁定,換機器就不能用,故不具可攜性。
C✕ 陷阱
組合語言與機器指令幾乎一對一對應,屬於低階語言,不具可攜性。只有高階語言才真正具備跨平台可攜性。
D✕
顛倒了。組合語言指令瑣碎、貼近硬體,可讀性遠低於接近自然語言語法的高階語言(如 Python、C)。
程式語言層級比較
| 語言層級 | 代表 | 可攜性 | 可讀性 |
|---|
| 機械語言 | 0101 二進位 | 無 | 極低 |
| 組合語言 | MOV, ADD | 無 | 低 |
| 高階語言 | C/Java/Python | 高 | 高 |
A 把「編譯 → 載入」的流程倒過來寫;C 把組合語言誤認為有可攜性;D 把可讀性高低顛倒。考古題常把程式翻譯流程的先後順序與語言特性兩兩對調,要逐字檢查。