编译和解释是实现高级程序设计语言的两种基本方式,(  )是这两种方式的主要区别。

考试题库2022-08-02  38

问题 编译和解释是实现高级程序设计语言的两种基本方式,(  )是这两种方式的主要区别。A.是否进行代码优化B.是否进行语法分析C.是否生成中间代码D.是否生成目标代码

选项 A.是否进行代码优化
B.是否进行语法分析
C.是否生成中间代码
D.是否生成目标代码

答案 D

解析 把高级语言源程序翻译成机器语言程序的方法有“解释”和“编译”两种。
编译方式是当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个的翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。比如将高级语言(如C++)源程序作为输入,进行编译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。
解释(翻译)方式是指源程序进入计算机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。比如将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。编译程序与解释程序最大的区别之一在于前者生成目标代码,而后者不生成;此外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互好,适于初学者使用。

编译程序会有目标代码生成
翻译程序是解析一句执行一句,无目标代码生成
转载请注明原文地址:https://tihaiku.com/congyezige/2406341.html

最新回复(0)