pascal语言语法大全.docx
- 文档编号:11560419
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:25
- 大小:24.42KB
pascal语言语法大全.docx
《pascal语言语法大全.docx》由会员分享,可在线阅读,更多相关《pascal语言语法大全.docx(25页珍藏版)》请在冰点文库上搜索。
pascal语言语法大全
第七课:
pascal专题-pascal语言语法大全及应用配套视频
★qq语音课主讲内容★:
1.pascal语法专用字符:
a~z,a~z,0~9,+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:
=,,,;,.,:
,..,’,^;
【解说】
a~z:
大写的26个英文字母;
a~z:
小写的26个英文字母;
0~9:
10个数字;
+:
加法运算符;
-:
减法运算符;
*:
乘法运算符;
/:
除法运算符;
=:
比较运算符:
等于;
<>:
比较运算符:
不等于;
<=:
比较运算符:
小于等于;
>=:
比较运算符:
大于等于;
<:
比较运算符:
小于;
>:
比较运算符:
大于;
(,):
优先级和参数表达符:
左右括号;
[,]:
索引号表达符:
中括号;
{,}:
段落屏蔽和备注符:
大括号;
:
=:
赋值运算符;
,:
排列式表达符:
逗号;
;:
代码(功能)行结束符;
.:
主从代码分隔符:
点号;
:
:
变量定义分隔符:
冒号;
..:
子界定义表达符;
’:
字符串标识符:
单引号;
^:
指针定义符:
尖号。
2.pascal语法保留字:
and,array,begin,case,const,div,do,downto,else,end,file,for,function,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;
【解说】
and:
逻辑运算符:
逻辑与;
array:
数组定义符:
arrayof…;
begin:
程序“块”的开始标识符;
case:
多条件分支语句的开始标识符;
const:
常量定义符;
div:
算术运算符:
除法取整数结果;
do:
执行命令;
downto:
单步反循环语句中的命令;
Else:
分支语句中的命令,“否则”的意思;
end:
“结束”标识符;
file:
类型文件标识符;
for:
单步循环语句的开始标识符;
function:
函数定义的命令符;
goto:
跳转指令:
if:
单条件分支语句的开始标识符;
in:
集合运算符;
label:
定义标号;
mod:
算术运算符:
除法取余数结果;
nil:
一个表示“空值”的常量;
not:
逻辑运算符:
逻辑非;
of:
多种组合命令的辅助符,arrayof…,caseof…等;
or:
逻辑运算符:
逻辑或;
packed:
用于压缩和打包的指令;
procedure:
过程定义符;
program:
delphi工程文件标识符;
record:
记录类型标识符;
repeat:
循环语句标识符;
set:
集合定义符;
then:
组合命令的辅助符,if…Then…Else…;
to:
组合命令的辅助符,for…To…Do…;
type:
类型定义符;
until:
循环语句中的辅助符,repeat…Until…;
var:
变量定义符;
while:
循环语句定义符;while…Do…;
with:
组合命令的定义符:
with…Dobegin…End;
exports:
动态链接库输出项目定义符;
shr:
二进制右移运算符;
string:
字符串类型标识符;
asm:
汇编语言标识符;
object:
对象标识符;
unit:
单元标识符;
constructor:
构造函数定义符;
implementation:
单元中“实现部分开始”的标识符;
destructor:
析构函数定义符;
uses:
单元引用标识符;
inherited:
类继承指令;
inline:
过程和函数的调用指令;
interface:
单元中“声明部分开始”的标识符;
library:
dll工程定义符;
xor:
二进制位运算符:
异或;
shl:
二进制位运算符:
按位左移。
3.pascal语法中的标识符;
【解说】
标识符是objectpascal语言中各种成员的名称,这些成员包括变量(var)、常量(const)、类型(type)、过程(procedure)、函数(function)、方法(method)、单元(unit)等。
标识符可以分为三类:
标准标识符、自定义标识符和限定标识符。
1)标准标识符
(1)标准常量,如false、nil、true等;
(2)标准类型,如boolean、char、real等;
(3)标准函数,如sin、cos、abs、arctan等;
(4)标准过程,如dispose、get、new、pack、put等;
(5)标准文件,如input、output等。
2)自定义标识符
程序员根据程序设计的需要,自己定义的常量、变量、类型、函数、过程等所取的名字。
自定义标识符可以由任意长的一个不带空格的字符串组成,包括字母a~z、a~z、数字0~9和下划线“_”等。
定义标识符需要遵循以下规则:
(1)标识符不区分大小写;
(2)标识符只能以字母或下划线开头,不能以数字开头;
(3)标识符可任意长度,但只有前225个字符有效;
(4)标识符中间不允许有空格;
(5)不允许使用objectpascal语言的保留字作为自定义标识符。
3)限定标识符
在delphi程序中可引用多个单元,而各个单元中全局变量、函数、过程等可能会同名,在引用时需用限定标识符来区分它们:
var
y:
real;
begin
y:
=system.cos(pi);
end;
其中system称为限定符,而system.cos称为限定标识符。
4.pascal语法中的表达式;
【解说】
表达式的定义
pascal语言中的算术表达式是由符合pascal语法规定的运算对象(包括常量、变量、函数)、算术运算符、圆括号组成的有意义的式子。
如:
a+3.14159*5/8.4-abs(-13)。
1)算术运算符
常用的有以下6个算术运算符:
+、-、*、/,(实数除)得到结果为实型。
如5.0/2.0=2.5,5/2=2.5,4/2=2.0而不等于2。
div(整除),div它要求除数和被除数均为整型,结果也为整型。
如10div3=3,5div10=0,-15div4=-3。
Div运算只取商的整数部分,参与div运算的两个对象不能为实型。
mod(求余),也只能用于整数运算,取除后的余数,结果为整数。
例如:
10mod4=2,-17mod4=-1,4mod(-3)=1,-4mod3=-1,即amodb=a-(adivb)*b。
2)关系运算符:
>、<、>=、<=、=、<>
3)逻辑运算符:
not、and、or
4)运算优先顺序:
如果一个表达式里出现两个或两个以上的运算符,则必须规定它们的运算次序。
Pascal语言规定运算优先级如下:
①表达式中相同优先级的运算符,按从左到右顺序计算
②表达式中不同优先级的运算符,从高到低进行计算
③括号优先级最高,从内到外逐层依次降低
④not优先级为4
⑤*、/、div、mod、and优先级为3
⑥+、-、or优先级为2
⑦=、<>、<、>=、<=、in优先级为1
5.pascal语法中的常量(const)与变量(var);
【解说】
a.什么是变量?
变量代表了一个存储单元,其中的值是可变的,故称为变量。
即在程序运行过程中,其值可以改变的量,称为变量。
变量有三个要素是:
变量名、变量类型、变量值。
一个程序中可能要使用到若干个变量,为了区别不同的变量,必须给每个变量(存贮单元)取一个名(称为变量名),该变量(存贮单元)存放的值称为变量的值,变量中能够存放值的类型为变量的“类型”。
1)变量名
用一个合法的标识符代表一个变量。
如m,rot,total等都是合法变量名。
在程序中用到的变量必须在说明部分加以说明。
“自定义标识符”的命名规则为:
自定义标识符必须以字母(包含下划线"_")开头,后面的字符可以是字母或数字。
标识符长度不超过63个字符。
变量名应遵循自定义标识符的命名规则,并注意“见名知义”的原则,即用一些有意义的单词作为变量名。
2)变量的类型
常量是有类型的数据,变量在某一固定时刻用来存放一个常量,因此也应有相应的类型。
如整型变量用来存放整数,实型变量用来存放实数。
3)变量说明
在程序中若要使用变量,变量的名称及类型在程序的变量说明部分加以定义,变量的值则在程序的执行部分中才能赋给。
变量说明的一般格式:
Var<变量标识符>[,<变量标识符>]:
<类型>;(中括号内部分表示可省)
其中var是pascal保留字,表示开始一个变量说明段,每个变量标识符或由逗号隔开的多个变量标识,必须在它的冒号后面说明成同一类型。
一个程序中,可以说明许多不同类型的变量,每种类型变量之间用分号隔开,共用一个var符号。
例如:
Varage,day:
integer;
average:
real;
其中,integer(整型)、real(实型)是标准标识符,它们是“类型标识符”,代表了确定的类型,如age和day被定义为整型变量,average被定义为实型变量。
一旦定义了变量,就确定了它的类型,也就是说,就确定了该变量的取值范围和对该变量所能进行的运算。
B.什么是常量?
在程序运行过程中,其值不能被改变的量称为常量。
如12,14.8,'abc',true等。
Pascal中有一个标准标识符maxint,它代表所使用的计算机系统允许的最大整型数,而最小的整型数即为-maxint-1。
Turbopascal还定义了长整数常量maxlongint,其值为2147483647。
字符常量:
是由字符组成,所有字符来自ascii字符集,共有256个字符。
在程序中,通常用一对单引号将单个字符括起来表示一个字符常量。
如:
'a','a','0'等。
对于ascii字符集中,按每个字符在字符集中的位置,将每个字符编号为0-255,编号称为对应字符的序号。
符号常量:
一个常量即可以直接表示(称为直接常量,如124,156.8),也可以用一个标识符来代表一个常量,称为“符号常量”。
但符号常量必须在程序中的说明部分先定义,后使用。
定义符号常量的一般格式:
const<常量标识符>=<常量>
说明:
常量说明部分以关键字const开头,后面的标识符为常量标识符,其中"="号后的常量为整数、实数、字符、字符串。
例如:
Const
Pi=3.14159;
Zero=0;
Varr,s,c:
real;
则在程序中pi和zero作为符号常量,分别代表实数3.14159和整数0。
也就是说,常量说明部分既定义了常量名及其值,又隐含定义了常量的类型。
Pi(function函数)为3.1415926535897932385
有关“ascii字符集”的知识请参见XX百科:
6.pascal语法中的赋值语句;
【解说】
对程序已经创建的变量,如何取值?
通常使用赋值语句来给变量提供数据,它具有计算我赋值功能,程序中所进行的各种运算,大多数是在赋值语句中实现的。
格式:
变量标识符:
=表达式;
语义:
赋值语句的执行是“先计算,后赋值”。
如a:
=(9*8)-(2-1);a:
=a+1。
说明:
(1)“:
=”与关系运算符“=”不能混淆。
(2)赋值号两边类型应该相同。
只有一点例外,当表达式的值为整型时,它可以自动转化为实型后赋给一个实型变量。
(3)一个赋值语句只能给一个变量赋值,变量可以进行多次赋值,赋值后的变量将在程序中一直保持不变,址到该变量重新赋值面其他的值。
(4)被赋值的变量本身可以作为因子参加运算,如n:
=n-1,s:
=s+x。
例:
下面程序执行后变量abcd的值各是多少?
Programex1;
Consta=256;
Var
b,d:
double;
c:
real;
Begin
b:
=adiv16;
c:
=a/b;
d:
=a;
End.
Programex2;
Vara,b:
integer;
Begin
a:
=3;
b:
=a;
b:
=a+1;
a:
=a+1;
b:
=b+1;
End.
7.pascal语法中的输入语句;
【解说】
要使变量获得一个确定的值,固然可以使用赋值语句,但更多的情况是:
程序中需要赋值的变量往往很多或变量的值经常变化。
如果要使输入数据有所改变的时候,程序不必进行修改就可得到所要处理的不同结果,那么赋值语句就显得不合适了,需要一个灵活的提供数据的语句,能在程序运行后从键盘输入变量的值,这就是我们要介绍的语句--输入语句:
格式:
read(变量名表);readln(变量名表);
语义:
执行该语句时系统处于等待状态。
从键盘上读入的数据将赋给变量名表中的变量,其中变量名表是一串用逗号隔开的变量标识符。
Readln后可以没有变量名表,作用表示仅读入一个回车符。
案例:
在delphi下file->new,然后选consoleapplication
然后在加入代码,例如:
Programproject2;
{$apptypeconsole}
Usessysutils;
Var
str1:
string;
begin
write('inputtext:
');//这个是输出语句
readln(str1);//这个是输入语句
writeln('youinput:
',str1);//这个是输出语句
writeln('pressanyonekeytoexit');//这个是输出语句
readln;//这个是输入语句
End.
8.pascal语法中的输出语句;
【解说】
格式:
write(输出项);writeln<(输出项)>;
说明:
1)输出项可以是字符串:
用单引号引起来的一串字符,如wrtie(‘***’);
数值常量:
如write(8)
变量:
输出变量的值,注意变量必须要先定义再赋值,然后才可以输出值,如write(a);
表达式:
输出表达式的值,表达式必须正确,如write(a+b)
2)可以有多个不同类型的输出项,之间用逗号隔开。
如write(‘a=’,a);write(x,x+2,y,z);
案例:
请参考上例的输入语句的例子。
学员练习:
Programtixing;
Vara,b,h,s:
real;
Begin
write('inputa,bandh:
');
read(a,b,h);
s:
=(a+b)*h/2;
writeln('mianji:
',s);
readln;
End.
9.pascal语法中的复合语句:
begin…End;
【举例】
1)例1:
Var
Str1:
string;
Begin
Str1:
=’中国人’;
End;
2)例2:
var
Str1,str2:
string;
Begin
Str1:
=edit1.text;
Ifstr1=’中国人’then
Begin
Showmessage(‘您输入的是:
’+str1);
End;
End;
10.pascal语法中的if语句;
【举例】
var
X,y:
integer;
Begin
X:
=1;
Y:
=2;
Ifx>ythen
Showmessage(‘x大于y!
’)
Else
Showmessage(‘x不大于y!
’);
End;
11.pascal语法中的case语句;
【举例】
var
i:
integer;
begin
I:
=strtoint(edit1.text);
caseiof
1:
Showmessage(‘您输入的数字是:
1’);
2:
showmessage(‘您输入的数字是:
2’);
3:
showmessage(‘您输入的数字是:
3’);
else
showmessage(‘您输入的数字是:
1~3之外的数字!
’);
end;
12.pascal语法中的while语句;
【举例】
var
W:
integer;
begin
W:
=0;
Whilew<=10do
Begin
W:
=w+1;
End;
Shomessage(inttostr(w));
End;
13.pascal语法中的repeat语句;
【举例】
格式:
Repeat
……{被循环执行的语句};
Until……{循环结束条件};
执行时会重复执行被循环执行的语句,直到循环结束条件为真时退出循环。
例如,执行下列程序:
Var
i:
integer;
Begin
i:
=0;
repeat
i:
=i+1;
showmessage(inttostr(i));
untili=10;
showmessage(inttostr(i));
End.
会得到输出结果:
12345678910
14.pascal语法中的for语句;
【举例】
var
i:
integer;
begin
fori:
=1to10do
begin
showmessage(inttostr(i));
end;
End;
15.pascal语法中的goto语句;
【解说】
goto语句为无条件转移语句
Goto语句的一般形式为:
Goto<标号>
(之前必须加)
Label<标号名表>
例如:
Proceduretform1.button1click(sender:
tobject);
Label10;
Begin
Goto10;
Showmessage('0');
10:
showmessage('1');
End;
运行结果:
执行的第二个。
16.pascal语法中的halt语句;
【解说】
halt可以运用在程序的任何位置,表示结束程序。
例如:
Begin
Halt;
End;
执行结果:
程序被退出。
17.pascal语法中的exit语句;
【解说】
exit是退出当前的子过程,如果它用在主程序里,就和halt等效。
例如:
var
Begin
Showmessage(‘1’);
Exit;
Showmessage(‘2’);
End;
执行结果:
第二个不会执行。
18.pascal语法中的break语句;
【解说】
break是用在循环里面,表示跳出当前的循环。
例如:
var
I:
integer;
Begin
fori:
=1to10do
begin
ifi=2thenbreak;
End;
执行结果:
i只能循环到2。
19.pascal语法中的continue语句;
【解说】
continue也是用在循环里面,但它并不是跳出,而是跳过这一次循环,直接进入下一个循环。
例如:
var
i,ans:
integer;
begin
fori:
=1to10do
begin
ifimod2=0thencontinue;
ans:
=ans+i;
End;
End;
执行结果:
i就把1~10中的奇数都计算了一遍。
20.pascal语法中的with…Do语句;
【解说】
本语句的功能是:
使用“某对象”来执行某些“操作”。
用途是简化代码。
例如:
Withbutton1do
Begin
Caption:
=’保存’;
left:
=200;
Top:
=200;
end;
21.pascal语法中的try…Except…End语句;
【解说】
保护机制,强制执行预定的代码。
例如:
try
Showmessage(‘1’);
except
showmessage(‘try后面的语句执行失败,才执行本句,否则不执行本句!
’);
End;
22.pascal语法中的try…Finally…End语句;
【解说】
保护机制,强制执行预定的代码。
例如:
try
Showmessage(‘1’);
finally
showmessage(‘不管try后面的语句是否执行成功,都执行本句!
’);
End;
★视频实战课主讲内容★:
1.演示pasca标识符的运用;
【例子】
1)变量(var):
var
Str1:
string;
Begin
Str1:
=edit1.text;
Showmessage(str1);
End;
2)常量(const):
proceduretform1.button2click(sender:
tobject);
Constw:
integer=10;
Begin
showmessage(inttostr(w));
End;
3)类型(type):
type
tform1=class(tform)
private
{privatedeclarations}
public
{publicdeclarations}
end;
4)过程(procedure):
proceduremyproc1;
…
Proceduretform1.myproc1;
Begin
showmessage('这是一个过程!
');
End;
2.演示pascal表达式的运用;
【例子】
1)+、-、*、/:
var
X,y,z:
double;
begin
X:
=1;
y:
=2;
Z:
=(x+y)*100/5;
end;
2)=、<>、>、>=、<、<=:
var
X,y,z:
integer;
begin
X:
=1;
y:
=2;
Ifx>=ythenz:
=x+y;
end;
3)or、and、not:
var
X,y,z:
integer;
begin
X:
=1;
y:
=2;
z:
=3;
Ifnot((x>=y)or(x>z))thenz:
=x+y;
end;
3.演示常量与变量的应用;
proceduretform1.button1click(sender:
tobject);
Var
X,y:
integer;
Constz:
integer=10;
Begin
X:
=5;
Y:
=x+z;
Showmessage(inttostr(y));
End;
4.演示一个赋值语句;
【例子】
var
str1:
string;
begin
str1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pascal 语言 语法 大全