《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第2章 面向对象的Pascal

上传人:E**** 文档编号:89400791 上传时间:2019-05-24 格式:PPT 页数:69 大小:1.09MB
返回 下载 相关 举报
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第2章  面向对象的Pascal_第1页
第1页 / 共69页
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第2章  面向对象的Pascal_第2页
第2页 / 共69页
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第2章  面向对象的Pascal_第3页
第3页 / 共69页
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第2章  面向对象的Pascal_第4页
第4页 / 共69页
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第2章  面向对象的Pascal_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第2章 面向对象的Pascal》由会员分享,可在线阅读,更多相关《《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第2章 面向对象的Pascal(69页珍藏版)》请在金锄头文库上搜索。

1、第2章 面向对象的Pascal,导读 2.1 数据类型 2.2 常量与变量 2.3 表达式与运算符 2.4 语句 2.5 函数和过程 小结 习题,导读,Delphi.NET的编程语言是在Pascal的基础上发展起来的,它继承了Pascal语言语法结构严谨和编译代码高效优化等优点。 本章将主要介绍Pascal的数据类型、常量、变量、运算符、表达式、语句、函数和过程等。 学习目标: 掌握Pascal语言中的数据类型 掌握常量、变量的概念、定义和使用 掌握运算符和表达式的使用 熟悉并掌握Pascal语言中语句的格式和使用方法 掌握Pascal语言中函数和过程的使用,2.1 数据类型,Object P

2、ascal是一种“强制类型”的语言,一个变量在使用前必须先定义其数据类型,这样就决定了变量的存储格式、取值范围和所能参与的运算。Object Pascal语言具有丰富的数据类型,可以分为 简单数据类型 字符串类型 结构类型 可变类型等,2.1 数据类型,简单数据类型 简单数据类型包括有序类型和实型两种。 1有序类型 有序类型包括整型、字符型、布尔型、枚举型和子界型。 有序类型是一种线性数据结构,每个值都有惟一的前驱(除第一个)和惟一的后继(除最后一个)。,2.1 数据类型,(1)整型 在32位的操作系统下,整型的表示范围及存储格式见表2-1。 (2)字符型 字符型是Object Pascal中

3、一种相当重要的数据类型。字符型的类型标识符是Char。字符型的数据只能是单个字符,不能是一串字符。例如ABC,x=? 等都不是字符型的数据,而是字符串。,2.1 数据类型,(3)布尔型 通常用到的布尔类型标识符为Boolean,一个Boolean类型的变量占一个字节,它只有两种取值:true和false。布尔类型以非零值作为true,在一个本该出现Boolean值的地方如果是一个非零值,编译器会自动把它变为true。布尔类型主要应用于条件语句和判断语句中。例如: 定义变量i,ch,t分别为整型、字符型、布尔型。 var i: Integer; ch: Char; t: Boolean;,2.1

4、 数据类型,(4)枚举类型 枚举类型用一些标识符来表示一系列有序数,即由一些标识符组成的一个线性表。定义枚举类型的语法如下: type typeName=(val1,.,valn) 其中typeName和val1.valn都是有效的标识符。在括号内的标识符列表里将所有的标识符一一列出来。,2.1 数据类型,(5)子界类型 子界类型指的是某个有序类型(称为基类)的一个子集。定义子界类型的语法如下: type typeName=LowHigh; 其中Low和High是具有相同有序类型的常量表达式,Low必须小于High。typeName定义了一个包含从Low到High之间所有值的一个子界类型。例如

5、: type month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec); day=131; 定义了一个枚举类型month,可能的值为Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec;定义了一个子界类型day,可能的值为1、2、31,2.1 数据类型,2.1 数据类型,2实型,2.1 数据类型,字符串类型 字符串类型是用一对单引号括起来的一系列字符。Object Pascal支持以下字符串类型:ShortString、AnsiString、LongString和WideString。 注意: 习惯

