- Pascal 教程
- Pascal - 首页
- Pascal - 概述
- Pascal - 环境设置
- Pascal - 程序结构
- Pascal - 基本语法
- Pascal - 数据类型
- Pascal - 变量类型
- Pascal - 常量
- Pascal - 运算符
- Pascal - 决策制定
- Pascal - 循环
- Pascal - 函数
- Pascal - 过程
- Pascal - 变量作用域
- Pascal - 字符串
- Pascal - 布尔值
- Pascal - 数组
- Pascal - 指针
- Pascal - 记录
- Pascal - 变体
- Pascal - 集合
- Pascal - 文件处理
- Pascal - 内存
- Pascal - 单元
- Pascal - 日期和时间
- Pascal - 对象
- Pascal - 类
- Pascal 有用资源
- Pascal - 快速指南
- Pascal - 有用资源
- Pascal - 讨论
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;