1.保留字(关键字)
所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。标准Pascal语言中的保留字一共有35个,Turbo Pascal语言一共有51个。下面是pascal语言的保留字(斜体是Turbo Pascal特有的保留字):
AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,Program,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,var,WHILE,WITH,EXPORTS,SHR,STRING,ASM,OBJECT,UNIT,CONSTRUCTOR,IMPLEMENTATION,DESTRUCTOR,USES,INHERITED,INLINE,INTERFAcE,LIBRARY,XOR,SHL
2.标识符
(1)表识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。例如例1.1中的Area(程序名),pi(符号常量),s、r(变量名)都是标识符。
(2)表识符的分类:
a.标准标识符:指Pascal语言预先定义的表识符,具有特殊含义。
以下列举了Turbo Pascal语言部分常用的标准表识符:
标准常量 False Maxint True
标准类型 Boolean char Real Integer
标准函数 Abs Arctan Chr cos Eof Eoln Exp
Ln Odd Ord Pred Round Sin Sqr
Sqrt Succ Trunc
标准过程 Dispose Get New Pack Page Put Read
Readln Reset Rewrite Unpack Write Writeln
标准文件 Input Output
b.用户字定义表识符:由你来根据需要定义。
(1)选用的表识符不能和保留字相同。
(2)语法上允许预定义的标准标识符作为你定义的的表识符使用,但最好还是不要用。
以下列举了你在定义表识符时可以用的字符:
A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^
2.3 Pascal数据类型
数据是程序设计的一个重要内容,其重要特征----数据类型,确定了该数据的形、取值范围以及所能参与的运算。
Turbo Pascal 提供了丰富的数据类型,这些数据类型可以分为三大类:简单类型、构造类型和指针类型,其中简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、记录类型和文件类型。这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。在这些数据类型中简单类型都是有序类型,除了实型以外的简单类型都是顺序类型,所谓顺序类型就是他们的值不仅是有序的而且是有顺序号。
在这里主要介绍整型、实型、字符型和布尔型四种常用的数据类型。
1.整型
一个整型数据用来存放整数。Turbo pascal支持五种预定义整型,它们是shortint(短整型)、 integer(整型)、 longint(长整型)、 byte(字节型)和 word(字类型),Turbo Pascal分别用相同的名字作为他们的表识符。每一种类型规定了相应的整数取值范围以及所占用的内存字节数。
类型 数值范围 占字节数 格式
shortint -128..128 1 带符号8位
inteter -32768..32767 2 带符号16位
longint -2147483648..2147483647 4 带符号32位
byte 0..255 1 带符号8位
word 0..65535 2 带符号16位
Turbo Pascal规定了两个预定义整型常量表识符maxint和maxlonint,他们各表示确定的常数值,maxint为32767, longint为2147483647,他们的类型分别是integer 和longint。
2.实型
一个实型数据用类存放实数。Turbo pascal支持五种预定义实型,它们是real(基本实型)、 single(但精度实型)、double(双精度实型)、extended(扩展实型)、comp(装配实型),Turbo Pascal分别用相同的名字作为他们的表识符。每一种类型规定了相应的实数取值范围、所占用的内存字节数以及它们所能达到的精度。
类型 数值范围 占字节数 有效位数
real 2.9e-39..1.7e38 6 11..12
single 1.5e-45..3.4e38 4 7..8
double 5.0e-324..1.7e308 8 15..16
extended 3.4e-4932..1.1e4932 10 19..20
comp -2**63+1..2**63-1 8 19..20
Turbo Pascal支持两种用于执行实型运算的代码生成模式:软件仿真模式和80x87浮点模式。除了real可以在软件仿真模式下直接运行以外,其他类型必须在80x87浮点模式下运行。
3.布尔型
一个布尔型数据用来存放逻辑值(布尔值)。布尔型的值只有两个:false和true,并且false的序号是0,true的序号是1。false 和true都是预定义常数表识符,分别表示逻辑假和逻辑真。并且true<false。boolean是布尔型的表识符。
4.字符型
字符型用char作为表识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。
2.4 常量与变量
1.常量
(1)常量:在某个程序的整个过程中其值不变的量。
(2)常量定义:常量定义出现在说明部分。它的语法格式是:
const
<常量标识符>=<常量>;
...
<常量标识符>=<常量>;
常量表识符的类型由定义它的常量的类型决定。例如:const a=12 隐含说明a是整型;const r=3.21 隐含说明r是实型......
(3)常量定义部分必须以保留字const开头,可以包含一个或几个常量定义,而且每个常量均以分号结束。
(4)Turbo Pascal类型常量
类型常量,又称变量常数,它是Turbo pascal的一个扩充特性。类型常量的定义与标准Pascal规定的常数定义和变量说明有所区别。类型常量定义的语法格式:
const
<简单类型常量标识符>:简单类型=常数;
例如:
const
counter:integer=0;
flag:boolean=true;
index:0..100=0;
2.变量
(1)变量:在某个程序中的运行过程中其值可以发生改变的量
(2)变量说明:变脸说明出现在说明部分。它的语法格式是:
var
<变量标识符列表>:<类型>;
...
<变量标识符列表>:<类型>;
其中,保留字var表示开始一个变量说明部分。变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符。每个变量说明均以分号结束。
例如:
var
a,b,c:integer;
m,n:real;
2.5 标准函数
1.算术函数
函数标识符
自变量类型
意义
结果类型
abs
整型、实型
绝对值
同自变量
arctan
整型、实型
反正切
实型
cos
整型、实型
余弦
实型
exp
整型、实型
指数
实型
frac
整型、实型
小数部分
实型
int
整型、实型
整数部分
实型
ln
整型、实型
自然对数
实型
pi
无自变量
圆周率
实型
sin
整型、实型
正弦
实型
sqr
整型、实型
平方
同自变量
sqrt
整型、实型
平方根
实型
例:
abs(-4)=4
abs(-7.49)=7.49
arctan(0)=0.0
sin(pi)=0.0
cos(pi)=-1.0
frac(-3.71)=-0.71
int(-3.71)=-3.0
sqr(4)=16
sqrt(4)=2
2.标量函数
函数标识符
自变量类型
意义
结果类型
odd
整型
判断奇数
布尔型
pred
离散类型
求前趋
同自变量
succ
离散类型
求后继
同自变量
例:
odd(1000)=false
odd(3)true
pred(2000)=1999
succ(2000)=2001
pred('x')='w'
succ('x')='y'
3.转换函数
函数标识符
自变量类型
意义
结果类型
chr
byte型
自量对应的字符
字符型
ord
离散类型
自量对应的序号
longint
round
实型
四舍五入
longint
trunc
实型
截断取整
longint
4.杂类函数
函数标识符
自变量类型
意义
结果类型
random
无自变量
[0,1)之间的随机实数
real
random
word
[0,自变量)之间的随机整数
wird
randomize
无自变量
用一随机值初始化内部随机数产生器
longint
upcase
字符型
使小写英文字母变为大写
字符型
2.6 运算符和表达式
1.运算符和优先级
(1)运算符
a.算术运算符 运算符
运算
运算对象
结果类型
+
加
整型、实型
只要有一个运算对象是实型,结果就是实型,如果全部的运算对象都是整型并且运算不是除法,则结果为整型,若运算是除法,则结果是实型
-
减
整型、实型
*
乘
整型、实型
/
除
整型、实型
div
整除
整型
整型
mod
取余
整型
整型
b.逻辑运算符
运算符
运算
运算对象
结果类型
not
逻辑非
布尔型
布尔型
and
逻辑与
布尔型
布尔型
or
逻辑或
布尔型
布尔型
xor
逻辑异或
布尔型
布尔型
c.关系运算符
运算符
运算
运算对象
结果类型
=
等于
简单类型
布尔型
<>
不等于
简单类型
布尔型
<
小于
简单类型
布尔型
>
大于
简单类型
布尔型
<=
小于等于
简单类型
布尔型
>=
大于等于
简单类型
布尔型
(2)优先级
运算符
优先级
not
1(高)
*,/,div,mod,and
2
xor,+,-,or
3
in,=,<>,>=,<=,<>
4(低)
2.表达式
(1)算术表达式:算术表达式是由算术运算符连接常量、变量、函数的式子。算术表达式中各个运算符的次序为: ( )-->函数-->*,/,div,mod-->+,1
(2)布尔表达式:Turbo Pascal提供给布尔表达式以下基本操作:逻辑运算和关系运算。