Pascal - 数据类型


实体的数据类型指示与其相关的含义、约束、可能的值、操作、功能和存储模式。

整数、实数、布尔值和字符类型被称为标准数据类型。数据类型可以分为标量、指针和结构化数据类型。标量数据类型的示例有整数、实数、布尔值、字符、子范围和枚举。结构化数据类型由标量类型组成;例如,数组、记录、文件和集合。稍后我们将讨论指针数据类型。

帕斯卡数据类型

Pascal 数据类型可以总结如下图所示 -

帕斯卡数据类型

类型声明

类型声明用于声明标识符的数据类型。类型声明的语法是 -

 type-identifier-1, type-identfier-2 = type-specifier;

例如,以下声明将变量 days 和age 定义为整数类型,yes 和 true 定义为布尔类型,name 和 city 定义为字符串类型,fees 和花销定义为实数类型。

type
days, age = integer;
yes, true = boolean;
name, city = string;
fees, expenses = real;

整数类型

下表为您提供了有关标准整数类型及其存储大小和 Object Pascal 中使用的值范围的详细信息 -

类型 最低限度 最大限度 格式
整数 -2147483648 2147483647 有符号 32 位
红衣主教 0 4294967295 无符号 32 位
短整型 -128 127 有符号8位
斯莫林特 -32768 32767 有符号 16 位
朗格特 -2147483648 2147483647 有符号 32 位
整型64 -2^63 2^63 - 1 有符号 64 位
字节 0 255 无符号 8 位
单词 0 65535 无符号 16 位
长字 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;