初考-統計資料處理大意109 年第 42 題單選題
編譯器(Compiler)與直譯器(Interpreter)的敘述下列何者正確?
A編譯器所產生的執行程式執行效能較直譯器的程式更有效率正確答案
B直譯器的程式可以產生出完整的機器碼執行程式
C編譯器是一行一行讀取原始碼後立即執行,所以有很好的執行效率
DGCC 與 Dev C++是常被應用的直譯器程式工具
A正確答案
編譯器一次翻譯成機器碼後執行,效能優於逐行翻譯的直譯器。
為什麼答案是 A
正確。編譯器一次將原始碼翻譯成機器碼,執行時直接跑機器碼,不需再翻譯;直譯器每次執行都要邊翻譯邊執行,效能自然較差。
載入中…
完整詳解
Pro · 無限重點 編譯器一次翻譯成機器碼後執行,效能優於逐行翻譯的直譯器。
記住:編譯=先翻完再跑(快);直譯=邊翻邊跑(慢但彈性)。
逐選項分析
A✓ 正確
正確。編譯器一次將原始碼翻譯成機器碼,執行時直接跑機器碼,不需再翻譯;直譯器每次執行都要邊翻譯邊執行,效能自然較差。
B✕ 陷阱
錯誤。能產生完整機器碼執行檔(.exe)的是編譯器,不是直譯器。直譯器不產生獨立執行檔,每次執行都需要直譯器環境。
C✕ 陷阱
錯誤。一行一行讀取原始碼後立即執行的是「直譯器」,不是編譯器;而且這種方式執行效率較差,不是較好。敘述張冠李戴。
D✕
錯誤。GCC(GNU Compiler Collection)與 Dev C++ 都是 C/C++ 的編譯器工具,不是直譯器。常見直譯式語言如 Python、JavaScript。
編譯器 vs 直譯器 對照
| 比較項目 | 編譯器 Compiler | 直譯器 Interpreter |
|---|
| 翻譯方式 | 一次全部翻譯成機器碼 | 逐行翻譯逐行執行 |
| 執行效能 | 較快(直接跑機器碼) | 較慢(邊翻邊跑) |
| 產出檔案 | 獨立執行檔(.exe) | 無獨立執行檔 |
| 除錯便利 | 較難(要重編譯) | 較易(即時回饋) |
| 代表工具 | GCC、Dev C++、Visual C++ | Python、JavaScript、Ruby |
本題 C 選項把「直譯器」的特性(逐行翻譯執行)硬塞給編譯器,是最經典的張冠李戴陷阱。考生若只記住「執行效率好」就選,會忽略「一行一行讀取」這個關鍵特徵其實屬於直譯器。