《简单数据类型与字符串、时间类型.ppt》由会员分享,可在线阅读,更多相关《简单数据类型与字符串、时间类型.ppt(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.5 简单数据类型一、整数类型一、整数类型1.用用integer标明整数类型(有符号数),取值范围标明整数类型(有符号数),取值范围-maxint-1nmaxint,不同字长的计算机其不同字长的计算机其maxint值也不同,值也不同,TURBO PASCAL中整数取值范围为:中整数取值范围为:-3276832767。另外还有另外还有4种有符号数的类型标识符:种有符号数的类型标识符:shortint(8位)、位)、smallint(16)、)、longint(32位位)、int64(64位位);4种无符号整数类型标识符:种无符号整数类型标识符:cardinal(32位)、位)、byte(8位位
2、)、word(16位位)、longword(32位位)2.两个整数允许使用运算符有:两个整数允许使用运算符有:算术运算符:算术运算符:、*、div(整除)、(整除)、mod(求余)(求余)关系运算符:关系运算符:、,、,关系运算的关系运算的结果只有两种情况:结果只有两种情况:成立或不成立,用两个特殊常量真成立或不成立,用两个特殊常量真(true)或假()或假(false)表示。表示。rrue和和false是布尔类型的值是布尔类型的值。3.标准函数标准函数 自变量是整型量的标准函数有:自变量是整型量的标准函数有:顺序函数、算术顺序函数、算术函数和转换函数。函数和转换函数。标准函数标准函数是是PA
3、SCAL语言预先定义的,它能够完成语言预先定义的,它能够完成特定功能的子程序。每个标准函数都用一个标识特定功能的子程序。每个标准函数都用一个标识符来标识,在程序中直接调用。符来标识,在程序中直接调用。顺序函数顺序函数:前趋:前趋(pred(x)、后继、后继(succ()x)、绝对、绝对值值(abs(x)、平方、平方(sqr(x),其结果为整型。其结果为整型。奇函数奇函数(odd(x)结果为布尔型结果为布尔型;字符函数字符函数(chr(X),结果是字符例,结果是字符例chr(66)=B 例如:例如:VAR I,K,N:INTEGER;二、实数类型1.1.用用realreal标明实数类型,实型数据
4、可以是正实数、负实数和零实标明实数类型,实型数据可以是正实数、负实数和零实数,一般用小数和指数(科学表示法)表示。例数,一般用小数和指数(科学表示法)表示。例12.812.8,3.5E+33.5E+3其他类型标识符:其他类型标识符:double(8),single(4),real48double(8),single(4),real48等共等共7 7种。种。2.2.实型数可使用的运算符有:实型数可使用的运算符有:算术运算符和关系运算符。算术运算符和关系运算符。、*、;、;、3.3.以自变量为实型的标准函数以自变量为实型的标准函数 算术函数:绝对值、平方、正弦算术函数:绝对值、平方、正弦sin(x
5、)sin(x)、余弦、余弦cos(x)cos(x)、指数、指数exp(X)exp(X)、对数、对数LNLN(X X):函数值为):函数值为X X的自然对数、平方根的自然对数、平方根sqrt(x)sqrt(x)、反正切、反正切arctan(x)arctan(x)、int(x)int(x)。转换函数:截尾转换函数:截尾trunc(x):trunc(x):舍去实数舍去实数X X的小数部分;的小数部分;舍入舍入round(x)round(x):对实数:对实数X X作四舍五入运算。结果为作四舍五入运算。结果为整型。整型。例如:例如:VAR X1,X2:REAL;A,B:doubleVAR X1,X2:R
6、EAL;A,B:double;三、字符类型三、字符类型1.用标准标识符用标准标识符char表明字符类型。字符类型可以是字母、符表明字符类型。字符类型可以是字母、符号、数字(号、数字(09)等)等ASCII所有字符。所有字符。在程序中,用单引号括起来的字符,表示字符类型数据。例在程序中,用单引号括起来的字符,表示字符类型数据。例c,3。字符类型标识符字符类型标识符:ansichar(8位位):根据扩展的:根据扩展的ANSI字符表排列;字符表排列;widechar(16位位):根据:根据unicode码排列(相当与码排列(相当与char)。2.字符类型数据可以进行的操作:字符类型数据可以进行的操作
7、:可以使用可以使用6个关系运算符个关系运算符进行运算,结果为布尔型。进行运算,结果为布尔型。3.自变量是字符型的标准函数有:自变量是字符型的标准函数有:succ(x);pred(x);序数函数;序数函数ord(x):给出给出X在在ASCII字符集中的序字符集中的序号,结果为整型;号,结果为整型;chr(x:byte):chr,返回返回ASCII中所代表的字符中所代表的字符等同于等同于#数字;数字;upcase(ch:char):将小写字母转换为大写。将小写字母转换为大写。例如:例如:var ch1,ch2:char;四、布尔类型四、布尔类型1.用标准表示符用标准表示符boolean表明布尔类型
8、。此类型数据的值只有两表明布尔类型。此类型数据的值只有两个:逻辑真个:逻辑真(true)和逻辑假和逻辑假(false)。布尔类型是顺序类型,布尔类型是顺序类型,规定规定falsetrue,false的序号是,的序号是,true是是。.布尔类型的数据可以进行的操作有:布尔类型的数据可以进行的操作有:允许两个布尔类型的数据使用逻辑运算符允许两个布尔类型的数据使用逻辑运算符:not逻辑非、逻辑非、and逻辑与、逻辑与、or逻辑或。逻辑运算符运算对象、结果都逻辑或。逻辑运算符运算对象、结果都是布尔型。是布尔型。布尔型数据可以使用个关系运算符进行运算,结果仍是布尔型数据可以使用个关系运算符进行运算,结果
9、仍是布尔型值。布尔型值。3.对布尔型值,可以使用顺序标准函数,其中为布尔型数值:对布尔型值,可以使用顺序标准函数,其中为布尔型数值:ord(B),pred(B),succ(B)除了上面个标准函数外,还有个标准函数值是布尔型:除了上面个标准函数外,还有个标准函数值是布尔型:eof(f)和和eoln(f)。其中。其中f是文件变量,若输入文件是标准文件是文件变量,若输入文件是标准文件input,可写成可写成eof或或eoln.这两个函数这两个函数的值在开始读文件时为的值在开始读文件时为false。当读到一个结束符时(回车符。当读到一个结束符时(回车符chr(13),eoln为为true.当读到文件结
10、束符时(当读到文件结束符时(chr(26)或或ctrl-z)时时eof为为true。例如:例如:var L1,L2:Boolean;五、子域类型的定义和运算规则五、子域类型的定义和运算规则1.子域类型的定义子域类型的定义 定义一个类型是任何其他已经定义的顺序类型的子域,这种类型称为子定义一个类型是任何其他已经定义的顺序类型的子域,这种类型称为子域类型。其一般形式为:域类型。其一般形式为:=.;其中,常量其中,常量1是子域类型的下界,常量是子域类型的下界,常量2是上界。常量是上界。常量1和常量和常量2必须属于同必须属于同一顺序类型,并且下界不能大于上界。子域类型也是顺序类型。一顺序类型,并且下界
11、不能大于上界。子域类型也是顺序类型。例如:例如:type age=10.25;word1=a.z;word2=A.Z;var studentage:age;ch1,ch2:word1;ch3:word2;也可将类型定义和变量说明合并为:也可将类型定义和变量说明合并为:var studentage:10.25;ch1,ch2:a.z;ch3:A.Z;2.子域类型的运算 对于子域类型的宿主类型的任何运算,同样也适用于其子域类型。只是子域类型的数据取值范围受到约束,它只包括上、下界自身在内的一段数据范围。六、枚举类型1.枚举类型是由一组有序的标识符组成的,它列出了所有这种类型可以包括的值。类型声明如
12、下:type 类型名称类型名称=(标识符(标识符1,标识符,标识符2.););此类型变量声明为:var 变量名变量名1,变量,变量2.:类型名称:类型名称;例:type orentation=(north,south,east,west);var pos1:orentation;2.注意:枚举的元素只能是标识符,同一枚举元素不能同时出现在多个枚举中。枚举类型可以将类型声明和变量声明合二为一,例:var days:(Sunday,Monday,wednsday,Thursday,Friday,Saturday,Saturday);1.8时间日期类型1.在Delphi中,还有一类比较特殊的类型时间
13、日期类型,标识符为TDatetime。此外Delphi中还有两种相似的类型:Tdate和TTime。日期时间类型实际上并不是一种独立的,只是浮点类型的一种映射而已。它的定义为:TDatetime=type double;它利用浮点类型,在变量里存储年、月、日小时和分、秒,甚至毫秒。整数部分存储年月日,小数部分存储小时、分秒等。时间日期型变量的说明为:VAR d1,d2:Tdatetime;2.与Tdatetime相关的主要函数有:*NOW():取当前日期和时间;*DATE():取当前日期*TIME():取当前时间;*DATETOSTR():将Tdatetime类型的日期部分转换为字符串*STR
14、TODATE():将含有日期信息的字符串转换为Tdatetime类型,若格式有错,将产生异常。*datetimetostr():将Tdatetime类型转换为字符串类型。*datetimetostring():过程,使用默认格式,将日期与时间复制到某字符串。调用格式:datetimetostring(s,2000-01-01,t1);*decodedate:从一个日期值中分离出年、月、日,并以引用的方式传递给变量。调用:decodedate(t1,y,m,n);y、m、d为word类型(基本整型的16位无符号数)。*encodedate:将年、月、日组合为Tdatetime值。1.9字符串类型
15、(string)object pascal的字符串类型分为短字符串和长字符串两种。两种。短字符串:长度不超过255个字符的字符序列(默认)。声明方式为:var str1:shortstring;str2:string10;表示字符串的最大长度是10,超过部分被截掉。短字符串中的每一个字符可单独访问,str12。str10为字符串的实际长度。长字符串:长度几乎无限制,理论上可达到2GB,声明为:var str3:ansistring;常用函数:length()注意:字符串必须用单引号括起来,qwee,如果字符串中包含单引号,要用两个单引号表示如:im a teacher。一般使用:var s:string;运算符:+连接符2.常用字符串函数(1)pos(子串,母串):integer:返回子串在母串中的起始位置。值为0时母串不包含子串。(2)copy(母串,位置,返回长度):string:返回原串中的一部分子串,位置指子串在母串中的起始位置。一般情况下于pos搭配使用。(3)trim(字符串):string:清楚字符串左边、右边的空格。类似函数有trimleft,trimright函数。3.字符串转换函数 strtoint()inttostr():整型数据转换为字符串类型。floattostr():实型转换为字符串类型。strtofloat()。
限制150内