常量和变量学习点点通

技术与开发

学习内容:Pascal语言

学习进度:第三课

上手难度:★★

考试类型:二级Delphi

常量和变量无论什么语言的考试都属于送分题,但是千万别掉以轻心!此类知识点的考查非常灵活,陷阱很多,如果对常量和变量的理解不到位,在答卷时肯定会对试题感到模棱两可,闹个手足无措,下面我们一起来掌握常量和变量学习中的重点。

一、掌握常量的语法

1.如何定义常量及其类型

常量是指在某个程序的整个过程中其值不变的量,它的声明一般在程序的开始部分。考生须要注意以下三点:第一点,在Object Pascal语言中,不须要声明常量的类型,常量标识符的类型由定义它的常量类型决定。例如const a=12; //说明a是整型;const r=3.21;//说明r是实型。第二点,常量定义部分必须以保留字const开头,可以包含一个或几个常量定义,而且每个常量均以分号结束。第三点,编译器能根据常量的值,自动判断常量的类型并分配内存;对于整型常量,编译器在运行时跟踪它的值,并不对其分配内存。

2.类型常量与标准Pascal常量的区别

类型常量又称变量常数,它是Turbo Pascal的一个扩充特性。类型常量的定义与标准Pascal规定的常数定义和变量说明有所区别。类型常量定义的语法格式:

const

<简单类型常量标识符>:简单类型=常数;

例如:

const

benben:integer=6456;flg:boolean=true;index:0..100=0;

3.理解Pascal语言中标识符的规则

在计算机的编程语言中,标识符就是用来自己定义要用的名称(如变量的名称、方法的名称、类的名称等等)。不同的计算机编程语言,它的标识符的命名规则也不一样。

在Delphi 中定义标识符一般采用一个或多个具有实际意义的英文单词,以下几点为考试的重点:标识符由字母、数字、或下划线组成(不能包含空格),例如benben合法,12#d不合法;必须以字母或下画线开始,例如a2合法,2a不合法;标识符可以是任意长度,但只有前面的255个字符有效;不能使用保留字做标识符,例如const不合法;标识符不区分大小写,和C语言不一样,a2和A2在Pascal中认为是一个变量。

判断标识符是否合法是考试必考内容之一,考试方式一般为选择题,规则简单但考题灵活,考生非常容易失分,考生必须吃透这5点规则才能保证拿到这些分数。

二、灵活运用变量

1.如何定义变量及其类型

变量是指在某个程序的运行过程中其值可以发生改变的量。变量的定义以保留字var开始变量说明部分,变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符,每个变量说明均以分号结束。和VB一样对大小写不敏感。需要注意的是变量在使用前必须声明,声明变量时必须指定一种数据类型。例如:

var//保留字var开始定义变量

a,b,c:integer;//a、b、c为整型变量,变量之间用逗号分开,冒号后面的integer表示这3个变量为整型,最后以分号结束

m,n:real;//m、n为实型变量

2.定义全局变量时为其赋初值

变量按作用域分为全局变量和局部变量,在Pascal中,只允许对全局变量赋初值,对于在过程或者函数中定义的局部变量则不能赋初值。下例说明在Delphi中如何定义全局变量并为其赋初值。

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

//全局变量在这里定义

a:integer=42;//定义全局变量a为整型,并赋初值为42

b: integer;//定义全局变量未赋初值

implementation

Delphi在程序运行后,编译器自动对全局变量赋初值:整型数赋为0,浮点数赋为0.0,指针赋为null,字符串赋为空串。因此我们不必对全局变量赋0初值。

读者反馈

读者 白露梳:看了上期的文章,我想问一下,在每一个枚举类型中,默认编译的情况下,我们最多能定义多少个值?

小新点评:不超过256个值。枚举类型有多种内部表示法。缺省时,Delphi 用8位表示法;如果有多于256个不同的值,则用16位表示法。还有一种32位表示法,需要与C、C++库兼容时才用到。使用$Z 编译指令可改变缺省设置,请求更多位的表示法。