《pascal语言语法大全(共18页).doc》由会员分享,可在线阅读,更多相关《pascal语言语法大全(共18页).doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上第七课:pascal专题-pascal语言语法大全及应用 配套视频qq语音课主讲内容:1.pascal语法专用字符:az,az,09,+,-,*,/,=,=,(,),:=,;,.,:,., ;【解说】az:大写的26个英文字母;az:小写的26个英文字母;09:10个数字;+: 加法运算符;-: 减法运算符;*: 乘法运算符;/: 除法运算符;=: 比较运算符:等于;: 比较运算符:不等于;=: 比较运算符:大于等于;: 比较运算符:大于;(,): 优先级和参数表达符:左右括号;,: 索引号表达符:中括号;,: 段落屏蔽和备注符:大括号;:=: 赋值运算符;,: 排列
2、式表达符:逗号;: 代码(功能)行结束符;.: 主从代码分隔符:点号;: 变量定义分隔符:冒号;.: 子界定义表达符;: 字符串标识符:单引号; : 指针定义符:尖号。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,as
3、m,object,unit,constructor,implementation,destructor,uses,inherited,inline,interface,library,xor,shl ;【解说】and: 逻辑运算符:逻辑与;array: 数组定义符:array of ;begin: 程序“块”的开始标识符;case: 多条件分支语句的开始标识符;const: 常量定义符;div: 算术运算符:除法取整数结果;do: 执行命令;downto:单步反循环语句中的命令;Else:分支语句中的命令,“否则”的意思;end:“结束”标识符;file:类型文件标识符 ;for: 单步循环语
4、句的开始标识符;function:函数定义的命令符;goto:跳转指令 :if: 单条件分支语句的开始标识符;in: 集合运算符;label:定义标号 ;mod: 算术运算符:除法取余数结果;nil: 一个表示“空值”的常量;not: 逻辑运算符:逻辑非;of: 多种组合命令的辅助符,array of,case of 等;or: 逻辑运算符:逻辑或;packed: 用于压缩和打包的指令;procedure: 过程定义符;program: delphi工程文件标识符;record: 记录类型标识符;repeat: 循环语句标识符;set: 集合定义符;then:组合命令的辅助符,ifThenEl
5、se;to:组合命令的辅助符,forTo Do;type:类型定义符;until: 循环语句中的辅助符,repeatUntil;var: 变量定义符;while: 循环语句定义符;while Do;with: 组合命令的定义符:with Do beginEnd;exports:动态链接库输出项目定义符;shr: 二进制右移运算符;string: 字符串类型标识符;asm: 汇编语言标识符;object: 对象标识符;unit: 单元标识符;constructor: 构造函数定义符;implementation: 单元中“实现部分开始”的标识符;destructor: 析构函数定义符;uses:
6、 单元引用标识符;inherited: 类继承指令;inline:过程和函数的调用指令;interface:单元中“声明部分开始”的标识符;library: dll工程定义符;xor:二进制位运算符:异或;shl:二进制位运算符:按位左移。3.pascal语法中的标识符;【解说】标识符是object pascal语言中各种成员的名称,这些成员包括变量(var)、常量(const)、类型(type)、过程(procedure)、函数(function)、方法(method)、单元(unit)等。标识符可以分为三类:标准标识符、自定义标识符和限定标识符。1)标准标识符 (1)标准常量,如false
7、、nil、true等; (2)标准类型,如boolean、char、real等; (3)标准函数,如sin、cos、abs、arctan等; (4)标准过程,如dispose、get、new、pack、put等; (5)标准文件,如input、output等。 2)自定义标识符 程序员根据程序设计的需要,自己定义的常量、变量、类型、函数、过程等所取的名字。自定义标识符可以由任意长的一个不带空格的字符串组成,包括字母az 、az 、数字09 和下划线“_”等。 定义标识符需要遵循以下规则: (1)标识符不区分大小写; (2)标识符只能以字母或下划线开头,不能以数字开头; (3)标识符可任意长度,
8、但只有前225个字符有效; (4)标识符中间不允许有空格; (5)不允许使用object pascal语言的保留字作为自定义标识符。 3)限定标识符 在delphi程序中可引用多个单元,而各个单元中全局变量、函数、过程等可能会同名,在引用时需用限定标识符来区分它们: var y:real; begin y:=system.cos(pi); end; 其中system称为限定符 ,而system.cos称为限定标识符。4.pascal语法中的表达式; 【解说】表达式的定义pascal语言中的算术表达式是由符合pascal语法规定的运算对象(包括常量、变量、函数)、算术运算符、圆括号组成的有意义的
9、式子。如: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它要求除数和被除数均为整型,结果也为整型。如10 div 3=3, 5 div 10=0, -15 div 4= -3。Div运算只取商的整数部分,参与div运算的两个对象不能为实型。mod (求余),也只能用于整数运算,取除后的余数,结果为整数。例如:10 mod 4=2 , -17 mod 4= -1,4 mod (-3)=1,- 4 mod 3=-
10、1,即 a mod b=a-(a div b)*b。2)关系运算符: 、=、=、=、 3)逻辑运算符: not、 and 、or 4)运算优先顺序:如果一个表达式里出现两个或两个以上的运算符, 则必须规定它们的运算次序。Pascal语言规定运算优先级如下: 表达式中相同优先级的运算符,按从左到右顺序计算 表达式中不同优先级的运算符,从高到低进行计算 括号优先级最高,从内到外逐层依次降低 not优先级为4 *、/、div、mod、and优先级为3 +、-、or优先级为2 =、=、=、in优先级为15.pascal语法中的常量(const)与变量(var);【解说】a.什么是变量?变量代表了一个存
11、储单元,其中的值是可变的,故称为变量。即在程序运行过程中,其值可以改变的量,称为变量。变量有三个要素是:变量名、变量类型、变量值。一个程序中可能要使用到若干个变量,为了区别不同的变量,必须给每个变量(存贮单元)取一个名(称为变量名),该变量(存贮单元)存放的值称为变量的值,变量中能够存放值的类型为变量的“类型”。1)变量名用一个合法的标识符代表一个变量。如m,rot,total 等都是合法变量名。在程序中用到的变量必须在说明部分加以说明。“自定义标识符”的命名规则为:自定义标识符必须以字母(包含下划线_)开头,后面的字符可以是字母或数字。标识符长度不超过63个字符。变量名应遵循自定义标识符的命
12、名规则,并注意“见名知义”的原则,即用一些有意义的单词作为变量名。2)变量的类型常量是有类型的数据,变量在某一固定时刻用来存放一个常量,因此也应有相应的类型。如整型变量用来存放整数,实型变量用来存放实数。3)变量说明在程序中若要使用变量,变量的名称及类型在程序的变量说明部分加以定义,变量的值则在程序的执行部分中才能赋给。变量说明的一般格式:Var ,:;(中括号内部分表示可省)其中var是pascal保留字,表示开始一个变量说明段, 每个变量标识符或由逗号隔开的多个变量标识, 必须在它的冒号后面说明成同一类型。一个程序中,可以说明许多不同类型的变量,每种类型变量之间用分号隔开,共用一个var符
13、号。例如:Var age,day:integer; average:real;其中,integer(整型)、real(实型)是标准标识符,它们是“类型标识符”,代表了确定的类型,如age和day 被定义为整型变量,average被定义为实型变量。一旦定义了变量,就确定了它的类型,也就是说,就确定了该变量的取值范围和对该变量所能进行的运算。 B什么是常量?在程序运行过程中,其值不能被改变的量称为常量。如12,14.8,abc,true等。Pascal中有一个标准标识符maxint,它代表所使用的计算机系统允许的最大整型数,而最小的整型数即为maxint-1。Turbo pascal还定义了长整数
14、常量maxlongint,其值为。字符常量:是由字符组成,所有字符来自ascii字符集,共有256个字符。在程序中,通常用一对单引号将单个字符括起来表示一个字符常量。如:a,a,0等。对于ascii字符集中,按每个字符在字符集中的位置,将每个字符编号为0255,编号称为对应字符的序号。符号常量:一个常量即可以直接表示(称为直接常量,如 124,156.8),也可以用一个标识符来代表一个常量,称为“符号常量”。但符号常量必须在程序中的说明部分先定义,后使用。定义符号常量的一般格式: const = 说明:常量说明部分以关键字const开头, 后面的标识符为常量标识符,其中=号后的常量为整数、实数
15、、字符、字符串。例如: Const Pi=3.14159;Zero=0; Var r,s,c:real; 则在程序中pi和zero作为符号常量,分别代表实数3.14159和整数0。也就是说,常量说明部分既定义了常量名及其值,又隐含定义了常量的类型。Pi(function函数)为 3.有关“ascii字符集”的知识请参见百度百科:6.pascal语法中的赋值语句;【解说】对程序已经创建的变量,如何取值?通常使用赋值语句来给变量提供数据,它具有计算我赋值功能,程序中所进行的各种运算,大多数是在赋值语句中实现的。格式:变量标识符:=表达式;语义:赋值语句的执行是“先计算,后赋值”。如a:=(9*8)
16、-(2-1); a:=a+1。说明:(1)“:=”与关系运算符“=”不能混淆。(2)赋值号两边类型应该相同。只有一点例外,当表达式的值为整型时,它可以自动转化为实型后赋给一个实型变量。(3)一个赋值语句只能给一个变量赋值,变量可以进行多次赋值,赋值后的变量将在程序中一直保持不变,址到该变量重新赋值面其他的值。(4)被赋值的变量本身可以作为因子参加运算,如n:=n-1,s:=s+x。例:下面程序执行后变量abcd的值各是多少?Program ex1;Const a=256;Var b,d:double; c:real;Begin b:=a div 16; c:=a/b; d:=a;End.Pro
17、gram ex2;Var a,b:integer;Begin a:=3; b:=a; b:=a+1; a:=a+1; b:=b+1;End.7.pascal语法中的输入语句; 【解说】要使变量获得一个确定的值,固然可以使用赋值语句,但更多的情况是:程序中需要赋值的变量往往很多或变量的值经常变化。如果要使输入数据有所改变的时候,程序不必进行修改就可得到所要处理的不同结果,那么赋值语句就显得不合适了,需要一个灵活的提供数据的语句,能在程序运行后从键盘输入变量的值,这就是我们要介绍的语句-输入语句:格式:read(变量名表);readln(变量名表);语义:执行该语句时系统处于等待状态。从键盘上读入
18、的数据将赋给变量名表中的变量,其中变量名表是一串用逗号隔开的变量标识符。Readln后可以没有变量名表,作用表示仅读入一个回车符。案例:在delphi下file-new,然后选console application然后在加入代码,例如:Program project2;$apptype consoleUses sysutils;Var str1 : string; begin write(input text: ); /这个是输出语句 readln(str1); /这个是输入语句 writeln(you input: ,str1); /这个是输出语句 writeln(press anyone
19、key to exit); /这个是输出语句 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);案例:请参考上例的输入语句的例子。学员练习:Program tixi
20、ng;Var a,b,h,s:real;Begin write(input a,b and h:); read(a,b,h); s:=(a+b)*h/2; writeln(mianji:,s);readln;End.9.pascal语法中的复合语句:begin End;【举例】1)例1:Var Str1:string;BeginStr1:=中国人;End;2)例2:varStr1,str2:string;BeginStr1:=edit1.text;If str1=中国人 thenBeginShowmessage(您输入的是:+str1);End;End;10.pascal语法中的if语句; 【
21、举例】varX,y:integer;BeginX:=1;Y:=2;If xy thenShowmessage(x大于y!)ElseShowmessage(x不大于y!);End;11.pascal语法中的case语句;【举例】vari:integer;beginI:=strtoint(edit1.text);case i of1:Showmessage(您输入的数字是:1);2:showmessage(您输入的数字是:2);3:showmessage(您输入的数字是:3);elseshowmessage(您输入的数字是:13之外的数字!);end;12.pascal语法中的while语句; 【
22、举例】varW:integer;beginW:=0;While w=10 doBeginW:=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); until i=10; showmessage(inttostr(i);End.会得到输出结果:14.
23、pascal语法中的for语句;【举例】vari:integer;beginfor i:=1 to 10 dobeginshowmessage(inttostr(i);end;End;15.pascal语法中的goto语句;【解说】goto语句为无条件转移语句Goto语句的一般形式为:Goto (之前必须加)Label 例如:Procedure tform1.button1click(sender: tobject);Label 10;BeginGoto 10;Showmessage(0);10:showmessage(1);End;运行结果:执行的第二个。16.pascal语法中的halt语
24、句;【解说】halt可以运用在程序的任何位置,表示结束程序。例如:BeginHalt;End;执行结果:程序被退出。17.pascal语法中的exit语句;【解说】exit是退出当前的子过程,如果它用在主程序里,就和halt等效。例如:varBeginShowmessage(1);Exit;Showmessage(2);End;执行结果:第二个不会执行。18.pascal语法中的break语句;【解说】break是用在循环里面,表示跳出当前的循环。例如:varI:integer;Beginfor i:=1 to 10 do begin if i=2 then break;End;执行结果:i只
25、能循环到2。19.pascal语法中的continue语句;【解说】continue也是用在循环里面,但它并不是跳出,而是跳过这一次循环,直接进入下一个循环。例如:vari,ans:integer;beginfor i:=1 to 10 do begin if i mod 2=0 then continue; ans:=ans+i;End;End;执行结果:i就把110中的奇数都计算了一遍。20.pascal语法中的with Do 语句;【解说】本语句的功能是:使用“某对象”来执行某些“操作”。用途是简化代码。例如:With button1 doBeginCaption:=保存;left:=2
26、00;Top:=200;end;21.pascal语法中的try Except End 语句;【解说】保护机制,强制执行预定的代码。例如:tryShowmessage(1);exceptshowmessage(try后面的语句执行失败,才执行本句,否则不执行本句!);End;22.pascal语法中的try Finally End 语句;【解说】保护机制,强制执行预定的代码。例如:tryShowmessage(1);finallyshowmessage(不管try后面的语句是否执行成功,都执行本句!);End;视频实战课主讲内容:1.演示pasca标识符的运用;【例子】1)变量(var):va
27、rStr1:string;BeginStr1:=edit1.text;Showmessage(str1);End;2)常量(const):procedure tform1.button2click(sender: tobject);Const w:integer=10;Begin showmessage(inttostr(w);End;3)类型(type):type tform1 = class(tform) private private declarations public public declarations end;4)过程(procedure):procedure myproc1
28、;Procedure tform1.myproc1;Begin showmessage(这是一个过程!);End;2.演示pascal表达式的运用; 【例子】1)+、-、*、/ :varX,y,z:double;beginX:=1;y:=2;Z:=(x+y)*100/5;end;2)=、=、=y then z:=x+y;end;3)or 、and、not :varX,y,z:integer;beginX:=1;y:=2;z:=3;If not (x=y) or (xz) then z:=x+y;end;3.演示常量与变量的应用;procedure tform1.button1click(sen
29、der: tobject);VarX,y:integer;Const z:integer=10;BeginX:=5;Y:=x+z;Showmessage(inttostr(y);End;4.演示一个赋值语句;【例子】varstr1:string;beginstr1:=edit1.text;Showmessage(str1);end;5.演示一个输入语句; 6.演示一个输出语句;【例子】在delphi下file-new,然后选console application然后在加入代码,例如:Program project2;$apptype consoleUses sysutils;Var str1
30、: string; begin write(input text: ); readln(str1); writeln(you input: ,str1); writeln(press anyone key to exit); readln;End.7.演示一个复合语句:begin End;8.演示一个if语句;【例子】varx,y:integer;BeginX:=1;y:=2;If xy thenBeginShowmessage(x大于y!);End;End; 9.演示一个case语句;【例子】vari:integer;beginI:=strtoint(edit1.text);case i o
31、f1:Showmessage(您输入的数字是:1);2:showmessage(您输入的数字是:2);3:showmessage(您输入的数字是:3);elseshowmessage(您输入的数字是:13之外的数字!);end;10.演示一个while语句;【例子】varW:integer;beginWhile w=10 doBeginW:=w+1;End;End; 11.演示一个repeat语句;【例子】var i:integer;Begin i:=0; repeat i:=i+1; write(i); until i=10; showmessage(inttostr(i);End.12.演
32、示一个for语句;【例子】vari:integer;beginfor i:=1 to 10 dobeginshowmessage(inttostr(i);end;End;13.演示一个goto语句;【例子】procedure tform1.button1click(sender: tobject);Label 10;BeginGoto 10;Showmessage(0);10:showmessage(1);End;14.演示一个halt语句;【例子】BeginHalt;End;执行结果:程序被退出。15.演示一个exit语句;【例子】varBeginShowmessage(1);Exit;Sh
33、owmessage(2);End;执行结果:第二个不会执行。16.演示一个break语句;【例子】varI:integer;Beginfor i:=1 to 10 do begin if i=2 then break;End;执行结果:i只能循环到2。17.演示一个continue语句;【例子】vari,ans:integer;beginfor i:=1 to 10 do begin if i mod 2=0 then continue; ans:=ans+i;End;End;执行结果:i就把110中的奇数都计算了一遍。18.演示一个with Do 语句;【例子】beginwith butto
34、n1 doBeginCaption:=保存;left:=200;Top:=200;end;19.演示一个try Except End 语句;【例子】tryEdit3.text:=floattostr(strtofloat(edit1.text)+ strtofloat(edit2.text);exceptshowmessage(try后面的语句执行失败,才执行本句,否则不执行本句!);End;操作方法:故意在edit1中输入非数字,造成错误,再查看执行的结果。20.演示一个try Finally End 语句。【例子】tryEdit3.text:=floattostr(strtofloat(edit1.text)+ strtofloat(edit2.text);finallyshowmessage(不管try后面的语句是否执行成功,都执行本句!);End;操作方法:在两个文本框中输入数字或非数字,造成错误或正确,再查看执行的结果。专心-专注-专业