objectpascal语言

上传人:san****019 文档编号:70809674 上传时间:2019-01-18 格式:PPT 页数:64 大小:1MB
返回 下载 相关 举报
objectpascal语言_第1页
第1页 / 共64页
objectpascal语言_第2页
第2页 / 共64页
objectpascal语言_第3页
第3页 / 共64页
objectpascal语言_第4页
第4页 / 共64页
objectpascal语言_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《objectpascal语言》由会员分享,可在线阅读,更多相关《objectpascal语言(64页珍藏版)》请在金锄头文库上搜索。

1、任课教师:杨 超 电子邮箱: yangchao_,测控软件设计,2,一、字符集和Pascal中的符号 (1) 基本字符 字母:英文字母az和AZ 数字:09 关系运算符:, =, =, 赋值运算符::= 算术运算符:+, -, *, /, Div(整除) 其它符号:_, (, ), ., #, $, ,3,(2) 保留字与标识符 保留字:保留字由Pascal系统定义,由字母组成,可以直接使用,不能重新定义。如:begin、end、for、while、if、then、with、or、and、not、procedure、function等。,4,标识符:对常量、变量、过程、函数、方法等进行标识,以

2、字母或下划线开头。如Integer、single、double、Read、Write、Bof、Eof等;标识符的最大长度为255;保留字不能作为标识符;尽量不要使用Delphi的指令字作为自定义标识符,以免引起混淆;标识符不区分大小写,使用前必须声明。 注释:对程序的含义或功能的文字说明。Delphi不会执行注释,也不会编译注释,主要是增强程序可读性。 注释的三种方式:(1) 双斜线“/”;(2) 小括号和*号:“(*”和“*)”;(3) 大括号:“”和“”。方式(1)只能注释一行,方式(2) 和(3)必须成对使用,可注释多行。,5,一、常量 常量用于存储内存中不变的量。在程序运行过程中,常量

3、的值不能改变;常量声明后才可使用。声明方法: Const 常量名称=常量值 或 Const 常量名称:数据类型=常量值 如: Const PI=3.1415926; Num:Integer=100; /Num=100 说明:声明常量时无需指明其数据类型。,6,二、变量 变量用于存储内存中变化的量。在程序运行过程中,既可以引用变量的值,也可以改变变量的值;变量声明后才可使用。声明方法: Var 变量名称:变量类型; 如:Var N,Age,I,J:Integer; /多个变量“,”隔开 Record:Single; StudentNo:String; 说明:一个Var可声明多个变量,但须指明类型

4、。,7,三、变量的作用范围 1.过程级变量:在过程里声明,只存在于该过程; 2.窗体级变量:在窗体单元的Private域内声明,只存在于该窗体范围,即该窗体单元的所有过程均可访问该级别变量,随窗体的结束而结束; 3.公共变量:在窗体单元的Public域内声明,或紧跟在窗体变量声明之后声明的变量,或在公共单元里声明的变量;在整个程序运行期间均可访问,不过,在访问该级别变量之前,需先引用定义变量的单元文件,然后方可使用变量;若单元文件有对应的窗体,则变量名前需加入窗体名称,同使用组件。如frmMain.UserName。,8,四、变量的赋值 给变量赋值一个确定的数 StudentNo:=91102

5、3; /字符串用单引号 StudentWeight:=55; 将一个变量的值赋值给另一个变量 I:=J; /将变量J的值赋值给变量I 将算术表达式的值赋值给变量 Y:=sin(3*X+2.4)/Sqrt(Power(10,1.1)+4); 先计算表达式的值,然后赋值 先比较运算,然后赋值:TF:=(X*Y20) And (Z0),9,表达式就是变量、常量、字符串、运算符和函数按照一定规则的组合。Pascal运算符包括算术运算符、逻辑运算符、关系运算符、位运算符、指针运算符和集合运算符等。有些运算符使用不同的数据类型,意义也会不同,如:运算符“+”可以用来求两个变量(常量)的和、合并两个字符串、

6、求两个集合的并集。不同的运算符具有不同的优先级别。,10,一元运算符(优先级别最高) :指针运算符; :函数变量的地址(返回一个指针); not:Boolean否或逐位进行二进制位值反向; 乘与逻辑运算符 *:算术乘运算或集合的交集运算; /:浮点数的除运算; Div:整型数的整除运算; Mod:求模(整型数相除后的余数); As:安全的类型转换;,11,乘与逻辑运算符 And:Boolean或逐位的逻辑“与”运算; ShL(Shl):二进制位值左移; ShR(Shr):二进制位值右移; 加减运算符 +:算术加法、集合并集、字符串连接、正值或增加指针地址偏移; -:算术减法、集合差集、负值或减

7、少指针地址偏移; Or:Boolean或逐位的逻辑“或”运算; Xor:Boolean或逐位的逻辑“异或”运算;,12,关系与比较运算符 =:等于; :不等于; :大于; =:大于或等于; In:属于 Is:测试对象类型是否匹配。,13,声明变量时,必须指明其数据类型,因为不同的数据类型存储的数据范围、运算方法可能不同。不论何种数据类型的变量,其值不要超出该类型的取值范围。,14,4.1 简单数据类型 4.1.1 运算函数 Dec(i):变量减1后的值,等同于i:=i-1; Inc(i):变量加1后的值,等同于i:=i+1; Pred():表达式前驱的值;如:Pred(B)等于A; Succ(

8、):表达式后继的值;如:Succ(B)等于C; Ord():有序表达式的值;如:Ord(B)等于66; Low():数据类型的最小值; High():数据类型的最大值; Odd():判断是否为奇数。如:Odd(11)等于True;,15,4.1.2 整型(Integer) 整型数据又可细分为多种类型(参看教材P23P24或Help文档)。常用的类型:Integer、Cardinal和Int64,但要注意:不同整数类型的变量进行运算时可能得不到想要的结果,必须进行类型的强制转换;所以参与运算的变量类型尽量一致。 声明:Var I,J,K:Integer; L,M,N:Cardinal; /与Lo

