pascal语言语法大全1_第1页
pascal语言语法大全1_第2页
pascal语言语法大全1_第3页
pascal语言语法大全1_第4页
pascal语言语法大全1_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/第七课: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,,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程序中可引用多个单元,而各个单元中全局变量、函数、过程等可能会同名,在引用时需用限定标识符来区分它们:vary:real;

beginy:=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、or4)运算优先顺序:如果一个表达式里出现两个或两个以上的运算符,则必须规定它们的运算次序。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开头,后面的标识符为常量标识符,其中"="号后的常量为整数、实数、字符、字符串。例如:ConstPi=3.14159;Zero=0;Varr,s,c:real;则在程序中pi和zero作为符号常量,分别代表实数3.14159和整数0。也就是说,常量说明部分既定义了常量名与其值,又隐含定义了常量的类型。Pi(function函数)为3.14932385

有关“ascii字符集”的知识请参见百度百科:

6.pascal语法中的赋值语句;

【解说】

对程序已经创建的变量,如何取值?通常使用赋值语句来给变量提供数据,它具有计算我赋值功能,程序中所进行的各种运算,大多数是在赋值语句中实现的。格式:变量标识符:=表达式;语义:赋值语句的执行是“先计算,后赋值”。如a:=(9*8)-(2-1);a:=a+1。说明:

(1)“:=”与关系运算符“=”不能混淆。(2)赋值号两边类型应该相同。只有一点例外,当表达式的值为整型时,它可以自动转化为实型后赋给一个实型变量。(3)一个赋值语句只能给一个变量赋值,变量可以进行多次赋值,赋值后的变量将在程序中一直保持不变,址到该变量重新赋值面其他的值。(4)被赋值的变量本身可以作为因子参加运算,如n:=n-1,s:=s+x。例:下面程序执行后变量abcd的值各是多少?Programex1;Consta=256;Varb,d:double;c:real;Beginb:=adiv16;c:=a/b;d:=a;End.Programex2;Vara,b:integer;Begina:=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;Varstr1:string;beginwrite('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;Beginwrite('inputa,bandh:');read(a,b,h);s:=(a+b)*h/2;writeln('mianji:',s);

readln;End.9.pascal语法中的复合语句:begin…End;

【举例】

1)例1:VarStr1:string;BeginStr1:=’中国人’;End;2)例2:

varStr1,str2:string;BeginStr1:=edit1.text;Ifstr1=’中国人’thenBeginShowmessage(‘您输入的是:’+str1);End;End;

10.pascal语法中的if语句;

【举例】

varX,y:integer;BeginX:=1;Y:=2;Ifx>ythenShowmessage(‘x大于y!’)ElseShowmessage(‘x不大于y!’);End;

11.pascal语法中的case语句;

【举例】

var

i:integer;

beginI:=strtoint(edit1.text);

caseiof1:Showmessage(‘您输入的数字是:1’);2:

showmessage(‘您输入的数字是:2’);3:

showmessage(‘您输入的数字是:3’);

else

showmessage(‘您输入的数字是:1~3之外的数字!’);

end;

12.pascal语法中的while语句;

【举例】

varW:integer;

beginW:=0;Whilew<=10doBeginW:=w+1;End;Shomessage(inttostr(w));End;

13.pascal语法中的repeat语句;

【举例】

格式:Repeat……{被循环执行的语句};Until……{循环结束条件};执行时会重复执行被循环执行的语句,直到循环结束条件为真时退出循环。例如,执行下列程序:Vari:integer;Begini:=0;repeati:=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;BeginGoto10;Showmessage('0');10:showmessage('1');End;

运行结果:执行的第二个。

16.pascal语法中的halt语句;

【解说】

halt可以运用在程序的任何位置,表示结束程序。

例如:BeginHalt;End;

执行结果:程序被退出。

17.pascal语法中的exit语句;

【解说】

exit是退出当前的子过程,如果它用在主程序里,就和halt等效。

例如:

varBeginShowmessage(‘1’);Exit;Showmessage(‘2’);End;