6、上使用的字符串默认为AnsiString类型。 SBCS(单字符集)是指平时用的扩展型ANSI码,用一个字节表示一个字符。 MBCS(多字符集)多用于亚洲文字,用一个或多个字节来表示一个字符或符号。,2.1 数据类型,结构类型 结构数据类型是一种复合数据类型,由多个数据组成。结构类型包括集合类型、数组类型、记录类型、文件类型等。 1集合类型 集合类型是一组相同类型元素的组合。定义集合类型如下: type Name=set of BaseType 其中BaseType是一个有序类,即基类,基类是有序类型,如整型、布尔型、字符型、枚举型和子界型。一个集合类的值域是基类的所有子集(包括空集)。,2.

7、1 数据类型,2数组 数组是一些具有相同类型元素的有序组合。数组的存储方式有静态和动态两种。 (1)静态数组 静态数组的声明格式为: type Name=arrayindexType1,.,indexTypen of BaseType; 下标类型常是子界类型。只有一个下标类型的数组称为一维数组。,2.1 数据类型,(2)动态数组 动态数组没有固定的大小或长度。当赋值或使用某些函数(如SetLength)时,动态数组在内存中重新分配大小。 动态数组的声明格式为: type Name=array of BaseType; 定义动态数组只给出数组的维数和元素类型,而不需声明元素的个数。,2.1 数据

8、类型,3记录类型 记录类型(有的语言中被称为结构)是一个不同种类元素的集合,每个元素称为字段(field)。在声明时,指定记录的名字和每个字段的类型。声明格式如下: type RecordTypeName=record FieldList1:type1; FieldList2:type2; FieldListn:typen; end; 其中RecordtTypeName是一个合法的标识符,每个type指一种数据类型,每个FieldList是一个标识符或是一列由逗号分隔的标识符,最后一个分号可有可无。,2.1 数据类型,4文件类型 文件类型是由相同类型的元素组成的有序集合。文件类型的声明格式如下

9、: type fileTypeName = file of type 其中type是一种大小固定的数据类型,不可以是动态数组、长字符串、类、对象、可变类型、其他文件类型以及包含这些类型的结构类型。,2.1 数据类型,可变类型 有时要对一些数据类型变化的数据进行操作,并且在编译期间不能确定数据的类型,这时就可以使用可变类型的数据。这些数据的数据类型可以在运行期间改变,但是它们比固定类型的数据占用更多的空间,对这种类型的数据的操作也更慢。 可变类型可以使用除记录、集合、静态数组、文件等结构类型、指针类型及长整型外的所有类型。可变类型有一个特殊的值Null,表明该变量的值是未知的或是错误的。 可变类

10、型变量的声明格式为: var v1:Variant;,2.2 常量与变量,2.2.1 标识符 标识符用来描述Object Pascal程序中的标记、对象、过程、类型、单元、变量及程序等。标识符的大小写无关(即它不区分大小写),并且遵循以下规则: 可为任意长度,但只有前255个字符有效。 标识符的第1个字符必须是字母或下划线。 跟在第1个字符后面的字符必须是字母、数字或下划线。 标识符中不允许出现空格。 可以通过圆点“.”运算符将两个或更多标识符组合成一个有效的标识符。例如:FormOpt.Explode 恰当地对标识符进行命名(即选择合适的名字)是一个优秀程序的重要组成部分,合适的标识符有助于

11、阅读代码的人“顾名思义”,提高程序可读性。,2.2 常量与变量,2.2.2 常量 常量是一个在程序的运行过程中具有不变值的标识符,用Const保留字和等号(=)的形式声明,不需要指定其数据类型,只需给出具体的值,编译器会根据值确定正确的类型。 常量的声明格式如下: Const 常量名=表达式; 例如: Const pi=3.14; n=20; s=I am a student.; 变量不能在一个常量声明中使用,但算术和逻辑运算符可以,下面的函数也同样可以在常量声明中使用。 Abs Low Round Chr Odd SizeOf Hi Ord Succ High Pred Swap Lengt

