Delphi语言语法基础适用于初学者.ppt

上传人:小飞机 文档编号:6504514 上传时间:2023-11-07 格式:PPT 页数:79 大小:549.50KB
返回 下载 相关 举报
Delphi语言语法基础适用于初学者.ppt_第1页
第1页 / 共79页
Delphi语言语法基础适用于初学者.ppt_第2页
第2页 / 共79页
Delphi语言语法基础适用于初学者.ppt_第3页
第3页 / 共79页
Delphi语言语法基础适用于初学者.ppt_第4页
第4页 / 共79页
Delphi语言语法基础适用于初学者.ppt_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《Delphi语言语法基础适用于初学者.ppt》由会员分享,可在线阅读,更多相关《Delphi语言语法基础适用于初学者.ppt(79页珍藏版)》请在三一办公上搜索。

1、第2章 Delphi语言基础,本章主要内容:常量、变量、数据类型 程序语句 过程与函数 面向对象的编程,2.1 标识符和保留字,2.1.1 标识符 标识符用作常量、变量、数据类型、过程、函数、单元及程序等的名称。标识符由一个或多个ASCII码字符序列组成,定义标识的规则如下:(1)标识符由字母、数字或下划线组成;(2)标识符的第一个字符必须是字母或下划线;(3)标识符的长度不应超过255个字符,超过255个字符只有前255个字符有效;(4)不能将关键字(保留字)用作标识符;(5)标识符不区分大、小写。,2.1 标识符和保留字,在Delphi语言中,有一类标识符是系统预先定义的,它们用于标识系统

2、预先定义的标准函数、标准过程、标准类型、标准常量及标准文件。标准常量,如:False、True、Maxint;标准类型,如:Boolean、Char、TDateTime;标准函数,如:Abs、Eof、ShowMessage、Sqrt;标准过程,如:Dispose、New、Read、ReadIn、Reset。注意:标准标识可以重新定义,但是要注意作用域,2.1 标识符和保留字,2.1.2 保留字 保留字又称为关键字,它在Delphi语言中有着特殊含义。保留字不能用作标识符,在实际编程中不应该把任何保留字用作标识符。,2.1 标识符和保留字,Delphi中使用的关键字,2.2 常量与变量,2.2.

3、1 常量 对于在程序运行期间保持不变的数据,Delphi允许通过声明常量来调用。声明常量不必指定数据类型,但需指定常量所代表的数据的值。常量的声明格式如下:Const 常量名=表达式;,2.2 常量与变量,2.2.1 常量 例如:CONST Thousand=1000;Pi=3.14159;ErrMessage=类型错误;注意:Delphi 根据常量的值来决定它的数据类型。,2.2 常量与变量,2.2.2 变量 变量用于在程序执行过程临时存放数据其值可以被改变。变量分全局变量和局部变量。注释:在过程或函数中说明的变量叫局部变量;之外说明的变量叫做全局变量。,2.2 常量与变量,变量说明的一般形

4、式为:VAR 变量名列表:类型名;例如:VAR iCount:Integer;/说明了一个整型变量 bCorrect:Boolean;/说明了一个布尔型 变量 cX,cY:Char;/说明了两个字符型变 量,2.3 数据类型,类型大致可以分为简单类型、字符串类型、结构类型、指针类型、过程类型和变体类型。简单类型又分为有序类型和实数类型。,2.3 数据类型,2.3.1 有序类型 有序类型定义一个有次序的数值集合,除了它的第一个值以外,其它每个值都有一个唯一的前驱值;除了最后一个外,其它每个值都有一个唯一的后继值。并且,每个值都有一个序数决定它在这个类型中的位置。包括:整型、字符型、布尔型、枚举型

5、和子界型。,2.3 数据类型,2.3.1 有序类型1.整型 整型是整数的一个子集。整型有通用整型和基本整型之分。通用整型:Integer、Cardinal基本整型:Shortint、Smallint、Longint、Int64、Byte、Word、Longword。,2.3 数据类型,2.3.1 有序类型2.字符型 字符型的数据只能是单个字符,不能是一串字符。,2.3 数据类型,例如:Var c:char;begin c:=A;c:=#65;c:=#$41;c:=Chr(65);end,注意:如果想用中文,必须用widechar,且c:=WideString(万);,3.布尔型 布尔类型的标识