执行结果:第二个不会执行。

18.pascal语法中的break语句;

【解说】

break是用在循环里面,表示跳出当前的循环。

例如:

varI:integer;Begin

fori:=1to10do

beginifi=2thenbreak;End;

执行结果:i只能循环到2。

19.pascal语法中的continue语句;

【解说】

continue也是用在循环里面,但它并不是跳出,而是跳过这一次循环,直接进入下一个循环。

例如:

var

i,ans:integer;

begin

fori:=1to10do

beginifimod2=0thencontinue;ans:=ans+i;End;End;

执行结果:i就把1~10中的奇数都计算了一遍。

20.pascal语法中的with…Do语句;

【解说】

本语句的功能是:使用“某对象”来执行某些“操作”。用途是简化代码。

例如:Withbutton1doBeginCaption:=’保存’;

left:=200;Top:=200;

end;

21.pascal语法中的try…Except…End语句;

【解说】

保护机制,强制执行预定的代码。

例如:

tryShowmessage(‘1’);

except

showmessage(‘try后面的语句执行失败,才执行本句,否则不执行本句!’);End;

22.pascal语法中的try…Finally…End语句;【解说】

保护机制,强制执行预定的代码。

例如:

tryShowmessage(‘1’);

finally

showmessage(‘不管try后面的语句是否执行成功,都执行本句!’);End;

★视频实战课主讲内容★:1.演示pasca标识符的运用;

【例子】

1)变量(var):

varStr1:string;BeginStr1:=edit1.text;Showmessage(str1);End;

2)常量(const):

proceduretform1.button2click(sender:tobject);Constw:integer=10;Beginshowmessage(inttostr(w));End;

3)类型(type):

typetform1=class(tform)private{privatedeclarations}public{publicdeclarations}end;

4)过程(procedure):

proceduremyproc1;…

Proceduretform1.myproc1;Beginshowmessage('这是一个过程!');End;

2.演示pascal表达式的运用;

【例子】

1)+、-、*、/:

varX,y,z:double;

beginX:=1;

y:=2;Z:=(x+y)*100/5;

end;

2)=、<>、>、>=、<、<=:

varX,y,z:integer;

beginX:=1;

y:=2;Ifx>=ythenz:=x+y;

end;3)or、and、not:

varX,y,z:integer;

beginX:=1;

y:=2;

z:=3;Ifnot((x>=y)or(x>z))thenz:=x+y;

end;

3.演示常量与变量的应用;

proceduretform1.button1click(sender:tobject);VarX,y:integer;Constz:integer=10;BeginX:=5;Y:=x+z;Showmessage(inttostr(y));End;

4.演示一个赋值语句;

【例子】

var

str1:string;

begin

str1:=edit1.text;Showmessage(str1);

end;

5.演示一个输入语句;

6.演示一个输出语句;

【例子】

在delphi下file->new,然后选consoleapplication然后在加入代码,例如:Programproject2;{$apptypeconsole}Usessysutils;Varstr1:string;beginwrite('inputtext:');readln(str1);writeln('youinput:',str1);writeln('pressanyonekeytoexit');readln;End.

7.演示一个复合语句:begin…End;

8.演示一个if语句;

【例子】

var

x,y:integer;BeginX:=1;

y:=2;Ifx>ythenBeginShowmessage(‘x大于y!’);End;End;

9.演示一个case语句;

【例子】

var

i:integer;

beginI:=strtoint(edit1.text);

caseiof1:Showmessage(‘您输入的数字是:1’);2:

showmessage(‘您输入的数字是:2’);3:

showmessage(‘您输入的数字是:3’);

else

showmessage(‘您输入的数字是:1~3之外的数字!’);

end;

10.演示一个while语句;

【例子】

varW:integer;

beginWhilew<=10doBeginW:=w+1;End;End;

11.演示一个repeat语句;

【例子】

vari:integer;Begini:=0;repeati:=i+1;write(i);untili=10;showmessage(inttostr(i)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论