《Delphi程序设计及实验指导》电子教案-第2章.ppt
《《Delphi程序设计及实验指导》电子教案-第2章.ppt》由会员分享,可在线阅读,更多相关《《Delphi程序设计及实验指导》电子教案-第2章.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Delphi 7 程序设计与实验指导张景安 赵慧勤 张叶娥 傅文博编 著第二章 面向对象的Pascal Delphi Delphi 的 的 编 编 程 程 语 语 言 言 即 即Object Object Pascal Pascal 是 是 在 在Pascal Pascal 的 的 基 基 础 础 上 上 发 发展 展 起 起 来 来 的 的,它 它 继 继 承 承 了 了Pascal Pascal 语 语 言 言 语 语 法 法 结 结 构 构 严 严 谨 谨 和 和 编 编 译 译 代 代码 码 高 高 效 效 优 优 化 化 等 等 优 优 点 点。本 本 章 章 将 将 介 介 绍 绍
2、Object Object Pascal Pascal 的 的 数 数 据 据 类 类型、常量、变量、运算符、语句、函数和过程等。型、常量、变量、运算符、语句、函数和过程等。2.1 数据类型2.1.1 2.1.1 简单数据类型简单数据类型 简单类型包括有序类型和实型两种。简单类型包括有序类型和实型两种。1 1 有序类型 有序类型 有序类型包括整型、字符型、布尔型、枚举型和子界型。有序类型包括整型、字符型、布尔型、枚举型和子界型。有序类型是一种线性的数据结构,每个值都有唯一的前 有序类型是一种线性的数据结构,每个值都有唯一的前驱(除第一个)和唯一的后继(除最后一个)。驱(除第一个)和唯一的后继(
3、除最后一个)。(1)(1)整型 整型 整型的表示范围及存储格式见表 整型的表示范围及存储格式见表2-1 2-1。类型 类型 取值范围 取值范围 存储格式 存储格式Integer Integer-21474836482147483647-21474836482147483647 有符号 有符号32 32 位整数 位整数Cardinal Cardinal 04294967295 04294967295 无符号 无符号32 32 位整数 位整数Shortint Shortint-128127-128127 有符号 有符号8 8 位整数 位整数Smallint Smallint-3276832767-
4、3276832767 有符号 有符号16 16 位整数 位整数Longint Longint-21474836482147483647-21474836482147483647 有符号 有符号32 32 位整数 位整数Int64 Int64-2-263 632 263 63-l-l 有符号 有符号64 64 位整数 位整数Byte Byte 0255 0255 无符号 无符号8 8 位整数 位整数Word Word 065535 065535 无符号 无符号16 16 位整数 位整数Longword Longword 04294967295 04294967295 无符号 无符号32 32 位
5、整数 位整数表2-1 整型的取值范围和存储格式2.1 数据类型2.1 数据类型(2)(2)字符型 字符型 字符型的类型标识符是 字符型的类型标识符是Char Char。字符型的数据只能是单。字符型的数据只能是单个字符,不能是一串字符。例如 个字符,不能是一串字符。例如ABC ABC,x=?x=?等都不是 等都不是字符型的数据,而是字符串。字符型的数据,而是字符串。(3)(3)布尔型 布尔型 通常用到的布尔类型是 通常用到的布尔类型是Boolean Boolean,一个,一个Boolean Boolean 类型的变 类型的变量占一个字节,它只有两种取值:量占一个字节,它只有两种取值:true t
6、rue 和 和false false。定义变。定义变量 量i i,ch ch,t t 分别为整型、字符型、布尔型。分别为整型、字符型、布尔型。var var i:Interge;i:Interge;ch:Char;ch:Char;t:Boolean;t:Boolean;2.1 数据类型(4)(4)枚举类型 枚举类型 枚举类型是用一些标识符来表示一系列有序数,即由 枚举类型是用一些标识符来表示一系列有序数,即由一些标识符组成的一个线性表。定义枚举类型的语法 一些标识符组成的一个线性表。定义枚举类型的语法是:是:type type typeName=(val1,.,valn)typeName=(v
7、al1,.,valn)(5)(5)子界类型 子界类型 子界类型指的是某个有序类型(称为基类)的一个子 子界类型指的是某个有序类型(称为基类)的一个子集。定义子界类型的语法是:集。定义子界类型的语法是:type type typeName=Low.High;typeName=Low.High;2.1 数据类型 2 2 实型 实型 表 表2-2 2-2 给出了实型的表示范围和存储格式。给出了实型的表示范围和存储格式。类型 类型 范围 范围 有效位 有效位 所占位数 所占位数Real Real 2.9*10 2.9*10-24-241.7*10 1.7*10308 30811 11-2-2 8 8R
8、eal48 Real48 2.9*10 2.9*10-39-391.7*10 1.7*1038 3811 11-2-2 6 6Single Single 1.510 1.510-45-453.4*10 3.4*1038 387 7 8 8 4 4Double Double 5.0*10 5.0*10-324-3241.7*10 1.7*10308 30815 15 16 16 8 8Extended Extended 3.6*10 3.6*10-4951-49511.1*10 1.1*104932 493219 19 20 20 10 10Comp Comp-2-263 63+l2+l263
9、63-l-l 19 19 20 20 8 8Currency Currency-922337203685477.5808922337203685477.5807-922337203685477.5808922337203685477.580719 19 20 20 8 8表2-2 实型的表示范围和存储格式2.1 数据类型2.1.2 2.1.2 字符串类型字符串类型 字符串类型是用一对单引号括起来的一系列字符。字符串 字符串类型是用一对单引号括起来的一系列字符。字符串类型的表示范围和存储格式见表 类型的表示范围和存储格式见表 2-3 2-3。类型 类型 最多字符 最多字符 字节数 字节数 字符集
10、 字符集ShortString ShortString 255 255 2 2 256B 256B ANSI ANSI 向后兼容 向后兼容AnsiString AnsiString 2 231 314 4 2GB 2GB SBCS SBCS,MBCS MBCSLongString LongString 2 231 314 4 2GB 2GB Unicode UnicodeWideString WideString 2 230 304 4 2GB 2GB 等价于 等价于AnsiChar AnsiChar表2-3 字符串类型的表示范围和存储格式2.1 数据类型2.1.3 2.1.3 结构类型结构类
11、型 结构数据类型是一种复合数据类型,由多个数据组成。结构 结构数据类型是一种复合数据类型,由多个数据组成。结构类型包括集合类型、数组类型、记录类型、文件类型等。类型包括集合类型、数组类型、记录类型、文件类型等。1 1 集合类型 集合类型 集合类型是一组相同类型元素的组合。定义集合类型:集合类型是一组相同类型元素的组合。定义集合类型:type type Name=set of BaseType Name=set of BaseType 2 2 数组 数组 数组是一些具有相同类型元素的有序组合。数组是一些具有相同类型元素的有序组合。(1)(1)静态数组 静态数组 静态数组的声明格式为:静态数组的声
12、明格式为:type type Name=arrayindexType1,.,indexTypen of BaseType;Name=arrayindexType1,.,indexTypen of BaseType;2.1 数据类型(2)(2)动态数组 动态数组 动态数组没有固定的大小或长度。当赋值或使用某些函 动态数组没有固定的大小或长度。当赋值或使用某些函数(如 数(如SetLength SetLength)时,动态数组在内存中重新分配。)时,动态数组在内存中重新分配。动态数组的声明格式为:动态数组的声明格式为:type type Name=array of BaseType;Name=ar
13、ray of BaseType;定义动态数组不需声明元素的个数。例如:定义动态数组不需声明元素的个数。例如:type type Dynamicarray=array of Real;Dynamicarray=array of Real;var var a1,a2:Dynamicarry;a1,a2:Dynamicarry;a1:=a2;/a1 a1:=a2;/a1 和 和a2 a2 指向相同的内存单元。指向相同的内存单元。2.1 数据类型 3 3 记录类型 记录类型 记录类型(有的语言中被称为结构)是一个不同种类 记录类型(有的语言中被称为结构)是一个不同种类元素的集合,每个元素称为字段(元素
14、的集合,每个元素称为字段(field field)。在声明时,)。在声明时,指定记录的名字和每个字段。声明格式为:指定记录的名字和每个字段。声明格式为:type type RecordTypeName=record RecordTypeName=record FieldList 1:type1;FieldList 1:type1;FieldList 2:type2;FieldList 2:type2;FieldList n:type n;FieldList n:type n;end;end;2.1 数据类型 4 4 文件类型 文件类型 文件类型是由相同类型的元素组成的有序集合。文件 文件类型是
15、由相同类型的元素组成的有序集合。文件类型的声明格式为:类型的声明格式为:type type fileTypeName=file of type fileTypeName=file of type 例:声明一个文件类型 例:声明一个文件类型RecordList RecordList,以上面已定义的,以上面已定义的TdateRec TdateRec 为数据类型。为数据类型。type type RecordList=file of TdateRec;RecordList=file of TdateRec;var var Myrecordlist:RecordList;Myrecordlist:Rec
16、ordList;2.1 数据类型2.1.4 2.1.4 可变类型可变类型 有时要对一些数据类型变化的数据进行操作,并且在 有时要对一些数据类型变化的数据进行操作,并且在编译期间不能确定数据的类型,这时就可以使用可变 编译期间不能确定数据的类型,这时就可以使用可变类型的数据。类型的数据。可变类型可以使用除记录、集合、静态数组、文件等 可变类型可以使用除记录、集合、静态数组、文件等结构类型、指针类型及长整型外的所有类型。可变类 结构类型、指针类型及长整型外的所有类型。可变类型有一个特殊的值 型有一个特殊的值Null Null,表示不明的或丢失的数据。,表示不明的或丢失的数据。可变类型变量的声明格式
17、为:可变类型变量的声明格式为:var var v1:Variant;v1:Variant;2.2 常量与变量2.2.1 2.2.1 标识符标识符 标识符是描述 标识符是描述Object Pascal Object Pascal 程序各个部分的名称,这些 程序各个部分的名称,这些部分包括标记、对象、过程、类型、单元、变量及程 部分包括标记、对象、过程、类型、单元、变量及程序。标识符的大小写无关(即它不区分大小写),并 序。标识符的大小写无关(即它不区分大小写),并且遵循以下规则:且遵循以下规则:可为任意长度,但只有前 可为任意长度,但只有前255 255 个字符有效。个字符有效。标识符的第 标识
18、符的第1 1 个字符必须是字母或下划线。个字符必须是字母或下划线。跟在第 跟在第1 1 个字符后面的字符必须是字母、数字或下划线。个字符后面的字符必须是字母、数字或下划线。标识符中不允许出现空格。标识符中不允许出现空格。2.2.2 2.2.2 常量 常量 常量是一个在程序的运行过程中具有不变值的标识符,常量是一个在程序的运行过程中具有不变值的标识符,常量的声明格式如下:常量的声明格式如下:Const Const 常量名 常量名=表达式 表达式;变量不能在一个常量声明中使用,变量不能在一个常量声明中使用,但算术和逻辑运算符可以,下面的函数可以在常量声明 但算术和逻辑运算符可以,下面的函数可以在常
19、量声明中使用。中使用。Abs Low Round Chr Odd SizeOf Hi Ord Abs Low Round Chr Odd SizeOf Hi Ord Succ High Pred Swap Length Ptr Trunc Lo Succ High Pred Swap Length Ptr Trunc Lo2.2 常量与变量2.2 常量与变量2.2.3 2.2.3 变量变量 变量是程序代码中代表一个内存地址的标识符,而此 变量是程序代码中代表一个内存地址的标识符,而此地址中的内容在程序执行过程中可以改变。在变量使 地址中的内容在程序执行过程中可以改变。在变量使用之前必须先声明,
20、变量声明格式如下:用之前必须先声明,变量声明格式如下:var var 变量名表 变量名表:类型名 类型名;例:例:var var s:string;s:string;i:integer;i:integer;flag:Boolean;flag:Boolean;2.3 表达式与运算符2.3.1 2.3.1 表达式表达式 表达式就是变量、常量、字符串、运算符及函数按照一定 表达式就是变量、常量、字符串、运算符及函数按照一定规则的组合。例:规则的组合。例:Peoples Republic Of+China Peoples Republic Of+China Gross/12 Gross/12 Max(
21、x,y)-Min(x,y)Max(x,y)-Min(x,y)2.3.2 2.3.2 运算符运算符 1 1 赋值运算符(赋值运算符(:=:=)赋值运算符 赋值运算符“:=”:=”是先计算赋值运算符右边表达式的值,是先计算赋值运算符右边表达式的值,再将结果赋给左边的变量。再将结果赋给左边的变量。2.3 表达式与运算符 2 2 算术运算符 算术运算符 表 表2-4 2-4 算术运算符 算术运算符运算符 运算符 作用 作用 操作数 操作数 类 类 型 型 结 结 果 果 类 类 型 型+表示正 表示正 值 值 Integer Integer 或 或Real Real Integer Integer 或
22、 或Real Real算 算 术 术 加 加 Integer Integer 或 或Real Real Integer Integer 或 或Real Real 表示 表示 负值 负值 Integer Integer 或 或Real Real Integer Integer 或 或Real Real算 算 术 术 减 减 Integer Integer 或 或Real Real Integer Integer 或 或Real Real*算 算 术 术 的乘运算 的乘运算 Integer Integer 或 或Real Real Integer Integer 或 或Real Real/浮点数的
23、除运算 浮点数的除运算 Integer Integer 或 或Real Real Real RealDiv Div 整型数的除运算 整型数的除运算 Integer Integer Integer IntegerMod Mod 模运算 模运算 Integer Integer Integer Integer2.3 表达式与运算符 3 3 关系运算符 关系运算符 关系运算符是对两个类型相容且可以比较大小的数据进 关系运算符是对两个类型相容且可以比较大小的数据进行比较,结果为布尔类型,见表 行比较,结果为布尔类型,见表2-5 2-5。表 表2-5 2-5 关系运算符 关系运算符运算符 运算符 作用 作
24、用 结 结 果 果 类 类 型 型=等于 等于 Bealoon Bealoon 不等于 不等于 Bealoon Bealoon 大于 大于 Bealoon Bealoon=大于或等于 大于或等于 Bealoon BealoonIn In 属于 属于 Bealoon Bealoon2.3 表达式与运算符 4 4 逻辑运算符 逻辑运算符 逻辑运算符对逻辑类型的操作数进行运算,结果为布尔 逻辑运算符对逻辑类型的操作数进行运算,结果为布尔型,见表 型,见表2-6 2-6。表 表2-6 2-6 逻辑运算符 逻辑运算符运算符 运算符 作用 作用 操作数 操作数 类 类 型 型 结 结 果 果 类 类 型
25、型not not 逻辑 逻辑 非 非 Bealoon Bealoon Bealoon Bealoonand and 逻辑 逻辑 与 与 Bealoon Bealoon Bealoon Bealoonor or 逻辑 逻辑 或 或 Bealoon Bealoon Bealoon Bealoonxor xor 逻辑 逻辑 异或 异或 Bealoon Bealoon Bealoon Bealoon2.3 表达式与运算符 5 5 集合运算符 集合运算符 表 表2-7 2-7 集合运算符 集合运算符运算符 运算符 作用 作用 操作数 操作数 类 类 型 型 结 结 果 果 类 类 型 型+集合的并集 集
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Delphi程序设计及实验指导 Delphi 程序设计 实验 指导 电子 教案
限制150内