6、符为Boolean。布尔型变量的取值仅有False和True两个值。,2.3 数据类型,4.枚举类型 枚举类型是一种自定义有序类型。在枚举类型中列出了所有该类型可能的取值,而不是指定现有类型的范围。格式:TYPE typename=val1,valn;,2.3 数据类型,例:定义了一个枚举类型TWeekDay来表示一周中的七天。TYPE TWeekDay=(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday);VAR WeekDay:TWeekDay;begin WeekDay:=Sunday;end,2.3 数据类型,2.3 数据

7、类型,5.子界类型子界类型定义了某种类型的取值范围。所用类型必须是基本类型的有序类型。语法如下:TYPE 类型标识符=上界值.下界值;例如:TYPE Tage=18.60;VAR studentage:Tage;,2.3 数据类型,2.3.2 实数类型 实数类型定义了一类可以用浮点数表示的数字。,2.3 数据类型,2.3.3 日期时间类型 TDateTime在delphi里本质上是Double类型的,其中整数位用于表达从1899年12月30日到现在所已经过去的天数,小数部分用于表示当天已经流逝的分数值。,var t:TDateTime;s:string;begint:=EncodeDate(2

8、009,5,22);s:=FormatDateTime(yyyy-m-d,t);ShowMessage(s);/2009-5-22end;,2.3 数据类型,2.3.4.字符串类型 字符串表示一个字符序列。Delphi共有三种字符串类型:(1)ShortString:最多255个字符。(2)ANSIString:20亿个。ANSI(3)WideString:20亿个。Unicode注意:Delphi中的字符串用单引号!,var s:string;begins:=The first Delphi Program;ShowMessage(s);end;,2.3 数据类型,2.3.5 结构类型 结构

9、类型的一个实例可包含多个值。包括:集合、数组、记录,也包括类、类引用和接口。,2.3 数据类型,1.集合 集合类型表示一组值,该组值由集合所依据的有序类型定义,一般用枚举或子界类型格式:SET of 基本类型,2.3 数据类型,例如:TYPE TIntSet=SET OF 1.10;VAR a:Tintset;或:VAR a:set of 1.10;,2.3 数据类型,集合有一些特殊的运算,如:并(+)、交(*)、差(-)、成员检测(in)等。但是一般不用来输出和输入。如:VARset1,set2:set of 1.100;.set1:=1,3,5,7;set2:=55.100;,2.3 数据

10、类型,2.数组Delphi中的数组下标从1开始!定义的格式:VAR 数组名:ARRAY 上标.下标 of 类型;如:VAR a:ARRAY 1.10 of Integer;b:ARRAY 1.5,1.5 of char;b1,2:=1;,2.3 数据类型,3.记录类型结构体记录类型用于定义不同类型数据项的固定集合。记录中每个字段有它自己的类型。记录类型定义中列出了所有字段,每个字段对应一个字段名,通过字段名可以访问字段值。,2.3 数据类型,TYPE TDate=record Year:Integer;Month:Byte;Day:Byte;end;VAR BirthDay:TDate;BEG

11、IN BirthDay.Year:=1997;BirthDay.Month:=2;BirthDay.Day:=14;.END,2.3 数据类型,5、指针类型指针类型的变量存储的是内存地址,利用指针可以灵活地访问内存中的数据。指针类型的声明格式如下:type 指针类型标识符=数据类型;,varX,Y:Integer;/X andY整数类型 P:Integer;/P指向整数类型的指针beginX:=17;/给X赋值P:=X;/把x的地址赋给p Y:=P;/取出p所指向的数值赋给yend;,2.4 运算符与表达式,运算是对数据进行计算的过程,记述各种不同运算的符号称为运算符。根据运算规则,用运算符将

12、常量、变量、数值和函数组合起来就形成表达式,表达式运算的结果就是表达式的返回值。表达式可以传递给过程或函数的值参,但不能传递给过程或函数中的引用参数。,2.4 运算符与表达式,2.1.1 表达式 最简单的表达式是变量和常量,更复杂的表达式由简单表达式使用运算符、函数调用、集合构造器、索引和类型转换构成。例如:X/变量 15/整数常量 abs(X)/函数调用X*Y/X和Y 的乘积 X=Y/条件表达式 a,b,c/集合 Char(48)/类型转换,2.4 运算符与表达式,2.4.2 Delphi语言中的运算符及其优先级 1赋值运算符(:=)赋值运算符“:=”是先计算赋值运算符右边表达式的值,再将结

