收藏 分享(赏)

第2章+Delphi语法基础.ppt

上传人:scg750829 文档编号:4607049 上传时间:2019-01-04 格式:PPT 页数:48 大小:304.50KB
下载 相关 举报
第2章+Delphi语法基础.ppt_第1页
第1页 / 共48页
第2章+Delphi语法基础.ppt_第2页
第2页 / 共48页
第2章+Delphi语法基础.ppt_第3页
第3页 / 共48页
第2章+Delphi语法基础.ppt_第4页
第4页 / 共48页
第2章+Delphi语法基础.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、第2章 Delphi语法基础,2.1 保留字与标识符 2.1.1 标识符标识符是Object Pascal语言中各种成分 的名称,这些成分包括变量(Var)、常量(Const)、类型(Type)、过程(Procedure)、函数(Function)、方法(Method)、单元(Unit)等。,标识符可以分为三类:标准标识符、自定义标识符和限定标识符。 1标准标识符 (1)标准常量,如False、Maxint、True等; (2)标准类型,如Boolean、Char、Real等; (3)标准函数,如Sin、Cos、Abs、Arctan 等; (4)标准过程,如Dispose、Get、New、Pa

2、ck、Put等; (5)标准文件,如Input、Output等。,2自定义标识符程序员根据程序设计的需要,自己定义的常量、变量、类型、函数、过程等所取的名字。自定义标识符可以由任意长的一个不带空格的字符串组成,包括字母AZ 、az 、数字09 和下划线“_”等。定义标识符需要遵循以下规则: (1)标识符不区分大小写; (2)标识符只能以字母或下划线开头,不能以数字开头; (3)标识符可任意长度,但只有前225个字符有效; (4)标识符中间不允许有空格;,(5)不允许使用Object Pascal语言的保留字作为标识符。 3限定标识符在Delphi程序中可引用多个单元,而各个单元中全局变量、函数

3、、过程等可能会同名,在引用时需用限定标识符来区分它们: Var Y:real; Y:=System.cos(pi);其中System称为限定符 ,而System.cos称为限定标识符。,2.1.2 保留字保留字由系统规定具有特定意义,不能被重新定义或作他用,定义了65个保留字 。 注意: 1单词at和on具有特殊含义,不要与它们同名。 2保留字和Object Pascal一样不区分大小写。 3Delphi集成开发环境的代码编辑器中,黑体显示保留字和指令字,定义时不要与这些黑体字一样。,Object Pascal的保留字,2.1.3 指令符指令字只在特殊的程序位置、或当上下文关联时有意义的程序区

4、段有自己特殊的意义,而在其他场合,用户可对其重新定义,即可将其定义为标识符,Object Pascal不会指示出错,当用户重新定义这些指令字后,在作用域内它们就失去了原来的意义了。Object Pascal中规定的指令符有39个 说明:指令符private、protected、public、published和automated在定义对象类型时也作为保留字,而在其他场合则作为指令符。,2.1.4 注释注释可增加程序的可读性和可维护性。Object Pascal语言中注释有三种形式: 1组合符号“”与“”的成对使用表示它们之间的内容为注释部分。 2组合符号“( *”与“* )”的成对使用表示它们

