高级语言处理程序的编译方式和解释方式的区别



编译是指将源语言转化为目标计算机的可执行二进制代码,如将C、C++编译为Windows上的可执行2进制文件,这种编译一旦完成,那么就只能在特定平台上运行了,由于程序执行的是编译好的二进制文件,因此速度比较快(相对下面的解释)。
解释是指程序不做任何变动,以源代码的形式提供在目标计算机上执行,但是源生代码计算机是不识别的,因此要边解释边执行,解释一条执行一条,这样的话就比编译要慢了。由于程序要在运行时动态
解释语言,因此往往需要特定的平台,例如Java需要目标机器上安装JRE,但是这种方式也有一个好处就是可以跨平台,源代码不变,在运行时根据不同的平台,解释成不同的二进制执行。



翻译方式一般分为编译和解释两种。   编译方式:事先编好的一个叫做编译程序的机器语言程序放在计算机中。当高级语言编的源程序输入计算机时,编译程序就把源程序自动整个地翻译成用机器指令表示的目标程序。   解释方式:事先编好的一个叫做解释程序的机器语言程序放在计算机中,当高级语言源程序输入计算机后,解释程序自动地逐句翻译源程序,译一句执行一句。 可以这么理解,编译的结果是另外一种语言,而解释的就是一种中间语言。



高级语言的语言处理程序分为解释程序和编译程序两种。解释程序处理源程序时,大多数采用______方法。

A.源程序语句被逐个直接解释执行

B.先将源程序转化成某种中间代码,然后对这种代码解释执行

C.先将源程序转化成目标代码,再执行

D.以上方法都不是


算术表达式“(a-b)*(c+d)”的后缀式是()。
A.ab-cd+*
B.abcd-*+
C.ab-*cd+
D.ab-c+d*
参考答案:
A
试题分析:
后缀表达式是从左到右算。把表达式加上括号,((a-b)*(c+d)),再把运算符加到括号外面ab-cd+*。答案为A。
这是编译原理里面的内容,可以参考书本进行学习,有具体不懂的问题可以在这里提。
它的大概概念为:
借用数学中表达式意境,按照语言语法规则要求写成的能够实现计算要求的程序代码。

先算括号内a-b,所以是ab-
在算括号内c+d,所以是cd+
然后再相乘,所以结果是ab-cd+*




答案:D


答案:B


编译器和解释器是两种高级语言处理程序,与编译器相比, (29) 。
(29) A.解释器不参与运行控制,程序执行的速度慢
B.解释器参与运行控制,程序执行的速度慢
C.解释器参与运行控制,程序执行的速度不变
D.解释器不参与运行控制,程序执行的速度快
在编译方式下,源程序的编译和目标代码的执行是两个独立的阶段,即编译器不参与目标代码的执行。而在解释方式下,解释器将源程序逐句地进行翻译,并立即执行。因此,解释器参与运行控制。由于解释器将两个过程一次完成,所以速度较慢


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值