数据类型
实体的数据类型指示与其相关联的含义,约束,可能的值,操作,功能和存储模式。
整数,实数,布尔和字符类型称为标准数据类型。 数据类型可以分类为标量,指针和结构化数据类型。 标量数据类型的示例是整数,实数,布尔值,字符,子范围和枚举。 结构化数据类型由标量类型组成; 例如,数组,记录,文件和集合。 我们稍后将讨论指针数据类型。
Pascal数据类型
Pascal数据类型可以总结如下图所示 -
键入声明
类型声明用于声明标识符的数据类型。 类型声明的语法是 -
type-identifier-1, type-identfier-2 = type-specifier;
例如,以下声明将变量days和age定义为整数类型,yes和true定义为Boolean类型,name和city定义为字符串类型,费用和费用作为实际类型。
type
days, age = integer;
yes, true = boolean;
name, city = string;
fees, expenses = real;
整数类型 (Integer Types)
下表提供了有关标准整数类型的详细信息,其中包含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位 |
Constants
使用常量可使程序更具可读性,并有助于在程序开头的某个位置保留特殊数量。 Pascal允许numerical, logical, string和character常量。 可以通过指定const声明在程序的声明部分声明const 。
常量类型声明的语法如下 -
const
Identifier = contant_value;
以下是一些不断声明的例子 -
VELOCITY_LIGHT = 3.0E=10;
PIE = 3.141592;
NAME = 'Stuart Little';
CHOICE = yes;
OPERATOR = '+';
必须在变量声明之前给出所有常量声明。
枚举类型
枚举数据类型是用户定义的数据类型。 它们允许在列表中指定值。 枚举数据类型只允许assignment运算符和relational运算符。 枚举数据类型可以声明如下 -
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在五月之前,五月在六月之前,依此类推。 枚举类型标识符的域不能由数字或字符常量组成。
子范围类型
子范围类型允许变量采用位于特定范围内的值。 例如,如果选民age应介于18至100年之间,则可将名为年龄的变量宣布为 -
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;