Pascal - 数据类型
实体的数据类型指示与其关联的含义、约束、可能的值、操作、功能和存储模式。
整数、实数、布尔值和字符类型被称为标准数据类型。 数据类型可以分为标量、指针和结构化数据类型。 标量数据类型的示例有整数、实数、布尔值、字符、子范围和枚举。 结构化数据类型由标量类型组成; 例如,数组、记录、文件和集合。 我们稍后将讨论指针数据类型。
Pascal 数据类型
Pascal 数据类型可以总结如下图所示 −
类型声明
类型声明用于声明标识符的数据类型。 类型声明的语法是 −
type-identifier-1, type-identfier-2 = type-specifier;
例如,以下声明将变量 days 和age 定义为整数类型,yes 和 true 定义为布尔类型,name 和 city 定义为字符串类型,fees 和 expenses 定义为实数类型。
type days, age = integer; yes, true = boolean; name, city = string; fees, expenses = real;
整数类型
下表为您提供了有关 Object Pascal 中使用的标准整数类型及其存储大小和值范围的详细信息 −
类型 | 最小值 | 最大值 | 格式 |
---|---|---|---|
Integer | -2147483648 | 2147483647 | 有符号 32 位 |
Cardinal | 0 | 4294967295 | 无符号 32 位 |
Shortint | -128 | 127 | 有符号 8 位 |
Smallint | -32768 | 32767 | 有符号 16 位 |
longint | -2147483648 | 2147483647 | 有符号 32 位 |
Int64 | -2^63 | 2^63 - 1 | 签名 64 位 |
Byte | 0 | 255 | 无符号8位 |
Word | 0 | 65535 | 无符号 16 位 |
Longword | 0 | 4294967295 | 无符号 32 位 |
常量
使用常量可以使程序更具可读性,并有助于将特殊数量保留在程序开头的某个位置。 Pascal 允许使用数字、逻辑、字符串 和字符 常量。 通过指定 const 声明,可以在程序的声明部分声明常量。
常量类型声明的语法如下 −
const Identifier = contant_value;
以下是常量声明的一些示例 −
VELOCITY_LIGHT = 3.0E=10; PIE = 3.141592; NAME = 'Stuart Little'; CHOICE = yes; OPERATOR = '+';
所有常量声明必须在变量声明之前给出。
枚举类型
枚举数据类型是用户定义的数据类型。 它们允许在列表中指定值。 枚举数据类型仅允许使用赋值运算符和关系运算符。 枚举数据类型可以声明如下 −
type enum-identifier = (item1, item2, item3, ... )
以下是枚举类型声明的一些示例 −
type SUMMER = (April, May, June, July, September); COLORS = (Red, Green, Blue, Yellow, Magenta, Cyan, Black, White); TRANSPORT = (Bus, Train, Airplane, Ship);
枚举类型的域中列出的项目的顺序定义了项目的顺序。 例如,在枚举类型 SUMMER 中,April 位于 May 之前,May 位于 June 之前,依此类推。 枚举类型标识符的域不能由数字或字符常量组成。
子范围类型
子范围类型允许变量采用特定范围内的值。 例如,如果会员的年龄介于 18 到 100 岁之间,则可以将名为 age 的变量声明为 −
var age: 18 ... 100;
我们将在下一节中详细了解变量声明。 您还可以使用类型声明定义子范围类型。 声明子范围类型的语法如下 −
type subrange-identifier = lower-limit ... upper-limit;
以下是子范围类型声明的一些示例 −
const P = 18; Q = 90; type Number = 1 ... 100; Value = P ... Q;
子范围类型可以从已定义的枚举类型的子集创建,例如 −
type months = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); Summer = Apr ... Aug; Winter = Oct ... Dec;