数组与类型.ppt

上传人:s****8 文档编号:69170802 上传时间:2022-12-31 格式:PPT 页数:22 大小:83.50KB
返回 下载 相关 举报
数组与类型.ppt_第1页
第1页 / 共22页
数组与类型.ppt_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《数组与类型.ppt》由会员分享,可在线阅读,更多相关《数组与类型.ppt(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第7章章 数组与记录类型数组与记录类型数组是一些具有相同类型的元素按一定顺序组成的序列。数组中的每一个数据元素都可以通过数组名唯一一个索引号来存取,它们被顺序地安排在内存中的一段连续的存储区中。7.1 数组及其应用7.2 记录类型7.1 数组及其应用在Delphi 5/6版本中的Object Pascal引入了动态数组,数组的内存分配不再局限于静态的,可以采用动态方式为数组分配内存区。因此,数组可分为静态数组和动态数组两种类型。7.1.1 静态数组静态数组在程序初始化时必须分配内存单元,明确其固定的大小和元素的数据类型。1.一维静态数组数组通常可分为一维、二维和多维数组,在Object Pa

2、scal中,定义一个一维数组类型,其声明格式为:Type数组类型标识符数组类型标识符array下标类型下标类型 of 基类型基类型;7.1.1 静态数组2.二维静态数组 二维数组是指一个一维数组中的元素类型本身又是一个一维数组,其一般形式为;Type数组标识符数组标识符=Array下标类型下标类型1 of Array下标类型下标类型2 of 元素类型元素类型;也可以把上述形式简写成下面的形式:Type数组标识符数组标识符=Array下标类型下标类型1,下下标类型标类型2 of 元素类型元素类型;7.1.1 静态数组3.多维静态数组多维静态数组的一般格式为:Type数组类型标识符数组类型标识符a

3、rray下标类型下标类型1,下标类型下标类型2,下标类型下标类型n of 基类型基类型;TypeTest1=array1.10,1.10,1.30 of integer;VarMyarray:array0.5,0.6,0.8 of real;7.1.1 静态数组4.使用静态数组的注意事项(1)零基准数组。所谓零基准数组,就是下标从零开始的数组,例如:array 0.5 of char(2)数组的整体赋值。假设有两个数组array1和array2,其变量定义如下:7.1.1 静态数组Vararray1,array2:1.10 of char;如果要把array2中每一个元素的值相应赋值给arra

4、y1中的元素,一般是使用For语句,例如:For I:=1To 10 Do array1i:=array2i;7.1.1 静态数组(3)把数组作为过程或函数的形参。Procedure My Proc(var Array1:Array1.10 of Integer);BeganEnd;上述程序中,数组的定义和传递并在一起进行,并且Array1是作为变参传递的。另外,数组也可以作为函数的返回类型,而在Turbo Pascal 7.0是不允许的。7.1.1 静态数组(4)开放式数组。Object Pascal语言实现了开放式数组。定义两个长度不同的数组变量Var X1:Array1.10 of re

5、al;Var X2:Array1.10 of real;MyProc过程的定义,其形参是开放式数组Procedure MyProc(X:Array of Real);Begin过程体略End;Begin MyProc(X1);MyProc(X2);End;【例7-1】利用数组求出任意10个数中的最大及最小值。如程序所示【例7-2】利用二维数组建立一个88的方阵,该矩阵对角线元素为8,其余元素为1,结果显示在列表组件ListBox1中。如程序所示7.1.2 动态数组1.一维动态数组一维动态数组的声明格式为:Type数组类型标识符数组类型标识符array of 基类型基类型;也可在变量声明中直接声

6、明动态数组,其格式为:Var变量名变量名:array of 基类型基类型;7.1.2 动态数组2.多维动态数组Type数组类型标识符数组类型标识符array of array of array of 基类型基类型;Var 变量名变量名:动态数组类型标识符动态数组类型标识符;或 Var 动态数组变量名动态数组变量名:array of array of array of 基类型基类型;例如,如下声明了一个二维动态数组变量Type TMessageGrid=array of array of stringVar MsGS:TMessageGrid;【例7-3】创建一个三角形的矩阵,并在一个ListB

7、ox列表框中显示出来。如程序所示7.2 记录类型Object Pascal的记录类型跟数据库中的记录概念很相似,记录类型中的元素可以理解为数据库中的字段。事实上,Object Pascal正式借用了数据库中的记录和字段的概念。7.2.1 记录类型的声明声明一个记录类型的一般格式为:Type记录类型标识符记录类型标识符=Record 域名表域名表1:类型类型1;域名表域名表2:类型类型2;域名表域名表n:类型类型n;End;7.2.2 访问记录域与With语句 在程序设计中,记录类型经过声明并建立实例之后就可以使用了。使用记录类型实际上是对记录的字段进行访问,由于记录类型中元素的类型不同,因此不

8、能像使用数组一样使用下标。访问记录域的方法有两种:限定访问记录字段和使用With语句。7.2.2 访问记录域与With语句1.限定访问记录中的字段在Object Pascal中,限定访问记录中某个字段的格式是:记录变量名记录变量名.字段名字段名;Type TEmployee=record Name:string20;YearHired:1990.2000;Salsry:Double;Position:string20;end;7.2.2 访问记录域与With语句(1)记录的整体赋值。记录的整体赋值。尽管记录中的每一个字段可以进行各种合法的尽管记录中的每一个字段可以进行各种合法的运算,但记录作为

9、一个整体,只能进行赋值运算,但记录作为一个整体,只能进行赋值运算,即把一个记录整体赋给另一个类型一运算,即把一个记录整体赋给另一个类型一致的记录。例如:致的记录。例如:VarCust1,Cust2:Customer;Cust1:=Cust2;赋值号右边的记录变量必须是有值的,所谓有赋值号右边的记录变量必须是有值的,所谓有值是指记录的每个字段都赋值。值是指记录的每个字段都赋值。7.2.2 访问记录域与With语句(2)记录与数组。记录与数组的相同点是:两者都是构造类型,是多个相关数据的集合,都可以整体赋值。记录如数组的不同点是:1)数组中元素的类型是相同的,而记录中的字段可以是不同类型。2)数组

10、中元素的个数在一定范围内是可变的,而记录中字段的数量是固定的。3)数组的元素是通过数组变量名加方括号和下标来访问的,而记录中的字段是通过记录变量名加一个小圆点和字段名来访问的。7.2.2 访问记录域与With语句2.使用With语句Object Pascal提供了一个With语句,其格式是:With 记录变量名记录变量名 Do 语句语句With Cust1 DoBeginCustid:=2;Name:=ZHANG:Cpsl:=78.967;End;With语句中还可以有语句中还可以有With语句,这称为语句,这称为With嵌嵌套套。7.2.3 记录的变体部分为了描述不确定一张履历表,在声明记录类型时就要用到记录的变体部分。带有变体部分的记录类型的声明格式为:Type记录类型标识符记录类型标识符=Record 域名表域名表1:类型类型1;域名表域名表2:类型类型2;域名表域名表n:类型类型n;Case 识别字段标识符识别字段标识符:识别字段类型识别字段类型 Of常量表常量表1:字段列表字段列表1;常量表常量表2:字段列表字段列表2;常量表常量表n:字段列表字段列表n;End;【例7-4】结合数组类型和记录类型编写一个计算学生成绩的程序。如程序所示

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