1、2023年12月12日星期二DELPHI程序设计基础教程第二章 面向对象的pascal语言t本章学习导读t2.1 Object Pascal概述t2.2 基本数据类型t2.3 运算符 t本章小结2023年12月12日星期二DELPHI程序设计基础教程本章学习导读t本章首先介绍如何在Delphi集成开发环境中创建控制台程序,这将为下面学习对象Pascal语言的基本理论创造一个简单实用的上机环境;然后介绍面向对象的Pascal语言中的一些基本知识,如源程序结构、符号、常量、变量、基本数据类型和表达式,并相应的配合图形界面程序实现的实例进一步加深读者对相关知识点的理解。读者在学习完本章之后就可以使用
2、Delphi进行简单的面向对象的程序设计和开发了。2023年12月12日星期二DELPHI程序设计基础教程2.1 Object Pascal概述t2.1.1 标识符t2.1.2 保留字t2.1.3 注释t2.1.4 常量和变量 2023年12月12日星期二DELPHI程序设计基础教程2.1 Object Pascal概述tObject Pascal具备清晰的模块结构,编译、运行效率高,便于移植,同时由于它提供了各种常量、变量的设置以及丰富的数据类型,在充分体现结构化程序设计的同时,使其应用程序广泛应用于应用软件的开发。t通常可以利用Delphi开发下面的3种应用程序:l(1)Windows图形
3、界面程序l(2)控制台程序l(3)服务器程序2023年12月12日星期二DELPHI程序设计基础教程2.1 Object Pascal概述t例2-1:编写一个小程序。要求输入一行文字,然后输出用户输入的文字,按回车键退出。该实例可以让读者在学习对象Pascal语言的过程中方便地上机。该实例具有以下特点:(1)是一个控制台程序。(2)生成的应用程序非常小,一般在几十个字节左右。(3)便于保存和备份实例。因为实例的运行环境、界面模式和文件等都比较简单、统一,所以在做完实例之后可以将关键代码复制到某个字处理软件的文档中保存。另外也可以通过简单的操作将运行结果显示的文字复制到剪贴板中。(4)相关文件少
4、。最少情况下可以只有一个工程文件(.dpr)和一个可执行文件(.exe)。2023年12月12日星期二DELPHI程序设计基础教程2.1.1 标识符t标识符(Identifiers)是以字母或下划线开头,后跟字母、数字或下划线所组成的串,其作用是标识常量、变量、类型、属性、对象、过程、函数、程序、单元、库和组件库等。t标识符由一个或多个ASCII码字符序列组成,其构词规则如下:l(1)标识符由字母、数字或下划线组成;l(2)标识符的第一个字符必须是字母或下划线;l(3)标识符的长度不应超过255个字符,否则只有前255个字符有效;l(4)不能将保留字用作标识符;l(5)标识符不区分大、小写。2
5、023年12月12日星期二DELPHI程序设计基础教程2.1.2 保留字t程序如同一篇文章,由字符组成单词,再由单词和符号构成句子语句。Object Pascal语言中具有特殊含义的单词称为保留字。保留字系统已使用,用户不可以用来作为标识符。以下是Object Pascal的保留字:ANDAND,ARRAYARRAY,BEGINBEGIN,CASECASE,CONSTCONST,DIVDIV,DODO,DOWNTODOWNTO,ELSEELSE,ENDEND,FILEFILE,FORFOR,FUNTIONFUNTION,GOTOGOTO,IFIF,ININ,LABELLABEL,MODMOD,
6、NILNIL,NOTNOT,OFOF,OROR,PACKEDPACKED,PROCEDUREPROCEDURE,PROGRAMPROGRAM,RECORDRECORD,REPEATREPEAT,SETSET,THENTHEN,TOTO,TYPETYPE,UNTILUNTIL,VARVAR,WHILEWHILE,WITHWITH等等2023年12月12日星期二DELPHI程序设计基础教程2.1.3 注释t注释语句为非执行语句,编译程序不对其进行翻译,也不执行,只是为方便用户读程序而附加的解释说明语句。Object Pascal支持3种类型的注释。l大括号注释:“”与“”的成对使用表示它们之间的内
7、容为注释部分。l带星号的小括号注释:“(*”与“*)”的成对使用表示它们之间的内容为注释部分。l双斜杠注释“/”:表示所在行的该符号之后的内容为注释。2023年12月12日星期二DELPHI程序设计基础教程2.1.3 注释t例2-2:编写一个小程序。依次输入a,b,c三个数,然后分行输出三个数,按回车键退出。2023年12月12日星期二DELPHI程序设计基础教程2.1.4 常量和变量 常量和变量是学习各种编程语言进行程序设计的基础概念,它们都是存储数据的载体,它们在同一时刻只存储一个数据。常量和变量代表了在程序运行过程中两种不同状态的量。常量的值是指在程序运行过程中始终不变;与之相反,变量的
8、值则是程序运行过程中可以改变。2023年12月12日星期二DELPHI程序设计基础教程2.1.4 常量和变量t常量 在Object Pascal中用Const关键字来声明变量,可以同时声明一个或几个常量,每定义一个常量应以分号结束。说明常量时,不需要指定其数据类型,只需给出具体的值。因为编译器能根据常量的值自动判断常量的类型并分配内存,对于整型常量,编译器在运行时跟踪它的值,并不对它分配内存。如:Const a=10,编译器能自动判断a是整型,Const Pi=3.14判断Pi是实型,等等。t常量赋值的格式如下:Const Const 常量名常量名=表达式;表达式;2023年12月12日星期二
9、DELPHI程序设计基础教程2.1.4 常量和变量t变量lObject Pascal中用Var关键字来声明变量,在声明变量时需要声明变量的类型。l变量分为全局变量和局部变量。全局变量一旦声明,会在整个程序中起作用。而局部变量则是在某一个过程或函数中起作用,退出该过程或函数则该变量自动从内存中被释放。l变量是程序代码中代表一个内存地址的标识符,而此地址中的内容在程序代码执行时可以被改变。在使用变量前必须对它进行说明,即对它进行命名,并说明它的类型。系统根据变量的数据类型为每一个变量分配一定的内存空间。用户可以通过变量名对内存单元进行读或写。t变量赋值的格式如下:var 变量名列表:类型名;202
10、3年12月12日星期二DELPHI程序设计基础教程2.1.4 常量和变量t例2-3:计算路程 有一辆汽车每小时可以行驶x公里,欲计算y小时能行驶多少公里(假设x和y均为整数)。l解决这个问题需要使用公式:路程=速度时间。l要编写解决这个问题的程序,需要使用3个变量:v、t和s。变量v用于存放速度的值,变量t用于存放时间的值,变量s用于存放路程的值。2023年12月12日星期二DELPHI程序设计基础教程2.2 基本数据类型t2.2.1 简单数据类型t2.2.2 字符串类型t2.2.3 可变类型t2.2.4 类型转换 2023年12月12日星期二DELPHI程序设计基础教程2.2 基本数据类型t
11、在Object Pascal语言中,每个数据都有一个确定的类型,某种数据类型定义了该类型数据的存储方式和允许的一组运算,存储方式的定义相应地便确定了该类型数据的取值范围。tObject Pascal是一种强类型语言,其变量在使用之前都要声明其数据类型。变量的数据类型决定了它能够存储数据的形式、数据的范围以及它能够进行的运算。在声明变量时,常量值本身就代表其类型,同时也决定了它所能参与的运算。2023年12月12日星期二DELPHI程序设计基础教程2.2.1 简单数据类型简单数据类型包括整型、实型、布尔型和字符型等。t整型l一个整型数据用来存放整数。Object Pascal支持7种预定义整型,
12、每一种类型规定了相应的整数取值范围以及所占用的内存字节数。l整型类型是由正号或负号、数字组成的数据,数据中不包含小数。一般整型类型是最常用的类型,它们可以充分利用CPU和操作系统的特性,所以在程序中应尽可能使用这种整数类型。t实型l一个实型数据用类存放实数,是实数的子集,它是带有小数部分的数值。Object Pascal支持六种预定义实型,每一种类型规定了相应的实数取值范围、所占用的内存字节数以及它们所能达到的精度见教材表2-2所示。2023年12月12日星期二DELPHI程序设计基础教程2.2.1 简单数据类型t布尔型l一个布尔型数据用来存放逻辑值(布尔值)。Object Pascal支持四
13、种预定义布尔型,每一个类型规定了所占用的内存字节数。布尔型的值只有两个:False(序号是0)和True(序号是1),分别表示逻辑假和逻辑真。并且 TrueA/结果为True,a的ASCII值为97,/A的ASCII值为65l15A/结果为False2023年12月12日星期二DELPHI程序设计基础教程2.3.3 关系运算符t例2-8:在Delphi 集成开发环境中,创建一个控制台程序的工程,并在代码编辑窗口中打开Project8.dpr文件,在该文件中输入如下代码:program Project8;$APPTYPE CONSOLEvar x,y:Integer;Bo:Boolean;beg
14、in x:=10;/给x赋值10 y:=20;/给y赋值20 Bo:=not(xy);writeln(Bo);readlnend.运行后,布尔型变量“Bo”的值为什么?2023年12月12日星期二DELPHI程序设计基础教程2.3.4 逻辑运算符tPascal语言用and和or作为逻辑与和逻辑或运算符,Pascal的逻辑非的运算符是not,它是用来对一个布尔表达式取反。逻辑运算符对逻辑类型的操作数进行运算,数据结果也为逻辑类型,如教材表2-7所示。lnot(逻辑非):将逻辑结果取反,即原先为True的变成False,原选为False的变成True。land(逻辑与):有且仅有两个操作数为真,结
15、果才为真;否则为假。相当于汉语中“并且”的意思,只有当两个条件同时满足时,结果才为True。lor(逻辑或):仅当一个操作数为真时,值就为真,否则为假。lxor(逻辑异或):当两个操作数不同时,即一个为True,另一个为False时结果为真,同时为True或同时为False时为假。2023年12月12日星期二DELPHI程序设计基础教程2.3.5 集合运算符t集合运算符只要对两个集合进行操作,判断两个集合之间的关系,如教材表2-9所示。t例如,有以下说明和集合的运算:type Numbers=1100;Numset=set of Numbers;var set1,set2,set3,set4,
16、set5:Numset;begin set1:=1,3,5,7;set2:=2,4,5,8;set4:=1,3;set5:=2,5;set3:=set1+set2;end;试算出set3的值。2023年12月12日星期二DELPHI程序设计基础教程2.3.6 位运算符t位运算符能操作一个变量的各二进制位。最常用的按位运算符能把一个数左移或右移,或对两个数按位执行与、取反、或和异或等运算。位运算符对整型的数据进行按位操作,所得结果也为整型数据,如教材表2-10所示。2023年12月12日星期二DELPHI程序设计基础教程2.3.7 其他运算符t字符串连接运算符+(或&)可以作为字符串运算符,其作
17、用是将2个字符串联接在一起。当2个字符串都是短字符串时,进行连接,若结果字符串长度超过255个字符,则只有前255个字符有效。t指针运算符,如+,-,=和等,见教材表2-12所示。2023年12月12日星期二DELPHI程序设计基础教程2.3.8 运算符的优先级t在各类表达式的运算当中,由于进行不同的运算,各个运算符的运算等级也不一样,运算符优先级的顺序。如教材表2-13列出了Object Pascal各运算符的优先级。t表达式在求值时,遵循以下原则:l两个操作符之间的操作数总是先参加高优先级的运算。l在优先级相等的情况下,操作数按从左到右的顺序参加运算。l在有括号(只能是圆括号)参与运算符的
18、表达式,先计算括号内的表达式值,有多对括号时,括号由内到外依次运算。2023年12月12日星期二DELPHI程序设计基础教程本章小结t在这一章中主要要求学生了解的要点有Object Pascal源程序结构、Object Pascal的基本字符、常量与变量的定义与使用、数据类型的概念与使用。重点是Object Pascal的基本语法知识。难点是基本数据类型的使用。t为了做好程序设计,必须首先分析所给问题,明确要求。标识输入量与输出量,确定它们的数据类型。然后再确定从所给输入到输出需执行的步骤,即进行算法设计。在编写程序时应正确使用Object Pascal语句,并注意标点符号的正确使用,不要漏写或写错。在程序中最好每行包含一个语句,并注意把各个语句按层次对齐,在必要的地方添加注释,便于提高程序的可读性。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。