pascal语言语法汇总.docx
- 文档编号:3639611
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:16
- 大小:23.96KB
pascal语言语法汇总.docx
《pascal语言语法汇总.docx》由会员分享,可在线阅读,更多相关《pascal语言语法汇总.docx(16页珍藏版)》请在冰豆网上搜索。
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.14932385有关“ascii字符集”的知识请参见XX百科:
格式:
变量标识符:
=表达式;
语义:
赋值语句的执行是“先计算,后赋值”。
如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语句;【举例】
vari:
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。
Beginfori:
=1to10dobegin
ifi=2thenbreak。
End。
执行结果:
i只能循环到2。
19.pascal语法中的continue语句;【解说】continue也是用在循环里面,但它并不是跳出,而是跳过这一次循环,直接进入下一个循环。
例如:
var
i,ans:
integer。
beginfori:
=1to10dobegin
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.演示一个赋值语句;【例子】varstr1:
string。
begin
str1:
=edit1.text。
Showmessage(str1)。
end。
5.演示一个输入语句;
6.演示一个输出语句;【例子】在delphi下file->new,然后选consoleapplication
然后在加入代码,例如:
Programproject2。
{$apptypeconsole}
Usessysutils。
Var
str1:
string。
begin
write('inputtext:
')。
readln(str1)。
writeln('youinput:
',str1)。
writeln('pressanyonekeytoexit')。
readln。
End.
7.演示一个复合语句:
begin…End;
8.演示一个if语句;【例子】var
x,y:
integer。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pascal 语言 语法 汇总