低级语言和高级语言.doc_第1页
低级语言和高级语言.doc_第2页
低级语言和高级语言.doc_第3页
低级语言和高级语言.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

低级语言和高级语言13.3.1 低级语言和高级语言计算机程序设计语言可以分为低级语言和高级语言两种。1低级语言低级语言提供了操纵计算机系统底层硬件的能力。熟练的程序员通常使用低级语言编写操作系统、设备驱动程序和编译器之类的底层系统软件。低级语言使用CPU的指令集直接调用处理器、寄存器和内存地址,并在这些操作中保持非常高的效率。由于不同的CPU提供的指令集有所不同,所以低级语言依赖于计算机。低级语言非常灵活,处理硬件效率高,但编写程序需要对操作系统和硬件有比较深入的了解,一般只有一些专业的程序员才使用。(1)机器语言机器语言是以二进制形式存在的,计算机可以直接执行的程序设计语言。机器语言的每一条语句就是一个机器指令,由二进制的操作码和操作数共同组成。机器语言对于人们来说难理解又难掌握,只有在计算机发展的初级阶段被使用过。(2)汇编语言汇编语言采用一些助记符号来表示机器语言中的指令和数据,使机器语言符号化,因此有时也称汇编语言是符号语言。不同型号的计算机系统一般有不同的汇编语言。汇编语言在执行前,需要用汇编系统将汇编语言翻译成机器语言。如图13.9所示。2高级语言高级语言也提供了编写程序所需要的指令或语句,但这些语句很接近人类语言,功能也比较丰富,可以使用它们可以编写大型的应用软件系统。常见的计算机编程语言大多数都是高级语言,例如BASIC,C,C+,FORTRAN,PASCAL和Java等等。和低级语言不同,高级语言编写的程序可以在不同的计算机系统中运行,这个特性大大减轻了程序员的负担,使他们不用了解计算机底层的知识,而将精力放在应用系统逻辑上。高级语言编写的程序不能直接在操作系统上运行,执行时需要根据计算机系统的不同,将程序代码翻译成计算机可以直接运行的机器语言。这个工作一般都由高级语言系统自动进行处理。一般将用高级语言编写的程序代码称为“源程序”,将翻译后的机器语言代码称为“目标程序”。(1)过程性语言过程性语言编写的程序包含一系列的语句描述,告诉计算机如何执行这些语句来完成特定的任务。过程性语言的程序需要设计具体算法,我们前面提到的设计程序的过程,主要是针对过程性语言来说的,我们常见的大多数程序语言都是过程性语言,如BASIC和C等。(2)说明性语言说明性语言是一种比较特别的语言,和过程性语言的思路有很大不同。说明性语言只需要程序员具体说明问题的规则并定义一些条件,不需要描述具体的手段,语言自身内置了算法,可以把这些规则解释为具体的解决问题的步骤。也就是说,用说明性语言编写程序时,你只需要告诉计算机做什么,而不需要告诉它怎么做。数据库管理系统中的SQL语言就是一种说明性语言。例如,用户编写了SQL语句 “SELECT * FROM TB”,这条语句的功能是输出TB表的所有记录。可以看到,这条语句并没有描述如何进行查询,只是告诉系统要查什么,系统接到这条指令后,按照预定的算法完成查询,并且输出结果。图13.12是一个Oracle SQL Plus运行SQL语句的界面。图13.12 Oracle SQL Plus运行界面 (3)脚本语言脚本语言是某些应用系统提供的扩展语言,用来扩展应用系统的功能。用户可以编写脚本嵌入到应用系统中,完成某些任务。脚本语言的运行完全依赖于应用系统,不能单独运行。例如,HTML、VBScript和JavaScript就是在浏览器上运行的脚本语言,利用这些脚本可以编写丰富多彩的网页程序。微软Office中的宏语言也是一种脚本语言,如图13.13所示。这种宏语言的语法和VB完全相同,用户可以使用这些宏扩展Office的应用。顺便说一句,Office宏语言也为某些别有用心的人提供了可乘之机,近年来各种宏病毒到处肆虐横行,使用的正是Office宏语言。图13.13 微软Office 宏编辑器 一般来说,脚本语言的功能相对比较简单,提供的控制选项不是很多。(4)面向对象语言面向对象语言是建立在面向对象方法基础上的程序设计语言。面向对象方法的基本思路是:客观世界是由许多各种各样的对象组成,每种对象都有各自的内部状态和运动规律,不同对象之间的相互作用和联系就构成了各种不同的系统。面向对象语言比较直观地反映了客观世界,便于将复杂的问题分解成若干个子问题,因此近年来在大型软件的开发中得到了广泛应用。面向对象语言一般包括如下概念:?对象:一个对象是由属性和操作组成的。属性和操作描述了对象的特性。?类:类是一组具有相同特性的对象的集合,一个对象就是特定类的一个实例。?封装:尽可能隐藏对象的内部细节。只将对象的某些接口提供给外部。?继承:类之间存在层次关系,子类对象拥有父类的全部特性。?消息:一个对象向另一个对象发送服务请求称为消息。消息是对象之间通信的手段?多态性:指一个操作作用于不同的对象可以有不同的操作,对象根据类的信息决定执行何种操作。C+、Java和微软.Net都属于面向对象语言。13.3.2 解释性语言和编译性语言计算机将源程序翻译成目标程序时,有两种翻译方式,一种是“解释”方式;一种是“编译”方式。对应于这两种翻译方式,高级语言可以分为解释性语言和编译性语言。1解释性语言解释性语言使用解释器来生成目标程序。运行一个解释性语言编写的程序时,解释器读取一条语句,把它转化为可执行的机器语言,并送到处理器执行;然后读取下一条语句,继续上述过程直至结束。解释性语言执行的特点是翻译一句执行一句,一边翻译一边执行,因此解释性语言编写的程序执行速度相对较慢,尤其是循环语句多的程序,循环语句被重复解释多次,导致效率很低。解释性语言解释一个语句的过程如图13.10所示。大家比较熟悉的BASIC语言和脚本语言都属于解释性语言。但目前一些高级的BASIC环境如Visual BASIC也提供了编译能力。2编译性语言编译性语言编写的程序在运行前,必须经过编译器将源程序翻译成等价的目标程序,然后执行该机器代码。编译后的目标程序在操作系统下可以脱离编译环境直接运行。很多编译器都提供了编译优化的功能,以优化目标程序在不同计算机系统下的运行速度,因此,编译性语言的运行效率比较高。与解释性语言相比,编译性语言编写的程序如果含有任何语法错误,那么编译就无法通过,更无法运行和查看结果。编译器的编译过程一般分为两步:1.编译:编译器将源程序转换为目标程序,但目标模块没有分配存储器的绝对地址,不能直接执行。2.链接:编译器把所有相关目标和功能库等转换为一个装入程序,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论