object_pascal语言基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值型数据
例: 00000000 01010110 → (86)10 and 00000101 00010100 → (1300)10 00000000 00010100 → (20)10 ⑤左、右移位运算符:Shl、Shr Shl运算符的运算格式为A Shl n,表示将整型数A的各位向 左移n位,高位溢出,低位补0。 Shr运算符的运算格式为A Shr n,表示将整型数A的各位向 右移n位,低位溢出,高位补0。 如:00000000 01010110左移2位后,为00000001 01011000, 即:表达式86 Shl 2的值为344。
学习Object Pascal的一个通用例程
program Project1; {$APPTYPE CONSOLE} uses sysutils; var s:string; begin Writeln('请输入一行文字:'); Readln(s); Writeln('你输入的是:', s); Writeln('按下回车键<Enter>退出。'); Readln; end.
类型 名称 说明
整型 实型
字符型 字符串型 布尔型
Integer Real
Character String Boolean
标准数据类型 标准数据类型
标准数据类型 标准数据类型 标准数据类型
数据类型
高级数据类型是特殊的数据结构,在使用 之前必须由用户自己定义。
类型 枚举型 子界型 集合类型 数组类型 记录类型 文件类型 名称 Enumerated Subrange Set Array Record File 说明 高级数据类型 高级数据类型 高级数据类型 高级数据类型 高级数据类型 高级数据类型
此外,math单元中还有很多数学函数,只需在uses单元 调用即可。
字符数据
字符数据分为字符型和字符串型。 字符型:存储单个字符的数据类型。
类型 名称 字节数 1 2 取值范围
Ansi字符型
宽字符型 字符型
AnHale Waihona Puke BaiduiChar
WideChar Char
扩展ANSI字符集
UniCode字符集 扩展ANSI字符集
数值型数据
⑤取高、低字节函数Hi(x)和Lo(x),分别返回整型数x的高字 节和低字节,结果是Byte类型。 例:Hi($1234)的值为$12,Lo($1234)的值为$34。 ⑥交换函数Swap(x),将整型数x的高字节和低字节进行交换, 交换后的两个字节重新组成一个整数作为函数返回值。 例:Swap($1234)的值为$3412。
5 C C h h i i n n a a null
数值型数据
标准函数 ①正弦函数Sin(x):函数值为x的正弦,其中x的单位为弧度。 ②余弦函数Cos(x):函数值为x的余弦,其中x的单位为弧度。 ③反正切函数Arctan(x):函数值为x的反正切,函数值的单位 为弧度。 ④指数函数Exp(x):函数值为指数ex。 ⑤对数函数In(x):函数值为x的自然对数。 pascal中没有幂函数,但可以利用上两个函数得到求幂ab的 表达式为exp(b*ln(a)) ⑥舍入函数Round(x):对实数x的小数作四舍五入,结果为整 数。例如:Round(5.6)的值为6,Round(-7.6) 的值为-8。
整型
序数型
Integer
Cardinal
4
4
-2147483648~2147483647
0~4294967295
前7种为基本型,与CPU和操作系统无关,提供兼容性; 后2种为一般型,与CPU和操作系统有关,尽量使用。
数值型数据
整型的运算: ①算术运算符:+、-、*、/(浮点除)、div(整数除,取 商)、mod(整数除,取余) ②关系运算符:=、<>、>=、>、<=、< 关系运算的结果是布尔型,即取True或False值。 例如:5=5的值为True;5<>5的值为False。 ③正负号运算符:+、与加、减运算不同,此为单目运算。如-a,求运算元的负值。 ④整型数的逻辑运算符:not、and、or、xor 整数转换为二进制数后逐位进行逻辑运算。其中not是单目 运算符。
字符数据
字符串可用数组方式访问,如:abc是字符串变量,i是整型 表达式,则abc[i]表示该字符串的第i个字符。 若在定义String型变量时指定其长度(0~255),此时 String型被视为ShortString型。ShortString型不以Null (空字符#0)作为字符串的结束标志,而将长度保存在字符 串数组的下标为0的存储单元中。 在不指定串的最大长度的情况下,String被视为 AnsiString型,此时字符串以Null为串的结束标志。 例:字符串存储结构 A:String[5]=‘china’; B:String=‘china’;
数值型数据
实型:存储实数数据的类型。
类型 名称 字节数 4 取值范围 ±1.5×10-39~3.4×1038 单精度实型 Single
扩展型
Extended 10
8 8 Currency Real 8
±3.6×10-4951~1.1×104932
±5.0×10-324~1.7×10308 -922337203685477.5808~ 922337203685477.5807 ±5.0×10-324~1.7×10308
类类型
类引用类型 接口类型 指针类型 过程类型 可变类型
Class
Class Reference Interface Pointer Procedural Variant
高级数据类型
高级数据类型 高级数据类型 高级数据类型 高级数据类型 高级数据类型
数据类型
整 型 、 字符 型 、 布 尔 型 、 枚举 型 和 子 界型5种被称为顺序 类 型 , 其取 值 是 一 个 有 序 的集 合 , 每 一 个 可 能的 取 值 与 某一整数相对应。
双精度实型 Double 货币型 实型
前4种为基本型 Real为一般实型
数值型数据
实型的运算 ①算术运算符:+、-、*、/ 在使用这几个运算符时,只要有一个运算对象是实型, 则运算结果也是实型。 ②关系运算符:=、<>、>=、>、<=、< 均适用于实型,也可以一个实型,另一个整型,结果仍 是布尔类型。 对于数值相近的实型数据进行‚>‖与‚<‖运算时应谨慎,因 为实型类型的表示是近似值,相近实数的存储表示可能是一 样的。可采用差的绝对值与一任意小的数比较。 例:X=Y运算应当写成Abs(X-Y)<1e-6;而X<>Y运算应写成 Abs(X-Y)>1e-6。
数值型数据
整型:是用于存储整数数据的类型,包括9种形式:
类型 名称 字节数 取值范围
短整型 小整型 长整型 64位整型 字节型 字型 长字型
Shortint Smallint Longint Int64 Byte Word Longword
1 2 4 8 1 2 4
-128~127 -32768~32767 -2147483648~2147483647 -263~263 0~255 0~65535 0~4294967295
数值型数据
标准函数和标准过程 ①绝对值函数Abs(x),函数值为|x|。 例:Abs(-100)的值为100,Abs(99)的值为99。 ②平方函数Sqr(x),函数值为x2。 例:Sqr(-4)的值为16,Sqr(3)的值为9。 ③奇函数Odd(x),函数的结果为布尔型。当x为奇数时,函数 值为True;当x为偶数时,函数值为False。 例:Odd(3)的值为True,Odd(4)的值为False。 ④平方根函数Sqrt(x),函数返回x的平方根。 例:Sqrt(2)的值为1.414。
ASCII
字符数据
字符数据
字符串型:存储字符串数据的类型。
类型 短字符串型 长字符串型 宽字符串型 名称 ShortString AnsiString WideString 最大长度 255个字符 231个字符 230个字符 231个字符 所需内存空间 2~256B 4~2GB 4~2GB
数值型数据
⑦取整函数Trunc(x):截去实数x的小数部分,返回整数。 例如:Trunc(-9.9)的值为-9,Trunc(7.8) 的值为7。 ⑧取整函数Int(x):截去实数x的小数部分,返回整数。 INT的函数返回值是实型,TRUNC的函数返回值是整型。 ⑨取小数函数Frac(x):返回实数x的小数部分,结果为实型。 ⑩随机函数Random(x):返回一个[0,x)之间的随机整数, 如果没有x,则返回一个[0,1)之间的随机实数。 若每次要得到不同的随机值,则需在使用函数之前,调用 randomize过程。
字符串型
String
4~2GB
String是一般类型,与ansistring类型等价,很多属 性都使用了此类型。各字符串类型可以混合在赋值和表 达式中,编译器将自动执行转换。在默认的{$H+}状态, 编译器将String解释为AnsiString,用{$H-}编译指令可 以指示编译器将String解释为ShortString。
特殊符号
下面的单个字符可作为特殊符号: # $ & ' ( ) * + , ? . / : > @ [ ] ^ { } 有些组合字符对也作为单个的特殊符号: (* *) (. .) .. // := <= >= <>
;
<
=
保留字和指令字
保留字 又称为关键字,它在Delphi语言中有着特殊含义。在 实际编程中不应该把任何保留字用作标识符,具体见P22 表2-1。 指令字 为编译提供指示意义。各指令字有它专门的用途。如 下面代码: var I: Integer; J: Integer absolute I; 在Delphi的代码编辑器中,保留字和指令字皆以深蓝色 黑体显示,定义标识符时不要与之一样。
1(2)
前2种为基本类型,后1种为一般类型
字符数据
运算符 Object Pascal语言允许用=、<>、>、>=、<、<=六个关 系运算符对字符型数据进行运算操作。 讨论大小的依据是字符ASCii码的大小。因此,所有的 字符都可以进行比较(即关系运算)。 例:'A'<'B' 码 'b'<'a' 表 '1'<'2' 标准函数 ①Chr(x),函数返回ASCII码值为x的字符。 例:Chr(65)的值为‘A‘。 ②Ord(x):x为字符型,返回x所对应的ASCII码值。
标识符和保留字
标识符 常量、变量、数据类型、过程、函数、单元及程序等的 名称用字,通常由一个或多个ASCII码字符序列组成。 定义标识的规则如下: (1)标识符由字母、数字或下划线组成; (2)标识符的第一个字符必须是字母或下划线; (3)标识符的长度不应超过255个字符; (4)不能将关键字(保留字)用作标识符; (5)标识符不区分大、小写(但Kylix中区分)。 一般自定义标识符多由有意义的英文单词或其简写组成。虽 然不区分大小写,但书写事尽量不用大小写混用。 例:x、x1、ma x、a15、Button_OK、5x、α、x-y、ax10.5
第二章 Object Pascal 语言基础
本章知识点
标识符与保留字 数据类型
常量与变量
运算符和表达式 常用内部函数 程序语句 掌握Object Pascal语言标示符的命名规则; 掌握Object Pascal语言标准数据类型及使用方法; 掌握Object Pascal语言常量、变量的定义和使用规则; 掌握Object Pascal语言常用的运算符和表达式的使用方法; 掌握Object Pascal语句的作用及使用方法; 掌握Object Pascal语言中常用的函数。
数据类型
对象以属性的不同而区分,属性又以属性值(数据)进 行描述,因此,不同的属性就决定数据分不同的类型。 数据类型不仅确定了该类数据的表示形式和取值范围, 也确定了数据所能够参加的各种运算。 数据类型整体上分为:标准数据类型和高级数据类型。 标准数据类型属于Object Pascal内部约定的数据类型, 无需定义就可以直接使用。