问题
单项选择题
以下关于实现高级程序设计语言的编译和解释方式的叙述中,正确的是()
A.在编译方式下产生源程序的目标程序,在解释方式下不产生
B.在解释方式下产生源程序的目标程序,在编译方式下不产生
C.编译和解释方式都产生源程序的目标程序,差别是优化效率不同
D.编译和解释方式都不产生源程序的目标程序,差别在是否优化
答案
参考答案:A
解析:本题考查程序语言基础知识。用某种高级语言或汇编语言编写的程序称为源程序,源程序不能直接在计算机上执行。如果源程序是用汇编语言编写的,则需要一个称为汇编程序的翻译程序将其翻译成目标程序后才能执行。如果源程序是用某种高级语言编写的,则需要对应的解释程序或编译程序对其进行翻译,然后在机器上运行。解释程序也称为解释器,它可以直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标语言程序,然后在计算机上运行目标程序。这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。解释器翻译源程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。