常量和变量学习点点通
技术与开发
学习内容: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 编译指令可改变缺省设置,请求更多位的表示法。