数据类型与运算.ppt
《数据类型与运算.ppt》由会员分享,可在线阅读,更多相关《数据类型与运算.ppt(121页珍藏版)》请在三一办公上搜索。
1、第 2 章数据类型与运算,2.1 数据类型2.2 数据存储2.3 运算符及表达式2.4 函 数2.5 命 令,2.1数据类型,数据是反映现实世界中客观事物属性的记录,它包括两个方面:数据内容与数据形式。数据内容就是数据的值,数据形式就是数据的存储形式和操作使用方式,也称为数据类型。,1字符型数据字符型数据(Character)是指用各种文字字符表示的数据,包括26个英文大小写字母、10个阿拉伯数字、各种汉字、专用符号和空格等,最大长度可达254个字符。2数值型数据数值型数据(Numeric)是指可以进行算术运算的数据,包含09的阿拉伯数字、小数点与正负号,最大长度为20位。,3整型数据整型数据
2、(Integer)是不包含小数点部分的数值型数据,以二进制形式存储,占用4个字节,数值范围为-2 147 483 647+2 147 483 646。该数据类型以字符I为标识。4浮点型数据浮点型数据(Float)是数值型数据的一种,与数值型数据完全等价,但在存储形式上采用取浮点格式。,5双精度型数据双精度型数据(Double)是比浮点型数据具有更高精度的数值型数据,占用8个字节的存储空间,数值范围为4.940 656 458 412 47E-3241.797 693 486 232E308。该数据类型以字符B为标识。6货币型数据货币型数据(Currency)是表示货币量的数据,VFP中用数值型
3、数据表示货币,占用8个字节,取值范围为-922 337 203 685 477.580 8922 337 203 685 477.580 7,小数位超过4位则四舍五入。该数据类型以字符Y为标识。,7逻辑型数据逻辑型数据(Logic)是用来进行各种逻辑判断的数据,只有两个值,即真(.T.)和假(.F.),长度固定为1位,占用1个字节。该数据类型较常用,以字符L为标识。8日期型数据日期型数据(Date)是用来专门表示日期的数据。一个日期型数据的字符存储格式为“YYYYMMDD”,其中YYYY表示年份,占用4个字节,MM表示月份,占用2个字节,DD表示日子,占用2个字节,共占用8个字节。该数据类型较
4、常用,以字符D为标识。,9日期时间型数据日期时间型数据(Date Time)是描述日期和时间的数据。其字符存储格式为“YYYYMMDDHHMMSS”,其中YYYY表示日期中的年份,前两个MM代表月份,DD代表日子,HH表示小时,后两个MM代表分钟,SS代表秒。日期时间型数据保存在两个4字节的整数中。前4个字节保存日期,后4个字节保存时间。日期时间型数据的日期部分也具有多种显示格式,并可以通过SET DATE,SET CENTURY 等命令进行设置;时间部分的显示格式可以通过SET HOURS和SET SECONDS命令进行设置。该数据类型以字符T为标识。,10备注型数据备注型数据(Memo)用
5、于存放数据较长的字符型数据类型,固定占用4个字节的内存空间,这4个字节的内存空间用来存放VFP的内部指针,指示实际数据存放的位置,实际的数据存放在与数据表文件同名的.fpt文件中,并且其存放的内容只受磁盘空间的限制。,11通用型数据通用型数据(General)用于存储OLE(Object Linking and Embedding)对象,只能用于数据表中字段的定义。该字段包含了OLE对象的引用,而OLE对象的具体内容可以是电子表格、文档、图片和音频等。通用型数据长度固定为4位,实际数据长度仅受磁盘空间的限制。该数据类型以字符G为标识。,12字符型数据(二进制)字符型数据用于存储任意不经过代码页
6、修改而维护的字符型数据,只能用在数据表中的字段。13备注型数据(二进制)备注型数据用于存储任意不经过代码页修改而维护的备注型数据,只能用在数据表中的字段。较常用的数据类型有字符型、数值型、逻辑型、日期型和备注型5种。,2.2数据存储,在VFP系统中,数据可用常量、变量和数组等表示,也可以用字段、记录和对象表示。因此,常把这些存储数据的常量、变量、数据、字段、记录和对象等称为数据存储容器。用户正是利用不同的数据存储容器,在VFP系统中表示、存储、操作和处理各种类型的数据,实现数据的处理。,常量常量就是指固定不变的数据,即在整个程序运行过程中其值保持不变。注意:VFP支持6种类型的常量,即字符型、
7、数值型、浮点型、逻辑型、日期型和日期时间型。,1字符型常量字符型常量是用定界符括起来的字符串。2数值型常量数值型常量是数学中的十进制整数或小数。3浮点型常量浮点型常量是数值型常量的浮点格式。4日期型常量日期型常量用来表示一个确切的日期,用大括号作为定界符,默认格式为MM/DD/YY。,5逻辑型常量逻辑型常量只有两个逻辑值:真和假,用圆点定界符括起的大写或小写的T、Y或F、N表示。6日期时间型常量日期时间型常量是按月、日、年和时间排列的年代日期数据,其规定格式为MM/DD/YY HH:MM:SS。,变量变量就是在整个程序运行过程中其值可以改变的数据,包括字段变量和内存变量两种。内存变量又包括一般
8、内存变量、系统内存变量和数组变量。1字段变量字段变量隶属于数据表文件,每个数据表中都包含若干个字段变量。,2内存变量内存变量是独立于数据表文件而存在于内存中的变量,是一种临时的工作单元,需要时可以临时定义,不需要时可以随时释放,它常被用来存储所需要的常量、中间结果或最终结果。,(1)建立内存变量内存变量的建立有多种方式,这里只介绍最简单的一种。格式:STORE TO 或 功能:在定义内存变量的同时确定内存变量的值和类型。例2-1在VFP 的命令窗口中定义变量。B=6&定义变量B并赋值,类型为:N型 STORE B+3 TO C&定义变量C并赋值,类型为:N型 STORE 中国TO A,B,C*
9、同时定义A,B,C 三个变量,其值均相同,类型为:C型,(2)显示或打印全部内存变量格式:LIST/DISPLAY MEMORY LIKE TO PRINTER|TO FILE NOCONSOLE功能:显示或打印一个或多个内存变量的当前内容,或者将这些内容送到一个扩展名为.TXT的文件中。,例2-2定义内存变量A的值为“中国”,A1的值为5,并在屏幕上显示。A=中国“&定义变量A并赋值,类型为:C型 A1=5&定义变量A1并赋值,类型为:N型 LIST MEMORY LIKE A*&连续显示以A开头的所有内存变量结果显示:APubC“中国”A1PubN5(5.00000000),(3)建立内存
10、变量文件内存变量被定义后,通常只存放在内存中,当退出VFP或关机后,内存变量就被清除。如果以后还需要使用所定义的内存变量,可以将其保存在内存变量文件中,需要时从磁盘将其调出即可。命令格式:SAVE TO|TO MEMO ALL LIKE|ALL EXCEPT 功能:将指定的内存变量存入内存变量文件或者备注型字段中。,例2-3在VFP的命令窗口中,执行如下命令:SAVE TO AA SAVE TO MM AL LILE X*SAVE TO BB ALL EXCEPT?Y上例中的第1条命令是把所有已定义的内存变量存入AA.MEM文件中;第2条命令是把所有以X开头的内存变量存入MM.MEM文件中;第
11、3条命令是在已定义的内存变量中,将只有两个字符并且第2个字符为Y的内存变量排除,其他所有的内存变量均存入BB.MEM文件中。,例2-4在VFP的命令窗口中,执行如下命令:RESTORE FROM MM RESTORE FROM BB ADDITIVE第1条命令将MM.MEM文件调入内存,并清除内存中原有的内存变量;第2条命令将BB.MEM文件调入内存,但不清除原有的内存变量。,(4)释放内存变量释放内存变量就是将内存中的内存变量删除,释放出所占用的内存空间。格式:RELEASE 或 RELEASE ALL LIKE/EXCEPT 功能:释放指定的内存变量,但不清除系统内存变量。,例2-5在VF
12、P的命令窗口中,执行如下命令:RELEASE ALL&释放所有已定义的内存变量 RELEASE X,Y,Z&释放已定义的内存变量X,Y,Z RELEASE ALL LIKE A*&释放所有第1个字母是A的内存变量此外,CLEAR MEMORY命令也能够清除所有已定义的内存变量,CLEAR ALL命令在关闭所有文件的同时也将清除所有的内存变量。,3系统内存变量系统内存变量是VFP系统已经定义好的一些变量,通常以下划线“_”开头。因此,在定义内存变量时,其名称最好不要以下划线开头,以免与系统变量重名。,数组数组是一组变量的集合,这些变量的数据类型可以不同,每个数组元素都可以通过一个数值下标被引用,
13、相当于一个内存变量。数组元素的数据类型是通过所赋值的数据类型来确定的。在VFP中,只有一维数组和二维数组。一维数组中的各个元素是按线性排列的;二维数组则类似于一个数据表,第一维是行,第二维是列。,1数组的定义数组的定义可以通过DECLARE和DIMENSION命令来实现。格式:DIMENSION|DECLARE(,),(,)功能:定义一个或若干个一维或二维数组,各数组名之间用逗号分隔。,例2-6在VFP的命令窗口中定义数组。DIMENSION AB(3),C2,3在上例中,定义了一个一维数组AB,并且有3个元素,分别是:AB(1)、AB(2)、AB(3)。数组C为二维数组,有6个元素,分别是:
14、C(1,1)、C(1,2)、C(1,3)、C(2,1)、C(2,2)和C(2,3)。,2数组的赋值数组元素的赋值与普通内存变量一样,可以通过STORE命令或“=”来实现。例2-7给二维数组X和一维数组Y进行赋值。DIMENSION X(3,4),Y(3)STORE 5 TO X Y(1)=325 Y(2)=ABC Y(3)=.T.,3数组的重定义数组在定义好之后,还可以通过DECLARE 或 DIMENSION命令对数组的尺寸和维数进行改变,即可以将一维数组变为二维数组或将二维数组变为一维数组,而且还能改变数组元素的个数,同时将原数组的数据自动复制到重定义的同名数组(简称为新数组)中。新旧数组
15、之间数据的复制原则是:不管原数组和新数组是几维的,都将它们看作是一维数组,从序号1开始顺序地复制到新数组对应的数组元素中去。若新数组的元素个数多于原数组的元素个数,则新增加的数组元素取值为.F.。反之,若新数组的元素个数少于原数组的元素个数,则只取元素组中的前若干个值。,数组下标的排列规则是:数组从下标1开始排列,二维数组的元素排列是先按行排列再按列排列。若已定义了数组A(6)与数组B(2,3),它们的下标排列如下:A(6):A(1),A(2),A(3),A(4),A(5),A(6)B(2,3):B(1,1),B(1,2),B(1,3),B(2,1),B(2,2),B(2,3),4数组的释放同
16、内存变量的释放一样,将数组从内存中删除,释放其所占的内存空间,就是数组的释放,可以使用的命令有如下几种。格式1:CLEAR ALL功能:关闭所有文件,同时清除所有的内存变量、数组等,但不清除系统内存变量。格式2:CLEAR MEMORY功能:清除所有内存中的变量和数组,但不清除系统内存变量。格式3:RELEASE 或 RELEASE ALL LIKE/EXCEPT 功能:清除指定的内存变量或数组,但不清除系统内存变量。,2.3运算符及表达式,运算符是对相同类型的数据进行运算操作的符号,用运算符将常量、变量和函数等数据连接起来的式子称为表达式。值得注意的是,同种类型的数据才可以进行运算,不同类型
17、的数据是不可以进行运算的。,数值运算符及数值表达式数值运算符有:圆括号(())、乘方(*或)、乘(*)、除(/)、模运算或取余(%)、加(+)和减(-)。数值表达式是由数值运算符将数值型常量、变量和函数等连接起来的式子,其结果为数值型。,它们的作用与数学中的算术运算符相同,运算顺序为:先计算圆括号内,然后是乘方,其次是乘、除和取模,最后是加和减,其中乘、除和取模是同级,加和减是同级,从左到右进行计算。例如:5*10/2128%5ab*3-ad,字符串运算符及字符表达式字符表达式是由字符串运算符将字符型常量、变量和函数等连接起来的式子。字符串运算符有4种:完全连接运算符(+)、不完全连接运算符(
18、-)、字符串包含运算符($)和精确比较运算符(=)。完全连接运算符和不完全连接运算符均实现对两个字符串的连接,并且返回字符型数据。但当要连接的两个字符串中的第一个字符串尾部有空格时,所得结果将存在一定的区别。,如果使用完全连接运算符,只是两个字符串的简单连接;如果使用不完全连接运算符,第一个字符串尾部的空格将移到第二个字符串的尾部。例如:首都+经贸大学 结果为 首都 经贸大学首都-经贸大学 结果为 首都经贸大学,字符串包含运算符的返回结果为逻辑值,用来检测左边的字符串是否被包含在右边的字符串中。如果包含,则返回逻辑真值(.T.),否则返回逻辑假值(.F.)。例如:城市$城市经济结果为.T.工人
19、$工程师结果为.F.精确比较运算符的返回结果也为逻辑值,只有当两边的字符串完全相等时,才返回逻辑真值(.T.)。例如:工程师=工程师 结果为.T.工程师=工程师 结果为.F.,日期运算符及日期表达式日期表达式是由日期运算符将日期型常量、变量和函数等数据连接起来的式子,其返回结果为日期型或者数值型数据。日期型运算符只有加法(+)和减法(-)两种。日期型表达式的格式为:+返回结果为日期型数据-返回结果为日期型数据-返回结果为数值型数据,例2-8对下列的日期型表达式进行计算。01/01/1996+20&结果为01/21/199605/30/1998-05/20/1998&结果为1010/28/199
20、5-20&结果为10/08/1995,关系运算符及关系表达式关系表达式是由关系运算符、数值表达式、字符表达式或者日期型表达式组合而成的式子,返回结果为逻辑真值(.T.)或逻辑假值(.F.)。关系运算符有:小于()、等于(=)、不等于(、#或!=)、小于等于(=)。,例2-9计算下列的关系表达式。AB&结果为.F.AB&结果为.T.5+68&结果为.T.,逻辑运算符及逻辑表达式逻辑表达式是由逻辑运算符、逻辑型常量、逻辑型内存变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组成,其结果为逻辑型常量。逻辑运算符有以下3种基本运算:逻辑非(.NOT.)、逻辑与(.AND.)和逻辑或(.OR.)。其运
21、算规则为:进行逻辑与运算时,当参加运算的双方都为真值时,运算结果为真值,否则为假值;进行逻辑或运算时,当参加运算的双方都为假值时,运算结果为假值,否则为真值;进行逻辑非运算时,运算结果为原来的相反值,即原来为真值,运算结果变为假值,原来为假值,运算结果为真值,如表2-1所示。,表2-1 逻辑表达式运算规则,逻辑运算符的优先次序为:.NOT.,.AND.,.OR.。可以使用括号来改变逻辑运算的先后次序。在同一表达式中,如果使用了几种运算符,则各种运算符的运算顺序如图2-1所示。例2-10进行如下的逻辑运算。83.AND.8C.OR.AC&结果为.T.NOT.56&结果为.F.,图2-1 各种运算
22、符的运算顺序,名称表达式 名称表达式是指能代替字符型变量或数组元素的值的一个引用。名称不是一个变量,也不是数组元素,所以不能用定界符括起来,但它可以替代字符变量或数组元素中的值。将名称保存到内存变量或数组元素中时,可以用小括号括起该内存变量,将名称替换成命令或函数。定义一个名称时,只能以字母、汉字或下划线开头,名称中只能使用字母、汉字、数字和下划线字符,最多可以使用254个字符。一次定义多个名称时,各名称之间要用逗号分开。,例2-11运用名称表达式打开一个数据表文件。*将C:STUDENT学生成绩表.dbf赋给AA变量 STORE C:STUDENT学生成绩表.dbf TO AA USE(AA
23、)&相当于命令USE C:STUDENT学生成绩表.dbf该例中USE命令用于打开一个数据表文件,在第3章中将会详细讲解该数据表。在VFP中,可以使用的名有:表(.dbf)文件名、表(.dbf)别名、表(.dbf)字段名、索引文件名、内存变量名和数组名、窗口名和弹出菜单名等。,2.4函数,为了简化某些特定的操作,VFP提供了标准函数,以方便用户的使用,这里介绍一些常用的函数。为了使用方便,先介绍两个命令:格式:?功能:按指定位置显示输出表达式的值。,字符处理函数1宏代换函数&格式:&.功能:用于代换一个字符型变量的内容。调用该函数时,即调用了字符型内存变量的值。,例2-12宏代换函数举例。aa
24、=bb bb=北京?aa,bb,&aa&结果为 bb 北京 北京?&bb 是中国的首都&结果为 北京是中国的首都 n=567.83?356.08+&n&结果为923.91,2计算字符串长度函数 LEN()格式:LEN()功能:计算字符串中的字符个数,返回结果为数值型。例2-13测试字符串的长度。?LEN(ABCDF)&结果为 5 X=首都经贸大学?LEN(X)&结果为 12,3生成空格函数 SPACE()格式:SPACE()功能:产生由数值表达式指定数目的空格,返回结果为字符型。例2-14使用空格生成函数。?北京+SPACE(3)+首都&结果为 北京 首都,4取子字符串函数 SUBSTR()格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 运算
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6364968.html