22数据类型 描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序 加工处理的符号的集合称为数据。数据的一个重要特征就是其所属的数据 类型,数据类型不仅确定了该类数据的表示形式和取值范围,而且还确定 数据所能够参加的各种运算 Object Pasca提供了多种数据类型,包括标准数据类型和高级数据类 型。标准数据类型属于○ bject Pascal内部约定的数据类型,无需定义就可 以直接使用。标准数据类型有整型( Integer)、实型(Real)、字符型 ( Character)、字符串型( String)、布尔型( Boolean)五种。高级数 据类型体现了特殊的数据结构,在使用之前必须由用户自己进行定义。高 级数据类型有枚举型( Enumerated)、子界型( Subrange)、集合类型 (Set)、数组类型(Aray)、记录类型( Record)文件类型(Fie、 类类型( Class)、类引用类型( Class Reference)、接口类型 ( Interface)、指针类型( Pointer)、过程类型( Procedura)、可变类 型( Variant)。 Inprise eph
2.2 数据类型 描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序 加工处理的符号的集合称为数据。数据的一个重要特征就是其所属的数据 类型,数据类型不仅确定了该类数据的表示形式和取值范围,而且还确定 了数据所能够参加的各种运算。 Object Pascal提供了多种数据类型,包括标准数据类型和高级数据类 型。标准数据类型属于Object Pascal内部约定的数据类型,无需定义就可 以直接使用。标准数据类型有整型(Integer)、实型(Real)、字符型 (Character)、字符串型(String)、布尔型(Boolean)五种。高级数 据类型体现了特殊的数据结构,在使用之前必须由用户自己进行定义。高 级数据类型有枚举型(Enumerated)、子界型(Subrange)、集合类型 (Set)、数组类型(Array)、记录类型(Record)文件类型(File)、 类类型(Class)、类引用类型(Class Reference)、接口类型 (Interface)、指针类型(Pointer)、过程类型(Procedural)、可变类 型(Variant)
2.21整型 整数包括正整数、负整数和零。 整型是存储整数数据的类型。 Object Pascal包括9种形式的整型数 据,详见本教程P25页表2-3 前2种为一般整型,后7种为基本整型,应尽量使用 J Integer、 Cardinal 两种基本类型,因为它们在各种CPU和操作系统中都提供最佳的性能。 通常,作用于整数的算术运算符返回 Integer类型的值。在当前执行中, 等价于32位的长整型( LongInt)。仅当对int64类型执行运算时,运算结 果返回lnt64类型。因此,下面的代码执行后得到的结果是不正确的: ar i: Integer; j: Int64 i:=High( nteger);∥取 Integer类型中的最大值 j:=i+1; 要使返回值是lnηt64类型,在上面的情况中可以将i转换为nηt64。代码如下 j:=lnt64()+1; Inprise eph
2.2.1 整型 整数包括正整数、负整数和零。 整型是存储整数数据的类型。Object Pascal包括9种形式的整型数 据,详见本教程P25页 表2-3。 前2种为一般整型,后7种为基本整型,应尽量使用Integer、Cardinal 两种基本类型,因为它们在各种CPU和操作系统中都提供最佳的性能。 通常,作用于整数的算术运算符返回Integer类型的值。在当前执行中, 等价于32位的长整型(LongInt)。仅当对Int64类型执行运算时,运算结 果返回Int64类型。因此,下面的代码执行后得到的结果是不正确的: var i: Integer; j: Int64; ... i := High(Integer); //取Integer类型中的最大值 j := i + 1; 要使返回值是Int64类型,在上面的情况中可以将 i 转换为Int64。代码如下: ... j := Int64(i) + 1;
222实型 实数是最常用的数据类型 在 Object Pascal中实数有两种表示方法:小数表示法和科学计数法。 例如: 3.6,2.4e0,-1.2e-5,3E7 小数表示法与日常数学中所用表示方法相同。科学计数法中,e之前 表示有效数字,e之后数字表示10的幂。即 1.2e5=(-12)×10-5=0.000012 需要注意的是小数表示法中小数点前后都必须有数字,科学计数法中 e前后都必须有数字,e可以大街在。 实型是存储实数数据的类型。 Object Pascal包括5种形式的实型数 据,详见本教程P26表2-4。 前六种为基本数据类型,Real为一般实型。最常用的实型是Rea类 型,它与 Double等价。 Currency是专为处理货币而设计的,该类型与其 他实型进行运算时, Delphi自动将结果转化为 Currency类型。 Inprise eph
2.2.2 实型 实数是最常用的数据类型。 在Object Pascal中实数有两种表示方法:小数表示法和科学计数法。 例如: -3.6,2.4e0,–1.2e-5,3E7 小数表示法与日常数学中所用表示方法相同。科学计数法中,e之前 表示有效数字,e之后数字表示10的幂。即 –1.2e-5=(-1.2) ×10-5=-0.000012 需要注意的是小数表示法中小数点前后都必须有数字,科学计数法中 e前后都必须有数字,e可以大写成E。 实型是存储实数数据的类型。Object Pascal包括5种形式的实型数 据,详见本教程P26表2-4。 (图1-2) 前六种为基本数据类型,Real为一般实型。最常用的实型是Real类 型,它与Double等价。Currency是专为处理货币而设计的,该类型与其 他实型进行运算时,Delphi自动将结果转化为Currency类型
223字符型 字符型是存储单个字符的类型。 Object Pascal包括3种形式的字符型数 据,详见表25。 表2-5 Object Pascal语言的字符型 类型 名称 字节数 取值范围 Ansi字符型 Ansichar 扩展ANSI字符集 宽字符型 Widechar 2 UniCode字符集 字符型 Char 1(2) 扩展ANSI字符集 基本字符类型是 Ansichar和 Widechar。 Ansichar的尺寸是一个字节(8 位),其值参照本地字符集。 Ansichar最初模仿ANSl字符集,但现在用于 扩大到当前的本地字符集。 Widechar字符用多于一个字节来表示每个字符 Widechar的尺寸是一个字(16位),其字符顺序参照 Unicode字符集, Unicode字符集中的前256个字符对应ANS字符 般字符类型是Char,等价于 Ansichar 字符类型数据的表示方法是用两个单引号括起单个字符如:A、6'、'. ’表示空格符。 Inprise eph
2.2.3 字符型 字符型是存储单个字符的类型。Object Pascal包括3种形式的字符型数 据,详见表2-5。 基本字符类型是AnsiChar和WideChar。AnsiChar的尺寸是一个字节(8 位),其值参照本地字符集。AnsiChar最初模仿ANSI字符集,但现在用于 扩大到当前的本地字符集。WideChar字符用多于一个字节来表示每个字符。 WideChar的尺寸是一个字(16位),其字符顺序参照Unicode字符集, Unicode字符集中的前256个字符对应ANSI字符。 一般字符类型是Char,等价于AnsiChar。 字符类型数据的表示方法是用两个单引号括起单个字符如:'A'、'6'、' . '。 ' ' 表示空格符。 表2-5 Object Pascal 语言的字符型 类型 名称 字节数 取值范围 Ansi字符型 AnsiChar 1 扩展ANSI字符集 宽字符型 WideChar 2 UniCode字符集 字符型 Char 1(2) 扩展ANSI字符集
224字符串型 字符串型是存储字符串数据的类型。 Object Pascal包括4种形式的字 符串型数据,详见本教程P27页表2-6。 保留字 string的作用如一般类型的标识符。例如 var S: string 创建了变量S,用于保存串。在默认的编译指示{$H+}状态下,编译 器将 string(后面没有跟随方括号和数字)解释为 AnsiString;使用编译 指示{$H}时,解释为 Short String。 Short String类型串的长度在0到255之间。 Short String串的长度可以动 态改变,其占用的内存是静态的,总是256字节;第一个字节存储串的长 度,其余255个字节存储串中的字符 AnsiString也叫做长串( long string),用来表示动态分配的串 Wide String类型表示16位 Unicode字符的动态分配的串。 Wide String 类型大部分的特性与 Ansistring类型相似 Object Pasca还支持其他最大长度在0到255之间的短串。可以通过 在保留字 string.后边附加方括号括起来的数字来表示。例如: var My String: string[ 100] 创建了一个叫做 MyString的变量,其最大长度为100个字符。 Inprise eph
2.2.4 字符串型 字符串型是存储字符串数据的类型。Object Pascal包括4种形式的字 符串型数据,详见本教程P27页表2-6。 保留字string的作用如一般类型的标识符。例如: var S: string; 创建了变量S,用于保存串。在默认的编译指示{$H+}状态下,编译 器将string(后面没有跟随方括号和数字)解释为AnsiString;使用编译 指示{$H-}时,解释为ShortString。 ShortString类型串的长度在0到255之间。ShortString串的长度可以动 态改变,其占用的内存是静态的,总是256字节;第一个字节存储串的长 度,其余255个字节存储串中的字符。 AnsiString也叫做长串(long string),用来表示动态分配的串。 WideString类型表示16位Unicode字符的动态分配的串。WideString 类型大部分的特性与AnsiString类型相似。 Object Pascal还支持其他最大长度在0到255之间的短串。可以通过 在保留字string后边附加方括号括起来的数字来表示。例如: var MyString: string[100]; 创建了一个叫做MyString的变量,其最大长度为100个字符