13、果赋给左边的变量。2算术运算符 P24+、*、/、Div、Mod,2.4 运算符与表达式,2.4.2 Delphi语言中的运算符及其优先级 3关系运算符 关系运算符是对两个类型相容且可以比较大小的数据进行比较,结果为布尔类型。=等于、不等于、大于、=大于或等于、In属于。,2.4 运算符与表达式,4逻辑运算符 逻辑运算符对逻辑类型的操作数进行运算,结果为布尔型。not逻辑非、and逻辑与、or逻辑或、xor逻辑异或。5集合运算符+集合的并集、-集合的差集、*集合的交集、=、=两个集合是否相等、两个集合是否不相等、in。,2.4 运算符与表达式,6运算符的优先级 各运算符的优先级,2.5 语句,

14、2.5.1 注释与空白 1.注释 Delphi中的注释有三种形式:花括号“”注释:位于“”中的内容为注释。双斜杠“/”注释:“/”之后到本行结束的内容为注释。圆括号及星号对“(*)”注释:(*)中的内容为注释。,2.5 语句,2.空白(1)空行:可视作空语句;(2)空格(3)缩进,2.5 语句,2.5.2 简单语句和复合语句简单语句 最常用的语句,结束要用“;”分隔。包括:赋值语句、函数和过程调用。赋值语句的格式如下:变量名:=表达式;,2.5 语句,2.复合语句 多个简单语句的组合,复合语句用begin开始,以end结束。begin i:=1;j:=i+1;s:=abc;end;,2.5 语

15、句,3.with语句 with语句是一种简写方式,用来引用一个记录的字段,或一个对象的字段、属性和方法。如:with label1 do begin/label1是一个标签组件 caption:=Red;font.Color:=clRed;end;,2.5 语句,2.5.3 条件语句 条件语句通过条件检测,判断是否执行该条件语句中包含的语句。基本形式有:if语句与case语句。,2.5 语句,1.if语句(1)if.then 语句语法:if 表达式 then 语句 例如:if x=y then z:=x;,2.5 语句,(2)if.then.else语句语法:if 表达式 then 语句1 e

16、lse 语句2例如:if x=y then z:=xelse z:=y;,注意:不允许在else之前的语句加“;”!,2.5 语句,if语句可以嵌套,当使用复合语句时,复合语句前后需要用begin和end括起来。例如:if x=y then begin z:=x;Count:=Count+1;endelse if Count=Last then Done:=True else Exit;,2.5 语句,【例2-1】编写一个程序,用于判断输入的年份是不是闰年。注:是闰年的条件必须满足下列条件之一:(1)能被4整除,但不能被100整除的年份;(2)能被100整除,也能被400整除的年份。【实现步骤

17、】(1)新建应用程序(2)定制窗体,图2-1设计窗体界面,2.5 语句,表2-10 各组件属性设置,(3)编写代码(4)运行程序,图2-2 运行结果,2.5 语句,2.case语句case 语句包括用来选值的表达式、可能值序列或一个取值范围,属于有序类型。其语法如下:case 选择表达式 of 值1:语句1;值2:语句2;.值n:语句n;End,2.5 语句,case a of 1:t:=one;2:t:=two;3:t:=three;End,2.5 语句,case 选择表达式 of 值1:语句1;值2:语句2;.值n:语句n;else 语句n+1;end;,2.5 语句,例如:case My

18、Char of+:Text:=Plus sign;-:Text:=Minus sign;*,/:Text:=Multiplication or division;0.9:Text:=Number;a.z:Text:=Lowercase character;A.Z:Text:=Uppercase character;else Text:=Unknown character;end;,2.5 语句,2.5.4 循环控制语句 循环语句重复执行循环体(即语句或语句块),并根据设定的条件判断何时退出循环。delphi提供了三种循环语句:while语句、repeat语句、for语句。1.while语句 w

