1、第2章 Object Pascal程序设计语言,本章要点 2.1 基本字符和符号 2.2 常量与变量 2.3 数据类型 2.4 运算符 2.5 语句 2.6 过程与函数,本章要点,常量与变量的定义和使用。数据类型的概念与使用。运算符的概念与使用。Object Pascal语言的语句、过程和函数。,返回本章首页,2.1 基本字符和符号,1Object Pascal的字符集 2特殊字符 3标识符 4保留字,5指令字 6数字 7标号 8字符串,返回本章首页,2.2 常量与变量,2.2.1 声明变量 2.2.2 声明常量,返回本章首页,2.2.1 声明变量,变量是程序代码中代表一个内存地址的标识符,而
2、此地址的内存内容在程序代码执行时可以被改变。在所有变量说明以前加上保留字Var。变量说明左边是变量的名称,右边则是该变量的类型,中间用冒号隔开。 另外,在声明变量时注意:一是变量名要符合Pascal语言关于标识符的规则;二是必须指定变量的类型,三是尽量使定义的变量或标识符有意义,以便于记忆。,返回本节,2.2.2 声明常量,1纯常量:是一种预先定义的标识符,其值在定义后永远不会改变。 2类型常量:用于保存数组、记录、过程以及指针等类型的值。类型常量不能出现在常量表达式中。声明类型常量的语法规则为: Const Identifer:Type=Value,返回本节,2.3 数据类型,2.3.1 简
3、单类型 2.3.2 字符串类型 2.3.3 结构数据类型 2.3.4 指针类型,返回本章首页,2.3.1 简单类型,1有序类型 (1)整数类型(2)字符类型(3)布尔类型(如表2-1所示)(4)枚举型(5)子界类型 2实数类型包括Real48、Single、Double、Extended、Comp和Currency。通常使用的Real和Double类型是等价的。,返回本节,2.3.2 字符串类型,Delphi主要支持两种类型的字符串:ShortString和AnsiString。 ShortString数据类型主要是为了能和Delphi1.0和Borland Pascal的早期版本兼容。 St
4、ring既可以是ShorString类型也可以是AnsiString类型,缺省是AnsiString类型。,返回本节,2.3.3 结构数据类型,1、集合类型2、数组类型3、记录类型4、文件类型5、类类型6、类引用类型7、接口类型等,返回本节,2.3.4 指针类型,在Delphi中创建一个数据结构时,首先要分配内存空间。分配的内存空间用于存储数据结构中的数据。使用指针可以使程序不必每次需要时都去分配,只要申请一次,其他过程或函数使用同一块内存空间时,只需使用该内存空间的地址即可。在运算上,指针变量与一般变量无区别,如p:=q;。当要引用指针所指向的变量时,必须在指针后使用“”。,返回本节,2.4
5、 运算符,2.4.1 算术运算符 2.4.2 逻辑运算符 2.4.3 关系运算符 2.4.4 运算符的优先级,返回本章首页,2.4.1 算术运算符,算术运算符用于完成二元或一元算术运算。 (见表2-2和表2-3 ),表2-2 二元运算符,表2-3 一元运算符,返回本节,2.4.2 逻辑运算符,逻辑运算符实际上可分为两类:逻辑运算符和布尔运算符。(见表2-4 和表2-5),表2-4 逻辑运算符,表2-5 布尔运算符,返回本节,2.4.3 关系运算符,表2-6 关系运算符(1),表2-6 关系运算符(2),返回本节,2.4.4 运算符的优先级,表2-7 运算符的优先级,返回本节,2.5 语句,2.
6、5.1 赋值语句 2.5.2 块语句 2.5.3 控制语句,返回本章首页,2.5.1 赋值语句,下面的例子就是一个最简单的赋值语句:X:=Y+Z;在赋值语句的左边是此赋值的数据变量,右边是一个数值或者表达式,中间用:=连接。,返回本节,2.5.2 块语句,块语句是一种把若干简单语句组合成复杂语句的方式。经常使用的块语句是BeginEnd语句,下面的例子就是一个简单的块语句: BeginA:=5;C:=A*8/2; End;,返回本节,2.5.3 控制语句,Object Pascal使用控制语句来控制程序的执行顺序。7个是分支语句,3个是循环语句: (1)分支语句If语句、 Case语句、GOT
7、O语句、 Break语句、 Continue语句、 Exit语句、 Halt语句。 (2)循环语句Repeat语句、 While语句、For语句,返回本节,2.6 过程与函数,2.6.1 过程与函数的定义和调用 2.6.2 过程与函数的参数,返回本章首页,2.6.1 过程与函数的定义和调用,1过程与函数的定义每一个过程或函数都从表头开始,表头包含其识别名称及外部传入的参数,过程开始处为保留字Procedure,如:Procedure Name(Const Peter: Integer);函数与过程不同的地方是,函数有返回值,这样在函数的首部就多了一个返回结果类型。,2过程与函数的调用 调用过程
8、的语句只是一个独立的语句,而调用函数的语句不是一个独立的语句,它必须要返回一个值,且返回数值数据类型必须与定义相同。 例如: MinNumber:=Min(People); 另外也可以将函数调用直接作为操作数。例如: X:=Min(People)+50;,3指示字 (1)External:表示过程或函数是外部的,通常用于从动态连接库中引用过程或函数。 (2)Assembler:表示过程或函数是使用嵌入式汇编语言编写的。 (3)Forward:表示过程或函数是向前查找的。该过程或函数的定义必须在后面的某个地方定义。,4与调用约定 在声明函数或过程时,可以在附属块中指定函数过程或函数的参数传递方式
9、。主要有Register,Pascal,Cdecl,Stdcall,Safecall等五种传递方式。缺省的调用方式是Register。,返回本节,2.6.2 过程与函数的参数,经常用到的参数主要有以下几种: 1传值参数 传值参数会把外部传入的值作一份拷贝,保存在此参数内,因此在过程内对此参数所作的任何改变,都不会影响外部传入的值。参数前不加任何的保留字,即为传值参数。,2引用参数 通过引用来传递参数时,允许过程或函数改变参数的值。通过引用传递的参数由关键字Var表示。,3常量参数 在过程或函数的运行当中,如果形参的值不变,就可以使用常量来传递参数。与引用传递的参数不同的是,将参数前加上的保留字Var改为Const。,返回本节,THANK YOU VERY MUCH !,本章到此结束, 谢谢您的光临!,结束放映,返回本章首页,