初考-統計資料處理大意108 年第 19 題單選題
下列何者是編譯式程式語言的特點?
A執行前不需要先轉譯成機器碼
B重複執行時不需要重新編譯正確答案
C編譯式執行效率低於直譯式程式
D有彈性開發環境及快速的開發流程
B正確答案
編譯式語言先整個翻成機器碼存成執行檔,之後重複執行不用再編譯,速度快。
為什麼答案是 B
編譯式語言一旦編譯完成產生執行檔後,之後重複執行只要直接跑執行檔即可,不需再次編譯,這正是它執行效率高的原因。
載入中…
完整詳解
Pro · 無限重點 編譯式語言先整個翻成機器碼存成執行檔,之後重複執行不用再編譯,速度快。
關鍵字:『一次翻完、執行快』→ 編譯式;『邊翻邊執行、開發彈性』→ 直譯式。
逐選項分析
A✕
編譯式程式執行前『必須』先透過編譯器轉譯成機器碼(產生 .exe 等執行檔),才能被 CPU 執行。此敘述正好相反。
B✓ 正確
編譯式語言一旦編譯完成產生執行檔後,之後重複執行只要直接跑執行檔即可,不需再次編譯,這正是它執行效率高的原因。
C✕ 陷阱
顛倒陷阱!編譯式已先轉成機器碼,執行時 CPU 直接讀取,效率『高於』直譯式(直譯式每次執行都要邊翻譯邊跑)。
D✕
彈性開發環境、快速開發流程(邊寫邊測)是『直譯式』語言(如 Python、JavaScript)的特點,編譯式改一行就要重編整個程式,較不彈性。
編譯式 vs 直譯式 對照
| 比較項目 | 編譯式 (Compiler) | 直譯式 (Interpreter) |
|---|
| 翻譯方式 | 整個程式一次翻完 | 逐行翻譯逐行執行 |
| 產生執行檔 | 會 (如 .exe) | 不會 |
| 執行效率 | 高 (直接跑機器碼) | 低 (邊翻邊跑) |
| 重複執行 | 不需重編 | 每次都要重新翻譯 |
| 開發彈性 | 低 (改碼要重編) | 高 (改完立即測) |
| 代表語言 | C、C++、Go | Python、JavaScript、Ruby |
A、C、D 三個錯誤選項都是把『直譯式』的特徵硬塞給編譯式。考選部最愛用『顛倒敘述』考你有沒有真的記熟兩者差異,背口訣:編譯『先翻完、跑得快』,直譯『邊翻邊跑、改得快』。