19、hile的语法格式如下:while 条件表达式 do 循环体;,while i=100 dobegin s:=i+s;i:=i+1;end;,2.5 语句,【例2-2】编程计算1+2+3+99+100的值;【实现步骤】(1)新建应用程序(2)定制窗体,图2-3 设计窗体界面,2.5 语句,表2-11 各组件属性设置,(3)编写代码(4)运行程序,图2-4 运行结果,2.5 语句,2.repeat语句 repeat语句是先执行循环体,然后判断条件,根据条件决定是否继续循环,执行循环体的最少次数为1。语法如下:repeat 循环体 until 条件表达式;,repeat s:=i+s;i:=i+1

20、;until i100;,2.5 语句,【例2-3】编写程序求两个正整数的最大公约数。分析:我们使用“辗转相除法”求最大公约数,方法如下:以大数m作被除数,小数n作除数,相除得余数为r;如果r不为0 则将n赋给m,r赋给n,相除得到新的r,反复该过程直到r=0。最后的m就是最大公约数。,2.5 语句,【实现步骤】(1)新建应用程序(2)定制窗体,图2-5设计窗体界面,2.5 语句,(3)编写代码(4)运行程序,表2-12 各组件属性设置,2.5 语句,图2-6运行结果,2.5 语句,3.for语句 在循环次数已知或可计算的场合,用for语句来实现循环比较简便。for语句分为递增式和递减式两种形

21、式。语法格式:for 循环变量=初值 to 终值 do 循环体;或for 循环变量=初值 downto 终值 do 循环体;,2.5 语句,(1)循环变量为循环计数器,只能为有序类型变量。(2)初值和终值为循环变量的初始值和终止值。(3)to为计数递增,downto为计数递减。(4)循环体可以是简单语句也可以是复合语句。,2.5 语句,(5)对于递增循环,循环执行时先判断循环变量的值是否大于终值,若循环变量的值没有大于终值,则开始执行do后面的循环体,然后循环变量自动递增,并开始一个新的循环。(6)对于递减循环,循环执行时先判断循环变量的值是否小于终值,若循环变量的值没有小于终值,则开始执行d

22、o后面的循环体,然后循环变量自动递减,并开始一个新的循环。,for i:=1 to 100 dobegin s:=i+s;end;to表示大于;downto表示小于;,2.5 语句,【例2-4】用for语句编程计算1+2+3+99+100的值;【实现步骤】(1)修改【例2-2】中的代码。(2)运行程序,2.6 过程与函数,Delphi把预先定义好的子程序称作运行库。包括:过程和函数。过程和函数的主要区别在于过程定义使用保留字procedure,执行后没有返回值,而函数定义使用保留字function,执行后有返回值。,2.6 过程与函数,2.6.1 过程声明过程声明的语法:procedure 过

23、程名(参数表);局部声明部分 begin 过程体语句块 end;注意:参数表中同类型参数之间用逗号隔开,不同类型的参数用分号隔开。,procedure TForm1.showsum(N:integer);varsum,i:integer;beginsum:=0;for i:=1 to N do sum:=sum+i;showmessage(inttostr(sum);end;,2.6 过程与函数,2.6.2 函数声明 函数声明的语法:function 函数名(参数表):返回值数据类型;局部声明部分 begin 函数体语句块 end;,function TForm1.tryfun(i,j:int

24、eger;c:char):integer;begin tryfun:=1;end;,2.6 过程与函数,2.6.3 过程和函数调用 用户定义过程调用的形式与标准过程调用的形式是相同的,用户定义函数调用的形式与标准函数调用的形式是相同的。过程:过程名(参数);函数:变量:函数(参数);,2.6 过程与函数,【例2-5】过程和函数的调用的例子。在程序中定义了一个名为showSum的过程,用于显示1到n的累加和;定义了一个名为intSum的函数,用于返回1到n的累加和。然后在程序中调用过程showSum和函数intSum。【实现步骤】(1)新建应用程序(2)定制窗体,图2-7设计窗体界面,2.6 过程与函数,表2-13 各组件属性设置,2.6 过程与函数,图2-8运行结果,(3)编写代码(4)运行程序,本章实训指导,4.超市为促销,给出以下优惠措施购物100元以上,9折优惠购物200元以上,8折优惠购物300元以上,7折优惠购物400元以上,6折优惠购物500元以上,5折优惠编写相应程序完成输入购物款额,计算出优惠价。5.如果一个数刚好出现在其平方的右边,如5的平方为25,6的平方为36,这样的数我们称为同构数,请编程找出1-9999的全部同构数。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号