目录
1、程序语言知识
程序语言分为低级语言和高级语言两个大类。
低级语言:又称为面向机器语言,它是特定的计算机系统所固有的语言。
机器语言:虽然执行效率高,但编写出来的程序可读性很差,程序难以修改和维护。
汇编语言:汇编语言是机器语言的一种提升,它使用了一些助记符号来表示机器指 令中的操作码和操作数。但它仍然是一种和计算机的机器语言十分接近的语言,使用起来仍然不太方便。
高级语言:与人们的自然语言比较接近,使用起来很方便,也极大的提高了程序设计的效率.(例如c语言中的if 就好像大家平常说的if表示的含义一样。
汇编语言和高级语言的区别不仅于此
汇编写的东西会通过汇编程序到达目标程序进而执行,而高级语言中间没有目标程序(obj)这一项,直接进行编译程序而且是一句话一句话的翻译。
另外,所有面向对象编程都有三种特性。
1.封装性:指隐藏类对象内部实现的复杂细节,将类以变量类型的形式提供给用户,从而有效地保护内部所有数据不受外部破坏。
2.继承性:指一个类(父类)再加上某些新的特征生成另外一个新类(子类),子类具有父类的全部特征,从而增强了类的共享机制,实现了软件的可重用性,简化了软件的开发工作。
3.多态性:指将同一处理过程或函数应用于不同的变量(参数),实现数据和过程的功能重载,从而简化编码。
2.汇编语言
汇编语言是特定的计算机或者计算机系统的面向机器的语言。
1.与机器指令相对应的汇编语句
汇编语言包含两大类: 2.汇编控制语句,也就是伪指令
特别说明伪指令并不翻译成机器指令,而是控制汇编程序工作。
用汇编语言编写的源程序,要通过汇编程序将它翻译成机器语言程序,才能被计算机执行。因此,汇编程序的功能就是将汇编语言所编写的源程序翻译成由机器指令和其他信息组成的目标程序。
1.将每一条可执行的汇编语句转换成对应的机器指令
2.处理一下伪指令
整个汇编程序工作通常要对源程序进行两次扫描才能完成。第一次扫描主要工作是定义符号的值。第二次扫描的目的则是产生目标程序。其中,可执行汇编语句被翻译成对应的二进制代码机器指令,而伪指令会根据伪指令记忆码调用伪指令表对应元素所规定的子程序入口。
3.解释程序:
解释程序也就是不是汇编的方式,他不产生目标程序,这是他于编译程序的区别。
有四种方式去执行解释程序
1.源程序直接执行。
2.将程序翻译成高级代码中间程序,解释执行高级代码
3.将程序转换为中低级代码中间程序,解释执行.
4.源程序翻译成机器语言解释执行——执行效率最高
翻译系统与解释系统比较:
Ø 翻译系统在执行速度上都优于建立在解释执行基础上的系统;
Ø 翻译系统的缺点是其复杂性高,这使得它的开发和维护费用都大;
Ø 解释系统比较简单,可移植性较好,适合于以交互方式执行程序;
Ø 解释系统缺点是执行速度慢;
4.编译程序
翻译系统与解释系统比较:
Ø 翻译系统在执行速度上都优于建立在解释执行基础上的系统;
Ø 翻译系统的缺点是其复杂性高,这使得它的开发和维护费用都大;
Ø 解释系统比较简单,可移植性较好,适合于以交互方式执行程序;
Ø 解释系统缺点是执行速度慢;
错题和考点:
1.在传值的方式下实参是传向形参,因此实参可以是表达式常量也可以是变量或者数组,在传地址的情况下当然还是实参传给形参,但是智能穿变量或者数组,不能是表达式,所以这样实际上是对表达式参数的修改实际上是对实际参数的修改,因此客观上讲可以说是双向传递(地址)
2.对于编译后的B程序进行反编译不能得到源程序A,智能得到等价的汇编程序
3.脚本语言都是动态语言,动态语言都是解释型语言不管是不是面向对象。且脚本语言是通过脚本引擎进行解释执行不能产生独立的保存的目标程序。
4.语法分析的输入是词法分析词法分析的方法是记号流
5.运行时结合的是动态绑定,编译时是静态绑定
6.共同路径问题都用完全图n*(n-1)/2解决
7.语法分析阶段可以发现程序中所有的语法错误,语义分析阶段却不能分析所有语义的错误。
8.若一个程序语言可以提供链表的定义运算,则其运行时数据空间必须采用堆存储的方式。