5、之间的内容为注释部分。 3符号“/ ”的单个使用表示所在行的该符号之后的内容为注释。,注意: 1注释符“”与“”、“( *”与“* )”在使用时不支持注释的嵌套,而且必须成对使用。 2对于单行和少量几行注释使用符号“/ ”,对于大块注释使用“”和“”或“( *”和“* )”。 3有时可利用注释在代码中形成一个醒目标志。 4在注释符“”或“( *”后紧接着是一个美元符号“$”时,表示该句是一个编译器指令,它与普通的注释不同,通常用来对编译过程进行设置。,2.2 数据类型描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序加工处理的符号的集合称为数据。 数据类型可以分为标准数据类型及高级数

6、据类型等,还可以通过数据类型声明语句在预定义数据类型的基础上定义新数据类型。 说明: 1标准数据类型属于Object Pascal内部约定的数据类型,无需定义就可以直接使用。,2高级数据类型体现了特殊的数据结构,在使用之前必须由用户自己定义。 3数据类型中整型、字符型、布尔型、枚举型和子界型被称为顺序类型,其取值是一个有序集合,每一个可能取值都与顺序有关。 2.2.1 数值型数据数值型数据可分为整数类型和实数类型。 1.整数类型整数类型是存储整数数据的类型 ,分为基本整形和一般整形。,基本整形:短整型 、小整型 、长整型 、64位整型 、字节型 、字型 、长字型 一般整形:整型 、序数型 注意

7、:尽量使用一般整型Integer和Cardinal,可以最大限度发挥CPU和操作系统的性能。2.实数类型实数类型是存储实数数据的类型 ,分为基本实型和一般实型。 基本实型:单精度实型 、扩展型 、双精度实型 、货币型 一般实型:实型,注意:Real 类型与Double 类型完全等价。 Currency类型至少有4位有效的小数位。2.2.2 字符型数据Object Pascal中的字符型数据可以分为字符型和字符串型2类7种。 1.字符类型Object Pascal包括3种形式的字符型数据,说明: (1)前2种为基本字符类型后一种为一般类型。 (2)Char与AnsiChar完全等价,但Char常

8、用。 2.字符串类型字符串类型是存储字符串数据的类型 ,Object Pascal包括了4种形式的字符串型数据,说明: ()AnsiString类型的定义是动态分配的,内容由AnsiChar类型的字符组成,长度仅受可用内存空间的限制,以空字符Nul作为结尾。 ()String字符串类型,既可以是ShortString类型也可以是AnsiString类型,默认定义是AnsiString类型。 2.2.3 布尔型数据布尔型数据用于关系运算和条件语句的逻辑运算,包括4种形式的布尔型数据。,说明: (1)后3种类型是为了兼容其他语言而设置的,编程时应尽量使用Boolean类型。 (2)Boolean取

9、值为False和True两个符号常量。,2.3 常量与变量 2.3.1 常量常量即在程序的执行过程中其值不能改变的量。 常量有两种,一种是常量值本身,也称为直接常量;另一种是要用声明定义的标识符表示的常量,也称为声明常量。声明常量又可以分为符号常量和类型常量。 1.直接常量直接常量是指在程序中直接引用的常数,如整型常数、实型常数、字符型常数、字符串型常数和布尔型常数。 2.声明常量,(1)符号常量在程序中,某一个常数反复多次出现,可以定义一个标识符来代表该常数,这个标识符就是符号常量,其值在定义后不会改变。也称纯常量。定义符号常量使用常量说明语句,其语法格式为: Const=;=; 其中Con

10、st是保留字,表示常量定义段开始 。,注意: 保留字Const可单独一行也可与常量一行。 不能在程序中给常量另行赋值,否则将导致语法错误。 Delphi由常量值判断常量名属于哪种类型。 (2)类型常量类型常量用于保存数组、记录、过程以及指针等类型的值,不能出现在常量表达式中。在默认的编译器状态下,类型常量的值可改变,但当在程序中加入编译命令$j-时,则类型常量的值在运行期就无法改变。,声明类型常量的语法规则为: Const:=;其中类型是除文件型和可变型的所有类型,常量值可以是和类型相应的常量表达式。2.3.2 变量 1.变量的声明变量在单元、函数或过程的声明部分进行声明,声明的位置决定了变量

11、的作用域。声明包括两部分:变量名和它所属的类型,变量声明的语法格式为:,Var:; :; 当多个变量具有相同数据类型时,格式如下: Var ,:; 其中,Var是保留字,表示变量声明段的开始;同类型的可超过一个,间用“,”分隔;可以是基本数据类型或是由用户定义的高级数据类型;,2.变量的使用一旦声明了一个变量应及时对它进行初始化,最简单方法就是给变量赋值,在表达式中使用变量。 2.4 运算符与表达式按照操作数数目的多少来分,运算符分为下面两类:单目运算符和双目运算符。单目运算符一般放在操作对象的前面,双目运算符都放在两个操作数之间。表达式是表示某个求值规则的运算公式,由运算符和配对的圆括号将常

12、量、变量、函数、对象等操作数以合理的形式组合而成。,2.4.1 算术运算符与算术表达式 1.算术运算符算术运算符对浮点数和整数进行加、减、乘、除和取模运算,取正“+”和取负“-”是单目运算符,其他均为双目运算符。 说明: (1)+、-、*运算中,参加运算的数可以是整型和实型,结果自动向精度高的类型转化。 (2)参加除法运算“/”,结果都是实型的商。 (3)参加整数除法“Div”和求余运算“Mod”的数必须是整型,结果也是整型数,符号与被除数的符号相同,小数部分被舍去。 (4)在表达式a/b、a Div b和a Mod b中,如果b的值为0,将会触发一个错误。,2.算术运算符的优先级 同级运算自

13、左至右,如果含有括号,则先计算括号内表达式的值。 3.算术表达式 将数学式改写为算术表达式,考虑三个问题:一是语法,二是优先级,三是类型。,说明: (1)数学式中省略的运算符和表示函数参数的括号必须添加上去 (2)必须注意优先级的处理 ,恰当利用标准函数 ,注意数据类型。 2.4.2 逻辑运算符与布尔表达式逻辑运算符可分为布尔运算符、位运算符和关系运算符。 1.布尔运算符只能对两个布尔型操作数进行运算,结果仍为布尔型,True或False。,其中,NOT是求“非”,为一元运算符 ; AND是求“与”,OR是求“或”,XOR是求“异或”,均为二元运算符 。 2.位运算符,注意:右移操作时原值的低

14、位丢失,高位补0;左移操作时原值的高位丢失,低位补0。 3.关系运算符,4.布尔表达式布尔表达式由布尔运算符和布尔类型的操作数所组成,包括关系运算表达式和运算结果为布尔类型的函数,如Odd(x)、FileExists(x)、等。但位运算符的结果是整数类型,不能直接作为布尔操作数。 2.4.3 字符串运算符连接运算符“+”主要用于连接两个或更多的字符串。最简单的字符串表达式是字符常量、字符串常量、字符变量、字符串变量或字符函数的引用。字符串表达式格式为:,+|当两个字符串用连接运算符连接起来后,第二个字符串直接添加到第一个字符串的尾部,结果是包含两个源字符串全部内容的新字符串。如果要把多个字符串

15、连接起来,每两个字符串之间都要用“+”号分隔。 2.4.4 运算符的优先级,2.5常用系统函数与过程 2.5.1 数值运算函数Delphi的数值运算函数包含了常用的数学函数(如三角函数、对数函数等)和适合计算机数据处理的其他函数(如求数组中的最大值、求三角形的斜边长等)。 2.5.2 字符处理函数对字符的处理主要包括:大小写转换、比较先后顺序、合并、查找、截取、插入、求长度以及类型转换等。2.5.3 日期时间函数调用日期时间函数可对日期和时间进行处理,2.5.4 顺序类型函数 1.顺序类型顺序类型指整型、字符型、布尔型、枚举型、子界型5种数据类型,如下所述: (1)整数的的序数是其自身; (2

16、)字符的序数是其ASCII 码; (3)布尔型数据:False序数为0,True为1; (4)枚举型第一个数据序数为0,其余类推; (5)子界型第一个数据序数为1,其余类推。除第一个序数,每一个都有一个前趋值;除最后一个序数,每一个都有一个后继值。,2.顺序函数 2.6语句 2.6.1 语句的基本概念 按执行时间可分为:声明语句和可执行语句。,声明语句包括单元说明语句、类型说明语句、变量说明语句、过程说明语句、函数说明语句和程序区段标识语句等。 可执行语句包括赋值语句、运行控制语句和结构控制语句等。 按语句的描述形式,可分为简单语句、结构语句和复合语句等。 简单语句只含有一个语句定义符或特殊标

17、志;结构语句往往含有多于一个的语句动词;复合语句则是由begin和end括起来的若干个简单语句、结构语句和复合语句,允许复合语句多层嵌套,或为空,也就是在begin和end之间没有其他语句。,2.6.2 常见声明语句 1.标号声明语句标号声明语句即用一个整型数来表示程序的某个执行语句,一行标号声明语句可以同时声明几个标号,其用法如下所示: label Aa,Ab; varI:integer; begin /语句if(I=0) then goto Aa; /语句 Aa:begin /语句end; end;,2.类型声明语句在Object Pascal中,所有的变量必须是某种特定的数据类型,类型决

18、定了它所能包含的数值和可进行的操作,用类型声明语句可以定义新的数据类型。例如: Type TmyDim:Array110,15 of Double; 3.过程声明语句过程可以被看成一段小程序,用来实现某种特定的目标,在完整的程序中它被当作一个语句来执行。在建立过程之前应先声明。 procedure NumString(N:Integr;Var S:string);,4.函数声明语句函数与过程相似,主要区别在于函数必须有返回值,函数的声明参见下面的语句,其中,最后的Real表示函数的返回数据类型。 Function Power(X:Real;Y:Integer):Real; 2.6.3 赋值语句

19、和程序的顺序结构 1.赋值语句 赋值语句的语法格式为: :=; 2.类型兼容类型兼容是指数据类型不完全相同的量之间能进行的运算和赋值操作。,3.利用赋值语句给对象属性赋值由于属性总是归属于对象才有实际意义,所以引用属性时用符号“.”来连接表示其隶属关系。如组件Editl的字体的颜色属性表示为:Editl.Font.Color。4.顺序结构顺序结构是最简单、最常用的结构。在该结构中,各操作块按照出现的先后顺序依次执行,不产生程序流程的其他转移。它是任何程序的主体结构,即使在选择结构或循环结构中,也常以顺序结构作为其子结构。通常由若干个赋值语句或其他简单语句构成 。,2.6.4 条件语句和程序的选

20、择结构实现选择结构的是IF语句和Case语句,这两种语句又称条件语句,条件语句的功能就是根据表达式的值有选择地执行一组语句。 1.if语句if then else ;if语句分为简单条件语句和复合条件语句。简单条件语句的中不包含其他的条件语句 。如果在If语句格式中的或本身又是一个If语句,则称为If语句的嵌套,嵌套的If语句又被称为复合条件语句。,【例2.2】 铁路托运行李,从甲地到乙地,规定每张客票托运费计算方法是:行李重量不超过kg时,每公斤.元,超过Kg而不超过Kg时,其超过部分0.35元/Kg,超过100Kg时,其超过部分0.45元/Kg。试编写程序,输入行李重量,计算并输出托运的费

21、用。,(1)界面设计 使用Button、Edit、Label组件即可完成界面设计,用户界面如图2-3所示。(2)属性设置,(3)程序设计 /*单击计算按钮事件代码*/ procedure TForm2.Button1Click(Sender: TObject); varw,x:real; beginif edit1.text= then edit1.Text:=0; /关键分析1w:=strtofloat(edit1.Text);if w=50 then /关键分析2x:=0.25*welseif w=100 thenx:=0.25*50+0.35*(w-50)elsex:=0.25*50+0

22、.35*50+0.45*(w-100);edit2.Text:=floattostr(x); end;,/*单击清除按钮事件代码*/ procedure TForm2.Button2Click(Sender: TObject); beginedit1.Text:=; edit2.Text:=; end; /*防止非法键输入事件代码*/ procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char); var l:boolean; beginl:=(key#8) and (key#46) and (key#57);if l then

23、key:=#0; end; /关键分析3关键分析3:为了防止编辑框Edit1中输入非法字符,设置了布尔类型变量l,其中#8对应【Backspace】键、#45对应【】键,#46对应【.】键,#48#57对应【1】键【9】键。如果按下的键为上述键,变量l的值为False,key值即为按下的键值;如果按下的键值为非上述键,为非法键变量l的值为True;key值将被置0,屏蔽非法键。,2.Case语句Case语句用来实现多分支选择结构。Case语句描述了多路择一的功能,它根据“选择器表达式”的值决定执行相应的语句。Case语句的语法格式为:case of :; :; else; end; 说明:的值

24、必须是顺序类型 。,2.6.5 循环语句和程序的循环结构从某处开始有规律地反复执行某一程序块的现象称为“循环”,完成这一功能的程序结构为“循环结构,”而其中重复执行的程序块称为“循环体”。循环结构语句有3种,它们分别是:While 语句、Repeat语句以及For语句。 1.While语句While语句属于前测型循环结构。首先判断条件,根据条件决定是否执行循环,执行循环的最少次数为0。其语法格式为: while do ;,说明:可在(循环体)中任何位置Break语句来终止While 循环,Break 语句通常位于IF语句后。可在循环体中任何位置放置Continue语句,以便在整个循环体没有执行

25、完就重新判断(条件),以决定是否开始新的循环。Continue语句通常位于IF 语句之后。2.Repeat语句Repeat语句属于后测型循环结构,首先执行循环体,然后判断条件,根据条件决定是否继续执行循环,执行循环的最少次数为1。 repeat until ;,3.For语句若知道要执行多少次循环时,则使用For循环结构。For循环使用一个循环变量,每重复一次循环之后,循环变量的值就会自动增加或者减少。For语句的语法格式为: for =to|downto do ;说明:只能是顺序类型,TO表示计数器递增,DownTo表示计数器递减。 4.循环的嵌套循环语句的循环体中仅包含了简单语句,称为单重

26、循环。,如果在循环体中又包含了另一个循环结构,则称为多重循环,又称为循环的嵌套。在循环体中的嵌套称为内循环,外部的循环称为外循环。多重循环嵌套根据循环结构嵌套层数可以分为二重循环、三重循环等。5.循环的中断特殊情况下,需要中断正在执行的循环,可以使用break语句或Continue语句。可以放在循环体的任意位置,通常放在If语句之后。 执行Break语句的结果是:跳出整个循环,执行之后的语句。,执行Continue语句的结果是:跳出本轮循环,然后判断循环条件是否成立,再决定是否开始新一轮的循环。 小结本章主要介绍了Object Pascal的最基本的语法,主要包括基本词法、基本数据类型、常量与变量、运算符与表达式、常用函数与过程、语句等。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 语法

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报