第二章Objectpascal语言基础.ppt
《第二章Objectpascal语言基础.ppt》由会员分享,可在线阅读,更多相关《第二章Objectpascal语言基础.ppt(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 Object PascalObject Pascal语言基础语言基础 2.1 词法符号词法符号 2.2 常量与变量常量与变量 2.3 简单数据类型简单数据类型 2.4 结构类型结构类型 2.5 运算符优先级运算符优先级2.6 语句与流程控制语句与流程控制2.7 过程与函数过程与函数 2.8 程序与单元的结构程序与单元的结构 2.9 标识符的作用域标识符的作用域 2.1 2.1 词法符号词法符号例例2-12-1:了解:了解DelphiDelphi源程序源程序 由程序可见,由程序可见,DelphiDelphi源程序是由单词和符号组成源程序是由单词和符号组成的纯文本。的纯文本。一、一、
2、基本符号基本符号Object PascalObject Pascal语言仅使用以下几类基本符号:语言仅使用以下几类基本符号:1.1.大小写英文字母大小写英文字母 A A、B B、C C、Z Z等等2626个个大大写写,和和a a、b b、c c、z z等等2626个小写字母。个小写字母。2.2.数字符号数字符号 0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9等。等。3.3.其他符号其他符号 有有+,-,*,/,=,(,),_ _,;,:,,,.,#,$,及空格符等。及空格符等。二、二、保留字、标识符、标准标识符、指令字保留字、标识符、标准标识符、指令字1.1.保
3、留字保留字 程序如同一篇文章,由字符组成单词,再由单词程序如同一篇文章,由字符组成单词,再由单词和符号构成句子和符号构成句子语句。其中有一类单词,它们语句。其中有一类单词,它们具有特定的语法含义,称为保留字(具有特定的语法含义,称为保留字(reserved reserved wordswords)。)。程序员不得重新定义保留字的语义程序员不得重新定义保留字的语义。常用。常用的保留字如:的保留字如:beginbegin、endend、ifif、andand、forfor、dodo等。等。2.2.标识符标识符 标标识识符符用用作作常常量量、变变量量、数数据据类类型型、过过程程、函函数数、单单元元及
4、及程程序序等等的的名名称称。由由一一个个或或多多个个ASCIIASCII码码字字符序列组成,其构词规则如下:符序列组成,其构词规则如下:(1 1)标识符由字母、数字或下划线组成;)标识符由字母、数字或下划线组成;(2 2)标识符的第一个字符必须是字母或下划线;)标识符的第一个字符必须是字母或下划线;(3 3)标标识识符符的的长长度度不不应应超超过过255255个个字字符符,否否则则只只有有前前255255个字符有效;个字符有效;(4 4)不能将保留字用作标识符;)不能将保留字用作标识符;(5 5)标识符不区分大、小写。)标识符不区分大、小写。例例如如:x x、x1x1、maxmax、a15a1
5、5、Button_OKButton_OK都都是是合合法法的的标标识识符,而符,而5x5x、x-yx-y、ax10.5ax10.5等都是非法的标识符等都是非法的标识符。3.标准标识符标准标识符 在在Object Pascal语言中,有一类标识符是系统预语言中,有一类标识符是系统预先定义的,它们用于标识系统预先定义的标准函数、先定义的,它们用于标识系统预先定义的标准函数、标准过程、标准类型、标准常量及标准文件等。标准过程、标准类型、标准常量及标准文件等。标准常量,如标准常量,如False、Maxint、True等。等。标准类型,如标准类型,如Boolean、Char、String、TDateTim
6、e等。等。标准函数,如标准函数,如Abs、Eof、ShowMessage、Sqrt等。等。标准过程,如标准过程,如Dispose、New、Read、Readln、Reset等。等。标准文件,如标准文件,如Input、Output等。等。标准标识符是可以重新定义的。(例标准标识符是可以重新定义的。(例2-2)注意注意:(1 1)当程序中自定义的标识符与其引用的单元中所定)当程序中自定义的标识符与其引用的单元中所定义的重名时,如果要访问被引用单元的标识符,则义的重名时,如果要访问被引用单元的标识符,则必须指示为外部单元的标识符,不然访问的是本程必须指示为外部单元的标识符,不然访问的是本程序定义的标
7、识符。序定义的标识符。(2 2)因)因SystemSystem单元是自动引用的,不必也不允许在引单元是自动引用的,不必也不允许在引用部分列出用部分列出SystemSystem单元。单元。4.4.指令字指令字 指令字为编译提供指示意义。指令字为编译提供指示意义。各各指指令令字字有有它它专专门门的的用用途途,如如:absoluteabsolute指指令令字字用用于于指指示示相相同同类类型型的的另另一一标标识识符符存存放放在在同同一一个个内内存存区区域。如下面代码:域。如下面代码:varvar I:Integer;I:Integer;J:Integer absolute I;J:Integer ab
8、solute I;这这里里用用到到了了指指令令字字absoluteabsolute,它它声声明明变变量量J J和和已已存存在在的的同同类类型型变变量量I I的的值值驻驻留留在在同同一一段段内内存存单单元元中中,即即I I与与J J实为同一变量。实为同一变量。2.2 2.2 常量与变量常量与变量 常量常量:在程序中,值始终保持不变的量,包括:在程序中,值始终保持不变的量,包括字面字面常量常量、符号常量符号常量 和和类型常量类型常量等。等。变量变量:变量是一种可随时更改其值的量变量是一种可随时更改其值的量 。一个变量。一个变量在某一个时刻有且仅有一个值。在某一个时刻有且仅有一个值。一、常量一、常量
9、1.字面常量字面常量(1)整型常量)整型常量 即即整数整数,如,如3、10000、-90。在。在Object Pascal中十六中十六进制形式表示整型常量以字符进制形式表示整型常量以字符$开头,如开头,如$20相当于相当于十进制的十进制的32。(2)实型常量)实型常量 即即实实数数,例例如如,6.6、0.77e+4。后后者者的的表表示示方方法法称称为为指数记数法或科学记数法,指数记数法或科学记数法,0.77e+4表示表示0.77104。PascalPascal语语言言中中的的实实数数表表示示和和日日常常书书写写的的形形式式基基本本相相似,但要注意以下几点:似,但要注意以下几点:小数点前后一定要
10、有数字。小数点前后一定要有数字。数数中中不不允允许许包包含含空空格格字字符符与与逗逗号号。例例如如1 1,000000,000000是不合语法的。是不合语法的。没有分式表示。没有分式表示。使使用用指指数数记记数数法法时时,e e前前面面应应有有整整数数或或实实数数,e e后后面面必须是整数。必须是整数。例例如如:88.088.0、-0.8-0.8、1e+231e+23、-3.45e-6-3.45e-6都都是是正正确确的的实实数数表示法,而表示法,而88.88.、.66.66、4.4e5.54.4e5.5、e6e6则是不正确的。则是不正确的。(3 3)布尔常量布尔常量 它它是是指指FalseFa
11、lse和和TrueTrue这这两两个个值值,FalseFalse表表示示逻逻辑辑值值“假假”,TrueTrue表示逻辑值表示逻辑值“真真”。(4 4)字符常量字符常量字符常量有两种表示方式:字符常量有两种表示方式:用单引号对括起来的单个字符,如用单引号对括起来的单个字符,如aa、*、22等。等。用用#引引导导一一个个整整数数,整整数数表表示示该该字字符符的的ASCIIASCII码码。例例如如,#13#13、#$20#$20、#$30#$30、#65#65分分别别表表示示回回车车符符、空空格格符、数字符号符、数字符号00、字母、字母AA。因因单单引引号号用用于于定定界界字字符符常常量量,所所以以
12、用用表表示示单引号字符。单引号字符。(5 5)字符串字符串常量常量 字字符符串串常常量量是是用用单单引引号号对对括括起起来来的的一一串串字字符符,例例如如,Good ideaGood idea、96.596.5、#=#=。当当字字符符串串内内有有单单引引号号时时,要要用用两两个个连连续续单单引引号号表表示示,例如,例如,Most childrenMost childrenss English Course English Course。书写字符串需要注意以下几点:书写字符串需要注意以下几点:空空格格字字符符可可以以是是字字符符串串的的组组成成部部分分。所所以以在在字字符符串串中的任何空格字符都
13、是其值的一部分;中的任何空格字符都是其值的一部分;字符串中的字母有大小写区分,即字符串中的字母有大小写区分,即A1A1不等于不等于a1a1。2.2.符号常量符号常量 字字面面常常量量可可以以在在程程序序中中直直接接使使用用,而而由由标标识识符符表示的符号常量需预先定义。表示的符号常量需预先定义。常量定义的一般形式为:常量定义的一般形式为:constconst =表达式表达式;以以保保留留字字constconst后后开开始始常常量量声声明明;“=”=”号号左左边边为为常常量量标标识识符符;“=”=”号号右右边边的的表表达达式式可可以以由由常常量量、部部分分在在程程序序编编译译时时可可计计算算的的
14、函函数数,及及先先定定义义的的常常量量标识符等构成,表示符号常量的值。标识符等构成,表示符号常量的值。Object PascalObject Pascal对常量定义有如下要求:对常量定义有如下要求:必必须须遵遵循循先先定定义义后后使使用用的的原原则则,即即只只有有已已定定义义的的常常量标识符才能在程序中使用。量标识符才能在程序中使用。不能改变符号常量的值。不能改变符号常量的值。可可用用于于常常量量定定义义的的函函数数,即即在在程程序序编编译译时时可可计计算算的的函函数数,有有AbsAbs、ChrChr、HiHi、LengthLength、LoLo、OddOdd、OrdOrd、PredPred、
15、PtrPtr、RoundRound、SizeOfSizeOf、SuccSucc、SwapSwap、TruncTrunc等等。使使用用常常量量定定义义的的意意义义在在于于减减少少常常量量值值差差错错机机会会与与修修改程序的工作量,并提高程序的可读性。改程序的工作量,并提高程序的可读性。二、类型常量二、类型常量 类类型型常常量量定定义义在在PascalPascal程程序序的的声声明明部部分分,以以保保留留字字constconst开开头头。一一个个类类型型常常量量定定义义部部分分可可包包含含多多个个类类型型常常量量定定义义,每每个个类类型型常常量量定定义义末末尾尾均均有有分分号号,其其一一般般形形式
16、为:式为:const const :=表达式表达式;例:例:const Pi:Double=3.1415926;类类型型常常量量的的用用法法同同变变量量完完全全一一样样,可可以以对对类类型型常常量量重重新赋值。新赋值。三、变量三、变量 变量说明的一般形式为:变量说明的一般形式为:varvar :;其其中中,变变量量标标识识符符列列表表中中可可以以包包含含一一个个或或多多个个变变量量标标识识符符,若若有有多多个个变变量量标标识识符符时时,相相邻邻的的两两个个变变量量标标识识符符之之间间应应使使用用逗逗号号“,”隔隔开开;类类型型标标识识符符用用以以指指定这些变量的数据类型。定这些变量的数据类型。
17、变变量量说说明明以以保保留留字字varvar开开头头。一一个个变变量量说说明明部部分分可可包含多个变量的说明,每个变量说明末尾均有分号。包含多个变量的说明,每个变量说明末尾均有分号。2.3 2.3 简单数据类型简单数据类型 在在Object PascalObject Pascal语言中,每个数据都有一个确语言中,每个数据都有一个确定的类型,某种数据类型定义了该类型数据的存储定的类型,某种数据类型定义了该类型数据的存储方式和允许的一组运算,存储方式的定义相应地便方式和允许的一组运算,存储方式的定义相应地便确定了该类型数据的取值范围。确定了该类型数据的取值范围。Object Object Pasc
18、alPascal是是一一个个强强类类型型语语言言,拥拥有有丰丰富富的的数据类型,并允许程序员自定义新的数据类型。数据类型,并允许程序员自定义新的数据类型。常常见见的的分分类类方方法法中中,数数据据类类型型分分为为简简单单类类型型、字字符符串串类类型型、结结构构类类型型、指指针针类类型型、过过程程与与函函数数类类型型和和可变类型可变类型等。等。一、有序数据类型一、有序数据类型 有序数据类型定义的是取值有序的数据集。其有序数据类型定义的是取值有序的数据集。其特点是:数据的分布是离散的;除了第一个元素外,特点是:数据的分布是离散的;除了第一个元素外,其他任何元素都有一个前驱元素;除了最后一个元其他任
19、何元素都有一个前驱元素;除了最后一个元素,其他任何元素都有一个后继元素。素,其他任何元素都有一个后继元素。Object PascalObject Pascal提供的有序数据类型有:提供的有序数据类型有:整型整型、字符型字符型、布尔型布尔型、枚举型枚举型和和子界型子界型等五种类型。等五种类型。常用的有序数据操作函数有:常用的有序数据操作函数有:ord、pred、succ、high、low;常用过程有:常用过程有:inc、dec。1.1.整型整型(1 1)存储格式和取值范围)存储格式和取值范围 整整型型仅仅表表示示整整数数的的一一个个子子集集,通通用用的的整整数数数数据据类类型型包包括括Integ
20、erInteger和和CardinalCardinal,其其它它基基本本的的整整型型包包括括ShortintShortint、SmallintSmallint、LongintLongint、Int64Int64、ByteByte、WordWord和和LongwordLongword。(2 2)运算符运算符算算术术运运算算符符:、-、*、divdiv(整整除除)、modmod(取取模模),若若参参加加算算术术运运算算的的两两个个数数都都是是整整型型数数据据,则则运运算算结果也是整型。结果也是整型。关系运算符关系运算符:=、=、=、关系运算的结果是布尔型,即取关系运算的结果是布尔型,即取TrueT
21、rue或或FalseFalse值。值。例如:例如:5=55=5的值为的值为TrueTrue;5555的值为的值为FalseFalse。正负号运算符正负号运算符:+、-与与加加、减减运运算算不不同同,此此为为单单目目运运算算。如如-a-a,求求运运算算元元的负值。的负值。整型数的逻辑运算符整型数的逻辑运算符:notnot、andand、oror、xorxor 整整数数转转换换为为二二进进制制数数后后逐逐位位进进行行逻逻辑辑运运算算。其其中中notnot是是单目运算符单目运算符。例:例:00000000 01010110 (86)10 and 00000101 00010100 (1300)10
22、00000000 00010100 (20)10左、右移位运算符:左、右移位运算符:ShlShl、ShrShr ShlShl运运算算符符的的运运算算格格式式为为A A ShlShl n n,表表示示将将整整型型数数A A的的各各位位向向左左移移n n位位,高高位位溢溢出出,低低位位补补0 0。ShrShr运运算算符符的的运运算算格格式式为为A A ShrShr n n,表表示示将将整整型型数数A A的的各各位位向向右右移移n n位位,低位溢出,高位低位溢出,高位补补0 0。如如:00000000 00000000 0101011001010110左左 移移 2 2位位 后后,为为 000000
23、01 00000001 0101100001011000,即:表达式,即:表达式86 86 ShlShl 2 2的值为的值为344344。例例2-32-3:交换一个字符序号值的高交换一个字符序号值的高4 4位和低位和低4 4位。位。(3 3)标准函数和标准过程)标准函数和标准过程 绝对值函数绝对值函数Abs(x)Abs(x),函数值为函数值为|x|x|。例如:例如:Abs(-100)Abs(-100)的值为的值为100100,Abs(99)Abs(99)的值为的值为9999。平方函数平方函数Sqr(xSqr(x),函数值为函数值为x x2 2。例如例如:Sqr(-4)Sqr(-4)的值为的值为
24、1616,Sqr(3)Sqr(3)的值为的值为9 9。奇函数奇函数Odd(x)Odd(x),函数的结果为布尔型。当函数的结果为布尔型。当x x为奇数时,为奇数时,函数值为函数值为TrueTrue;当;当x x为偶数时,函数值为为偶数时,函数值为FalseFalse。例如:例如:Odd(3)Odd(3)的值为的值为TrueTrue,Odd(4)Odd(4)的值为的值为FalseFalse。字符函数字符函数Chr(xChr(x),函数返回函数返回ASCIIASCII码值为码值为x x的字符。的字符。例如:例如:Chr(65)Chr(65)的值为的值为AA。取高、低字节函数取高、低字节函数Hi(x)
25、Hi(x)和和Lo(x)Lo(x),分别返回整型数分别返回整型数x x的高字节和低字节,结果是的高字节和低字节,结果是ByteByte类型。类型。例如:例如:Hi($1234)Hi($1234)的值为的值为$12$12,Lo($1234)Lo($1234)的值为的值为$34$34。交换函数交换函数Swap(x)Swap(x),将整型数将整型数x x的高字节和低字节进的高字节和低字节进行交换,交换后的两个字节重新组成一个整数作为行交换,交换后的两个字节重新组成一个整数作为函数返回值。函数返回值。例如例如,Swap($1234)Swap($1234)的值为的值为$3412$3412。其他操作函数或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 Objectpascal 语言 基础
限制150内