9、ngWord类似 MM,NN:Int64;,16,4.1.3 字符型(Char) 存储单个字符数据的数据类型,这些字符是在ASCII表中描述的。要想取得ASCII表中的字符,可以采用两种方法:#和Char()。例如:#65和Char(65)都返回字符“A” 如果想知道某个字符在ASCII表中对应的序号,使用函数Ord(),例如:Ord(Z)返回数字90。 “A”“Z”:Char(65)Char(90); Char(13)、#13:回车; Char(10)、#10:换行; #10+#13、Char(10) + Char(13):换行+回车。,17,4.1.4 布尔型(Boolean) 布尔型数据

10、主要用于逻辑运算,只能取“True”或“False”两种值。建议:不要将布尔型变量用于算术运算。 例如: Var TF:Boolean; If TF=True Then 可以写成 If TF Then If TF=False Then 可以写成 If Not TF Then ,18,4.1.5 枚举型 枚举型采用列举出该类型所有可能取值的方式定义一个有序值的集合。定义方式: Type 类型名=(值1,值2,值n); 在枚举类型变量中,可以用Ord(值)提取“值”对应的序号,默认情况下, “值”的序号从0开始,如:Ord(值1)为0, Ord(值n)为n-1。 例如:Type TScrollSt

11、yle = (ssNone, ssHorizontal, ssVertical, ssBoth); /滚动条类型,19,4.1.6 实型 实型定义一个可以按照浮点格式进行描述的数据类型。常用的实型为Real和Currency(货币型)。 例如:Var A,B:Real; 实型数操作函数: Round(A)圆整,即四舍五入后取整; Trunc(A)直接提取实型数A的整数部分; Int(A)将实型数A的小数部分变为0; Frac(A)提取实型数A的小数部分; 关系:Frac(A) = A - Int(A),20,4.2 字符串类型 4.2.1 变长字符串 声明:Var S1,S2:String;

12、4.2.2 定长字符串 声明:Var S1,S2:String10; S3,S4:String25; 4.2.3 字符串运算函数和过程;(添加StrUtils单元) Length(S):返回字符串的长度; SetLength(S,N):重新设置字符串的长度为N; Si:表示字符串S的第 i 个字符(i从1开始); Pos(SubStr,Str):返回SubStr在Str中的位置;,21,LowerCase(S):返回字符串S全部小写的结果; UpperCase(S):返回字符串S全部大写的结果; AppendStr(S2,S1):将字符串S1添加到字符串S2的后面,并以S2为变量返回,相当于S

13、2:=S2+S1,但本函数效率更高;多个字符串相加最好采用S1+S2+Sn。 Copy(S,Ind,N):从字符串S的第Ind个字符开始,复制N个字符。若IndLength(S),则返回空串;如果Ind后字符的个数小于N,则返回Ind后面的所有字符。 LeftStr(S,N)、RightStr(S,N):分别返回字符串S左侧、右侧的N个字符。 IntToHex(V,N):将整数V转换成N位16进制格式。,22,IntToStr(N):将整型数转换为字符串; StrToInt(S):将整数字符串转换为整数; FloatToStr(A):将浮点数转换为字符串; StrToFloat(S):将浮点数

14、字符串S转换为浮点数; DateToStr(D):将日期数据转换字符串; TimeToStr(D):将时间数据转换字符串; DateTimeToStr(D):将日期和时间数据转换字符串; StrToDate(S):将日期字符串S转换为日期; StrToTime(S):将时间字符串S转换为时间; StrToDateTime(S):将日期和时间字符串S转换为日期和时间;,23,24,4.3 结构类型 4.3.1 集合类型 定义集合类型的语法格式: Type 集合类型名=Set of 序列数据类型; 例如: Type TMySet=Set of 0255; 或 Type TMySet= Set of

15、 Byte; 集合类型声明后,即可定义和使用集合类型的变量: Var LineNum:TMySet; LineNum:=1,4,7; 思考:枚举类型与集合类型有何区别?,25,判断某元素J是否在集合里,使用 In: If J in LineNum Then 4.3.2 集合类型的使用举例 TFontStyle=(fsBold,fsItalic,fsUnderline,fsStrikeOut); TFontStyles = Set of TFontStyle; If ChkBold.Checked Then Font.Style:= Font.Style+fsBold /并集 Else Font

16、.Style:= Font.Style-fsBold; /差集 注:集合里的元素与位置无关,且不能重复。,26,4.4 数组类型 数组类型表示同类数据的集合,它们共用一个名字,通过编号(索引)来访问其中的某个数据。如某个班级所有学生的名字构成一个数组。 一维静态数组:声明数组时即指定数组大小。 如: Var StudentNames:Array40 of String; 数组元素40个,索引从0开始,直到39 TeacherNames:Array1120 of String; 数组元素120个,索引从1开始,直到120,27,一维动态数组:声明数组时不指定数组大小,程序运行过程中可随时改变其大小。 如: Var StudentNames:Array of String; TeacherNames:Array of String; 运行时改变其大小: SetLength(数组名,N);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号