12、h Ptr Trunc Lo,2.2 常量与变量,2.2.3 变量 变量是程序中代表一个内存地址的标识符,而此地址中的内容在程序执行过程中可以改变。在变量使用之前必须先进行声明,变量的声明使用保留字var。同一类型的变量可在同一声明行上指定其类型,之间用逗号隔开。变量声明格式如下: var 变量名表:类型名; 例如: var s:string; i:integer; flag:Boolean; ,2.3 表达式与运算符,2.3.1 表达式 表达式是编程语言中最常用的部分。所谓表达式就是变量、常量、字符串、运算符及函数按照一定规则的组合。例如: Peoples Republic Of +Chin

13、a Gross/12 Max(x,y)-Min(x,y),2.3 表达式与运算符,2.3.2 运算符 Object Pascal的运算符包括算术运算符、逻辑运算符、关系运算符和集合运算符等。有些运算符与所操作的对象有关,它们的意义随着所使用操作对象数据类型的不同而不同。 1赋值运算符(:=) 赋值运算符“:=”是先计算赋值运算符右边表达式的值,再将结果赋给左边的变量。 注意:“:=”不同于“=”,前者用于赋值,后者用于测试运算符两边的表达式的值是否相等。这一点与其他编程语言(如Visual Basic、C、C+等)不同,希望读者切记。,2.3 表达式与运算符,2算术运算符 算术运算符对实型和整

14、型数据进行加、减、乘、除和取模等运算 在进行“+”、“-”、“*”运算中,只要有一个操作数为Real类型,则结果为Real类型,只有两个操作数均为Integer类型,结果才为Integer类型。,2.3 表达式与运算符,3关系运算符 关系运算符是对两个类型相容且可以进行比较的数据做比较,结果为布尔类型,2.3 表达式与运算符,4逻辑运算符 逻辑运算符对逻辑类型的操作数进行运算,结果为布尔型 注意:not是一个一元运算符,and、or和xor是二元运算符。优先级由高到低为:notandor/xor。例如:表达式not(45) and ( a56)的值为true。,2.3 表达式与运算符,5集合运

15、算符 集合运算符主要对两个集合进行操作,用来判断两个集合之间的关系,2.3 表达式与运算符,6运算符的优先级 通常在一个表达式中会有多种运算符,在求表达式的值时,必须考虑运算符的计算顺序,即运算符的优先级。,2.4 语句,语句是程序设计的基础,主要由关键字和操作指令组成,再来完成一定的功能,语句分为可执行语句和非执行语句。,2.4 语句,.4.1 注释 注释是添加在程序中用来说明代码功能的语句,它是非执行语句,对程序的执行部分不会产生任何影响,只起解释说明的作用,有助于提高程序的可读性。 在Object Pascal中,有3种注释标记: 花括号“”注释:任何位于花括号“”中的内容均为注释。 双

16、斜杠“/”注释: 双斜杠“/”之后直到本行结束的内容为注释部分。 圆括号及星号对“(*)”注释:圆括号及星号对(*)中的内容为注释。,2.4 语句,例如以下都是注释语句: The first kind Of comment. /The second kind Of comment. (*The third kind Of comment.*) 注意:不能将一个作为结束标志的注释符号放进一个注释中,因为这样编译器将把此符号视为该注释的结束之处。,2.4 语句,2.4.2 简单语句和复合语句 简单语句是Object Pascal中最简单也最常用的语句,简单语句用分号分隔。赋值语句、函数、过程调用语句等都是简单语句,例如下面的语句都是简单语句: r:=m+n; /两个值相加并进行赋值 ShowMessage(Im a student.); 复合语句是多个简单语句的组合,复合语句以begin开始,以end结束。例如: begin i:=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号