本章重点 l 保留字和标识符 l 常量与变量 l 数据类型 l 运算符与表达式 l 语句 l 过程与函数 |
Delphi的编程语言是Object Pascal,即面向对象的Pascal语言。自Delphi 7 开始,Object Pascal语言改称为 Delphi 语言。
第1节保留字和标识符
一、保留字
保留字是由系统使用的具有特殊含义的单词(如And、If、For、Var等),详见教材16~17页表2.1。
二、指令符
指令符也是由系统使用的具有特殊含义的单词(如Public、Private等),详见教材17页表2.2。
三、标识符
标识符(Identifiers)用于表示常量、变量、域(字段)、类型、属性、过程、函数、程序、单元、库和包(packages)的名称。
Object Pascal标识符的声明和使用应遵循以下规定:
· 长度任意,但仅前255个字符有效。
· 首字符必须是字母或下划线。
· 不能含有空格,中间的字符可以是字母、数字和下划线。
· 不能使用保留字(reserved words)作为标识符。
· 不区分大小写,例如sName与sname等价。
第2节注释
三种注释形式:
{ 注释内容 }
(* 注释内容 *)
// 注释内容
注意:
如果注释符{ 之后紧跟一个美元符号$(如{$R *.res}),表示该语句是一条编译指令,它与普通的注释不同,通常由Delphi自动生成,用于设置编译过程,不要修改或删除它。
第3节常量和变量
一、常量
1. 普通常量
如:123,-100,3.14,'abc',True等。
2. 符号常量
符号常量用保留字Const声明,格式如下:
Const 常量名 = 表达式;
例如:
Const
PI = 3.1415926535897932385;
College = '山东教育学院';
Numeric = ['0'..'9']; // 数字字符集合
Alpha = ['A'..'Z', 'a'..'z']; // 英语字母集合
AlphaNum = Alpha + Numeric; // 集合的并
2. 变量
变量声明的格式:
var 变量名表 :类型;
例如:
var
X, Y, Z: Double;
I, J, K: Integer;
S1, S2: String;
Digit: 0..9; // 子界类型
Flag: Boolean;
单元级或全局变量可以在声明时初始化(每个声明语句仅限一个变量)。例如:
var
x: Integer = 0;
S: string = 'abc';
第4节数据类型
本节要点 l 简单类型 l 字符串类型 l 类型相容与类型映射 l 掌握集合类型的声明和应用 l 掌握数组类型的声明 l 了解记录类型 |
概述
1. 数据类型分类
Object Pascal的数据类型可分为以下几类:
· 简单类型:包括有序类型(整型、字符型、布尔型、枚举型和子界型)和实数类型。
· 字符串类型
· 结构类型:包括集合、数组、记录、文件、类、类引用和接口类型。
· 指针类型
· 过程类型
· 可变类型
2. 预定义类型与自定义类型
有些数据类型是在Object Pascal中预先定义好的,编译器能够自动识别,无须编程者定义即可直接使用(如整型、实型、字符型、字符串型等)。这些数据类型属于预定义类型(predefined types),或称内置类型(built-in types)。
另外一些数据类型在使用前必须由编程者定义(如枚举、子界、结构类型等),这些数据类型属于自定义类型(user-defined types)。自定义类型需用type保留字声明:
type 自定义类型名称 = 类型;
一、简单类型(Simple)
包括有序类型和实数类型。
特点:一个简单类型的变量只存储单一值,它占用的内存大小相对固定。
1. 有序类型
有序类型(Ordinal types)包括整数、字符、布尔、枚举和子界类型。有序类型定义一组有序的值,其中除第一个值以外均有一个惟一的前接值(predecessor),除最后一个值以外均有一个惟一的后继值(successor)。每个值都有一个序号,在多数情况下,若某值的序号为n,则其前接值的序号为n-1,后继值的序号为n+1。
整数类型值的序号是其本身;子界类型保留其基类型的序号;其他类型中第一个值的默认序号为0,后续值序号依次加1。枚举类型的声明可以覆盖默认值。
以下是操作有序类型的常用预定义函数:
函数 |
参数 |
返回值 |
Ord |
有序表达式 |
表达式值的序号 |
Pred |
有序表达式 |
表达式值的前接值 |
Succ |
有序表达式 |
表达式值的后继值 |
High |
有序类型标识符或变量 |
类型中的最高值 |
Low |
有序类型标识符或变量 |
类型中的最低值 |
High和Low亦可用于短缩字符串类型和数组。
例如:Byte 类型的最高值为255,因此,High(Byte)返回255。2的后继值是3,因此Succ(2)返回3。
标准过程Inc和Dec分别使有序变量的值加1和减1。例如,Inc(I) 与 I := Succ(I) 等价;若I为整型变量,则Inc(I)相当于I := I + 1。
(1)整数类型
· 通用整型:
类型 |
数值范围 |
格式 |
Integer |
-2147483648..2147483647 |
有符号 32-bit |
Cardinal |
0..4294967295 |
无符号 32-bit |
· 基本整型:
类型 |
数值范围 |
格式 |
Shortint |
-128..127 |
有符号 8-bit |
Smallint |
-32768..32767 |
有符号 16-bit |
Longint |
-2147483648..2147483647 |
有符号 32-bit |
Int64 |
-263..263-1 |
有符号 64-bit |
Byte |
0..255 |
无符号 8-bit |
Word |
0..65535 |
无符号 16-bit |
Longword |
0..4294967295 |
无符号 32-bit |
(2)字符类型
类型 |
占用字节数 |
存储内容 |
Char |
1 |
存储一个ANSI字符 |
AnsiChar |
1 |
存储一个ANSI字符 |
WieChar |
2 |
存储一个Unicode字符 |
Char为通用类型。
常用函数:
Chr函数:Chr(65)返回'A',与#65等价。
“#”常用于生成控制字符。例如,下面的表达式表示在两个字符串之间插入回车换行符:
'字符串1'#13#10'字符串2'
(3)布尔类型
类型 |
占用字节数 |
False序号 |
True序号 |