《程序设计语言.ppt》由会员分享,可在线阅读,更多相关《程序设计语言.ppt(36页珍藏版)》请在优知文库上搜索。
1、第第3 3章章 程序设计语言程序设计语言4/2/20232计算机科学导论计算机科学导论学习目标学习目标u了解计算机程序设计语言、编译原理的基本知识。了解计算机程序设计语言、编译原理的基本知识。u掌握程序的概念、高级语言程序设计的基本内容。掌握程序的概念、高级语言程序设计的基本内容。第第3 3章章 程序设计语言程序设计语言4/2/20233计算机科学导论计算机科学导论3.1 程序设计语言概述程序设计语言概述3.1.1 程序程序 程序就是能够实现特定功能的一组指令序列程序就是能够实现特定功能的一组指令序列的集合。其中,指令可以是机器指令、汇编语言的集合。其中,指令可以是机器指令、汇编语言指令,也可
2、以是高级语言的语句命令,甚至还可指令,也可以是高级语言的语句命令,甚至还可以是用自然语言描述的运算、操作命令等以是用自然语言描述的运算、操作命令等。4/2/20234计算机科学导论计算机科学导论3.1.2 计算机程序设计语言计算机程序设计语言 程序设计语言使得人们能够与计算机程序设计语言使得人们能够与计算机进行交流,其种类非常繁多,总来说可以进行交流,其种类非常繁多,总来说可以分为分为低级语言低级语言和和高级语言高级语言两大类。两大类。4/2/20235计算机科学导论计算机科学导论u低级语言低级语言 低级语言包括两种类型:机器语言和汇编语言。低级语言包括两种类型:机器语言和汇编语言。u (1)
3、 机器语言机器语言 机器语言面向机器,可以由机器语言面向机器,可以由CPUCPU直接识别和执行。直接识别和执行。 不同的机器能够识别的机器语言是不相同的。不同的机器能够识别的机器语言是不相同的。 机器语言指令都是用一串机器语言指令都是用一串0 0、1 1构成的二进制位串来表示的。构成的二进制位串来表示的。 指令系统是机器提供的机器指令的集合指令系统是机器提供的机器指令的集合 用二进制编码表示的指令,称为机器指令,或称为机器码。用二进制编码表示的指令,称为机器指令,或称为机器码。 用机器指令编写的程序称为机器语言程序,或称为目标程用机器指令编写的程序称为机器语言程序,或称为目标程序,这是计算机能
4、够直接执行的程序。序,这是计算机能够直接执行的程序。 机器语言难以阅读和理解,编写和修改都比较困难,而且机器语言难以阅读和理解,编写和修改都比较困难,而且通用性较差。通用性较差。3.1.2 计算机程序设计语言计算机程序设计语言4/2/20236计算机科学导论计算机科学导论u(2) 汇编语言汇编语言 汇编语言也称符号语言。汇编语言也称符号语言。 指令助记符是指令英文名称的缩写,容易记忆。指令助记符是指令英文名称的缩写,容易记忆。 所谓汇编语言,就是采用字母、数字和符号来代替由一所谓汇编语言,就是采用字母、数字和符号来代替由一个个个个0和和1构成的指令操作码、寄存器、数据和存储地址构成的指令操作码
5、、寄存器、数据和存储地址等,并在程序中用它们代替二进制编码数,这样编写出等,并在程序中用它们代替二进制编码数,这样编写出来的程序就称为符号语言程序或汇编语言程序。来的程序就称为符号语言程序或汇编语言程序。 大多数情况下,一条汇编指令直接对应一条机器指令,大多数情况下,一条汇编指令直接对应一条机器指令,少数对应几条机器指令。少数对应几条机器指令。 汇编语言具有一个本质上与机器语言一一对应的指令汇编语言具有一个本质上与机器语言一一对应的指令系统。汇编语言的实质和机器语言是相同的。系统。汇编语言的实质和机器语言是相同的。3.1.2 计算机程序设计语言计算机程序设计语言4/2/20237计算机科学导论
6、计算机科学导论u低级语言的特点低级语言的特点机器语言和汇编语言都是低级语言。它们具有许机器语言和汇编语言都是低级语言。它们具有许多相同的特征。多相同的特征。 都与特定的计算机硬件系统紧密相关,来自于特定系都与特定的计算机硬件系统紧密相关,来自于特定系统统 的指令系统,可移植性差。的指令系统,可移植性差。 对程序员专业知识要求高,要求对计算机硬件的结构对程序员专业知识要求高,要求对计算机硬件的结构和工作原理非常熟悉。和工作原理非常熟悉。 每条指令的功能比较单一,程序员编写源程序时指令每条指令的功能比较单一,程序员编写源程序时指令非常繁琐。非常繁琐。 由于直接针对特定硬件编程,所以最终的可执行代码
7、由于直接针对特定硬件编程,所以最终的可执行代码非常精炼,并且执行效率高。非常精炼,并且执行效率高。 两者主要的区别在于:机器语言编写的程序无两者主要的区别在于:机器语言编写的程序无需翻译或编译,需翻译或编译,CPU能够直接识别和执行。而汇编能够直接识别和执行。而汇编语言源程序必须经过汇编才能得到目标程序。语言源程序必须经过汇编才能得到目标程序。3.1.2 计算机程序设计语言计算机程序设计语言4/2/20238计算机科学导论计算机科学导论u汇编与汇编程序汇编与汇编程序 计算机计算机CPU只能只能“识别识别”和和“执行执行”机器语言,机器语言,虽然汇编语言比机器语言更容易使用和阅读,虽然汇编语言比
8、机器语言更容易使用和阅读,但但CPU不能不能“识别识别”和和“执行执行”,需要汇编语,需要汇编语言程序言程序“翻译翻译”成计算机能够识别的机器语言成计算机能够识别的机器语言程序,该程序称为汇编程序,又称汇编语言翻程序,该程序称为汇编程序,又称汇编语言翻译程序或汇编器,是一种把用汇编语言编写的译程序或汇编器,是一种把用汇编语言编写的汇编语言源程序翻译成机器语言程序的系统程汇编语言源程序翻译成机器语言程序的系统程序。序。3.1.2 计算机程序设计语言计算机程序设计语言4/2/20239计算机科学导论计算机科学导论u高级语言高级语言 (1) 高级语言的产生高级语言的产生 一个问题:如何解决程序的可移
9、植性,即:程序员一个问题:如何解决程序的可移植性,即:程序员编写的源程序如何可以从一台计算机很容易地转到编写的源程序如何可以从一台计算机很容易地转到另一台计算机上工作。为了解决这些问题,人们引另一台计算机上工作。为了解决这些问题,人们引入了高级语言来编写程序。入了高级语言来编写程序。 所谓高级语言是一种由表达各种意义的所谓高级语言是一种由表达各种意义的“词词”和和“公式公式”,按照一定的,按照一定的“语法规则语法规则”来编写程序的来编写程序的语言,又称为程序设计语言或算法语言。语言,又称为程序设计语言或算法语言。 高级语言之所以高级语言之所以“高级高级”,就是因为它使程序员可,就是因为它使程序
10、员可以完全不用与计算机的硬件打交道,可以不必了解以完全不用与计算机的硬件打交道,可以不必了解机器的指令系统。机器的指令系统。 3.1.2 计算机程序设计语言计算机程序设计语言4/2/202310计算机科学导论计算机科学导论u(2) 高级语言的常见类型高级语言的常见类型 BASIC语言语言 FORTRAN语言语言 COBOL语言语言 PASCAL语言语言 C语言语言 C+和和C语言语言 其他高级语言其他高级语言 基于视窗类操作系统的,如基于视窗类操作系统的,如Visual Basic、Visual C+、Delphi、Power Builder、Java等等3.1.2 计算机程序设计语言计算机程
11、序设计语言4/2/202311计算机科学导论计算机科学导论u高级语言的优点高级语言的优点: 语句的功能强,程序员编写的源程序比较短,容易学语句的功能强,程序员编写的源程序比较短,容易学习,使用方便,可移植性较好,便于推广和交流。习,使用方便,可移植性较好,便于推广和交流。u高级语言的缺点高级语言的缺点: 编译程序比汇编程序复杂,而且编译出来的目标程序编译程序比汇编程序复杂,而且编译出来的目标程序往往效率不高,目标程序的长度比有经验的程序员所往往效率不高,目标程序的长度比有经验的程序员所编写的同样功能的汇编语言程序要长一半以上,运行编写的同样功能的汇编语言程序要长一半以上,运行时间也要长一些。时
12、间也要长一些。 因此,在很多对时间要求比较高的系统,如某些实时因此,在很多对时间要求比较高的系统,如某些实时控制系统或者大型计算机控制系统中,低级语言,主控制系统或者大型计算机控制系统中,低级语言,主要是汇编语言,仍然得到了一定的应用。要是汇编语言,仍然得到了一定的应用。3.1.2 计算机程序设计语言计算机程序设计语言4/2/202312计算机科学导论计算机科学导论3.1.3 高级语言程序设计的基本内容高级语言程序设计的基本内容用高级语言编写的源程序能提高程序员的开发效用高级语言编写的源程序能提高程序员的开发效率,高级语言程序设计依赖于各自特定的语句和率,高级语言程序设计依赖于各自特定的语句和
13、语法。语法。在高级语言中,语句是构成源程序的基本单位。在高级语言中,语句是构成源程序的基本单位。4/2/202313计算机科学导论计算机科学导论u 高级语言的共同特性高级语言的共同特性 1高级语言的基本符号高级语言的基本符号 高级语言的语法成分都是由基本符号组成的,基本符号高级语言的语法成分都是由基本符号组成的,基本符号可以分为单字符和多字符两种。单字符基本符号由单个字符可以分为单字符和多字符两种。单字符基本符号由单个字符组成,在高级语言中通常包括下列几种单字符基本符号。组成,在高级语言中通常包括下列几种单字符基本符号。字母:字母: 大写英文字母大写英文字母AZ,小写英文字母,小写英文字母az
14、,共,共52个符号。个符号。数字:数字: 09,共,共10个数字符号。个数字符号。 3.1.3 高级语言程序设计的基本内容高级语言程序设计的基本内容4/2/202314计算机科学导论计算机科学导论特殊字符特殊字符: + (加加)、- (减减)、* (乘乘)、/ (除除)、(乘方乘方)、= (等等号号)、( (左括号左括号)、) (右括号右括号)、(大于大于)、(小小于于)、,、,(逗号逗号)、 (空格空格)等。等。 多字符是由两个或两个以上的字符组成,如多字符是由两个或两个以上的字符组成,如GOTO(转移转移)、(小于或等于小于或等于)、AND(与与)等。等。3.1.3 高级语言程序设计的基本
15、内容高级语言程序设计的基本内容4/2/202315计算机科学导论计算机科学导论u 高级语言的共同特性高级语言的共同特性2高级语言的基本元素高级语言的基本元素 基本元素由基本符号组成,可分为数、逻辑值、名基本元素由基本符号组成,可分为数、逻辑值、名字、标号和字符串等字、标号和字符串等5大类:大类: 数数 它由它由09共共10个基本数字和其他一些符号个基本数字和其他一些符号(如小数点如小数点“.”、正负号、正负号“、”及指数符号及指数符号“E”等所构成。等所构成。 逻辑值逻辑值由真由真(True)和假和假(False)两个值构成。两个值构成。3.1.3 高级语言程序设计的基本内容高级语言程序设计的
16、基本内容4/2/202316计算机科学导论计算机科学导论 名字名字 由字符组成,一般约定名字的开头是字母或者下划由字符组成,一般约定名字的开头是字母或者下划线,其后可为字母或数字,如线,其后可为字母或数字,如XYZ、A123、_C等。名等。名字可用来定义常量、变量、函数、过程或子程序的,也字可用来定义常量、变量、函数、过程或子程序的,也被用来定义成某些东西,故也称为标识符。在高级语言被用来定义成某些东西,故也称为标识符。在高级语言中,一般还规定了组成名字的字符的长度,即字符个数。中,一般还规定了组成名字的字符的长度,即字符个数。 标号标号 是在高级语言中的程序语句前所加的一个名字,主是在高级语言中的程序语句前所加的一个名字,主要用来指示程序可能的转移方向。要用来指示程序可能的转移方向。 字符串字符串 由一串字符所组成。在不同的高级语言中,字符串由一串字符所组成。在不同的高级语言中,字符串中的多个字符放在一对单引号或双引号中。中的多个字符放在一对单引号或双引号中。3.1.3 高级语言程序设计的基本内容高级语言程序设计的基本内容4/2/202317计算机科学导论计算机科学导论u 高级语言的