ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:520.50KB ,
资源ID:7794822      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7794822.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第2章 数据类型及数据运算.doc)为本站会员(kpmy5893)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

第2章 数据类型及数据运算.doc

1、3536第二章 数据类型及其运算Visual FoxPro 不仅是一种数据库管理系统,同 时也有高级程序设计语言的功能。计算机语言的基本要素是数据类型、常量、变量、表达式、控制结构、过程和函数。21 数据类型在 VF6 中,常用的字段数据类型有 11 种,常量、内存变量、函数和表达式的类型有6 种。211 字段数据类型在实际工作中所采集到的原始数据,通常要经过加工处理,变成对用户有用的信息。而数据处理的基本要求是对相同类型的数据进行选择归类。为了适应存储数据的需要,VF6 提供了许多数据类型,常用的字段数据类型有 11 种。1. 字符型(C 型)由字母、汉字、数字、空格、符号和标点等组成,通常

2、用来存储姓名、单位、地址等类信息,宽度由用户定义,但不超过 254 个字节。信息量较大时宜放到备注型字段中。2. 数值型(N 型)用于表示数量,它由数字 09、一个符号(+或-)和一个小数点(.)组成,长度120 个字节。小数点的位置和字段的宽度由用户创建该字段时指定,宽度包括小数点和小数位数。数据还可以分为整数、实数和浮点数等。3. 逻辑型(L 型)用于存储只有两个值即真(.T.)和假(.F.)的数据,其长度固定为 1 个字节。输入T(t )或 Y(y)表示真值;输入 F(f )或 N(n)表示假值,实际存储时只存放 T 或 F这两个字母中的一个。4. 日期型(D 型)存储日期数据,其存储格

3、式为“YYYYMMDD” ,占 8 个字节。显示格式有许多种,常用的为“MM/DD/YY” ,它受 SET DATE、SET MARK、SET CENTURY 命令设置值的影响。取值0001/1/19999/12/31。5. 备注型(M 型)用于数据块的存储,宽度固定为 4 个字节。字段内容并不存储在记录中,而是存放在系统为每个含有备注型字段的表自动建立的一个和表同名的备注文件(后缀为.FPT)中,记录中仅存储指向备注文件中相应内容的指针。6. 通用型(G 型)存储 OLE 对象,其中包含对 OLE 对象的引用。一个 OLE 对象的具体内容可以是一个电子表格或一个字处理器的文档、图片、声音等。

4、这些 OLE 对象是用其他应用程序建立的,该字段类型的长度固定为 4 个字节。7. 日期时间型(T 型)37用于存储日期和时间值,存储格式为“YYYYMMDDHHMMSS” 。其日期部分显示格式同日期型字段;时间部分的显示格式受 SET HOURS 和 SET SECONDS 命令设置的控制,取值 00:00:00 AM.11 :59:59 P.M. 。8. 货币型(Y 型)使用金钱时可使用货币数据类型以代替数值类型,其存储占 8 个字节。9. 整数型(I 型)用于无小数部分数值的存取,只用于表中字段的定义,存储用二进制形式表示,占4 个字节。10. 双精度型(B 型)用于取代一般的数值类型,

5、以便能提供更高的数值精度。它只用于表中字段的定义,采用固定存储长度的浮点数形式,存储占 8 个字节,双精度类型不同于数值类型,其小数点位置由输入的数据值决定。11. 浮点型(F 型)以浮点数的形式存储数值数据,用较精确的位数存储数据,常用于科学计算,宽度的规定和数值型相同。212 常量常量是指在程序运行过程中其值不发生变化的量。FoxPro 支持字符、数值、日期、日期时间、货币和逻辑 6 种类型的常量。1. 常量分类1) 数值型数值型常量是可以带正负号的整数或小数(正号可省略) ,还可以用科学记数法表示如 2.5E+15。这样表示的常量是 N 型,而不是 F 型。2) 字符型字符型常量是用定界

6、符括起来的字符串。定界符有 3 种,即单引号、双引号和方括号。在定义和使用字符型常量时需要注意:在字符串的两端必须加上定界符,否则系统会把该字符串当成变量名。如:“姓名”是一个变量名,而“”姓名”是一个常量字符串。定界符只能是 ASCII 码字符(即半角字符) ,不能是全角字符。左、右定界符必须匹配。即如果左边是双引号,那么右边也必须是双引号。定界符可以嵌套,但同一种定界符不能互相嵌套,具体例子如下所示。合法字符串 古语云:“天下没有不散的宴席 ”非法字符串 “古语云:“天下没有不散的宴席” ”3) 逻辑型逻辑型常量也称布尔型常量。它只有两种值,即逻辑真值或逻辑假值。逻辑真可以用.T.或 .Y

7、.表示,也可以用.t.或.y.来表示;逻辑假可以用.F.、.N.、 .f.、.n.来表示。注意:字母 T、N 等的两端必须紧靠有小圆点(圆点与字母之间不能有空格)。圆点和字母都必须是半角符号,不能是全角字符。 4) 日期型日期型常量一定要包括年、月、日 3 个值,每两个值之间由一个分隔符(如斜杠“/” )隔开,日期型常量要放在一对花括号中,开始位置上再加上一个“”符号(VF6 中采用38严格的日期格式,即yyyy/mm/dd) 。例如2002/02/20。空值表示为、 、/、:。其显示格式按照系统原来默认的方式是MM/DD/YY,但可以改变,其命令如下所示。SET CENTURY ON 200

8、2/03/01 12:5:10?2002/01/01 12:5:20-103112/03/20011001/01/2002 12:05:10 PM4关系运算符关系运算符用于同类型数据之间的比较运算,并返回一个逻辑值来表示所比较的关系是否成立。相关符号及例子参见表 2.15。表 2.15 关系运算符运算符 操作 例子 结果大于比较运算 ?32 .T.= 等于比较运算 ?”abcd”=”ab” .T.3 .T.= 大于或等于比较运算 ?35=45 .F.= 字符串精确等于比较 ?”abcd”=”ab” .F.注意:1 关系运算符仅对两个同类型的表达式进行比较,操作对象可以是数值型、字符型、日期型、

9、逻辑型、货币型和备注型等,产生的结果均为逻辑型。2 字符型表达式的比较。51ASCII 字符(半角字符)比较 按照其码值的大小来比较。如字母 “A“的ASCII 码值是 65,“a“的 ASCII 码值是 97,所以表达式“A“ 薄“的值是.F. 。字符串的比较是按照从左向右的顺序逐个字符进行比较的,如“ABC“=“ACD“”用于确定两个字符串是否完全相等,完全相等的含义是两个字符串应该是长度相同,且每个位置上的字符都必须分别相同。两个字符串作“=“比较时,其比较结果与 SET EXACT 命令的状态有关。当其状态为“ON“时, “=”和 “=“的比较结果一致,但当其状态为“OFF“ 时,“=

10、“ 可用于两个字符串部分匹配的场合,对于 A=B,如果 B 中每个字符串与 A 中前面的每个相应字符匹配,则其值为“.T.“。例如SET EXACT OFF?“ABCD“=“ABC“ DEFAULT功能:将表达式存入内存变量。其中:字符表达式 1 提示字符串,用来说明当前要写什么样的表达式;内存变量 将表达式的书写结果存入的变量;TYPE 说明当前要生成的表达式是什么类型,类型值如 C(字符型)、N(数值型)等应加字符定界符;错误信息字符串 当表达式不对时,显示指定的错误信息,以便提示用户;53DEFAULT 当表达式省略时,给定一个表达式。【例 2.9】用表达式生成器将 23*3332*5

11、表达式赋给内存变量 cVar。在命令窗口输入GETEXPR “数值表达式“ TO cVar TYPE“n“ &打开如图 2.5 所示的对话框?cVar23*33+3-2*5 &内存变量 cVar 中存有表达式图 2.5 “表达式生成器”对话框下面是表达式生成器中的有关内容简述。1 “表达式”编辑框 用于编辑表达式。从表达式生成器的各列表框中选择出来的选项将显示在这里,也可以直接输入和编辑表达式。利用表达式生成器可以输入各种各样的操作条件,比如可以输入字段及有效性规则、记录及有效性规则和参照完整性规则等。2 “函数”列表框 将系统提供的 4 类函数(字符串函数、数学函数、逻辑函数和日期函数)全部

12、放置在列表框中,可以直接选择使用。3 “变量”列表框和“字段”列表框 在“变量”列表框中列出当前能够使用的全部内存变量、数组变量和系统变量。以“_”开头的变量是系统变量。在“字段”列表框中显示当前可使用的字段变量。从“变量”列表框和“字段”列表框中通过双54击可以选择表达式所需的变量。4 表和视图下拉列表框 从该列表框中可以选择当前打开的表和视图。5 命令按钮 在“表达式生成器”对话框中有 4 个按钮,即“确定” “取消”“检验”和“选项” “选项”按钮 单击“选项”按钮,可以进入“表达式生成器选项”对话框,在该选项对话框中可以设置表达式生成器的参数。 “检验”按钮 用于检验生成的表达式是否有

13、效。单击该按钮,如果表达式有错,如字符与数字相加,系统就会弹出一个信息框提醒用户该表达式有错。 “确定”按钮 完成表达式生成并退出“表达式生成器” 。 “取消”按钮 放弃对表达式的修改并退出“表达式生成器” 。习 题 2一、思考题1.VF6 有哪几种常用数据类型?2.VF6 有哪几种变量?各有什么特点?3.数组变量与内存变量有何不同?试述为内存变量赋值的几种方式。4.比较$、=和= =这 3 个关系运算符的异同点。二、选择题1.同时给内存变量 a1 和 a2 赋值的正确命令是( )(A)a1,a2=0 (B)a1=0,a2=0(C)store 0 to a1,a2 (D)store 0,0 t

14、o a1,a22.下列 4 个变量名中,错误的是( )(A)书 名 (B)作者(C)定价 (D)出版社3.在 VFP 中,6E-3 是一个( )(A)内存变量 (B)字符常量(C)数值常量 (D)非法表达式4.在 VFP 中,50E+5 的含义是( )(A)字符变量 (B)内存变量(C)表达式 (D)数值常量5.在 VFP 中,若 ABC=INT(52.4361),则 ABC 的值为( )(A)52.4361 (B)52.436(C)52.43 (D)526.函数 INT()的功能是( )(A)按四舍五入取数值表达式值的整数部分(B)返回数值表达式值的整数部分(C)返回不大于数值表达式值的最大

15、整数(D)返回不小于数值表达式值的最小整数7.设有变量 pi=3.1415926,执行命令?ROUND(pi,3)的显示结果为( )55(A)3.141 (B)3.142(C)3.140 (D)3.0008.ROUND(123456.789,-2)的值是( )(A)123456 (B)123500.000(C)123456.700 (D)123456.799.在 VFP 中,?“A“+LTRIM(“123“)+“B“的执行结果是( )(A)A123B (B)A 123B(C)A123 B (D)A 123 B10.在 VFP 中,?Len(aabb)函数的执行结果是( )(A)2 (B)4 (

16、C)ab (D)aabb11.设有变量 sr=“2002 年上半年全国计算机等级考试“,能够显示“2002 年上半年计算机等级考试“的命令是( )(A)?sr-“全国“(B)?SUBSTR(sr,1,8)+SUBSTR(sr,11,17)(C)?STR(sr,1,12)+STR(sr,17,14)(D)?SUBSTR(sr,1,12)+SUBSTR(sr,17,14)12.执行 SET EXACT OFF 命令后,再执行?“北京市“=“北京“命令的显示结果是( )(A).T. (B).F. (C)0 (D)非 013.下列 4 个表达式中,其值为“数据库系统”的是( )(A)“数据库“+“系统

17、 “ (B)“数据库“+“系统“ (C)“数据库 “-“系统“ (D)“数据库“-“ 系统“14.在 VPF 中,?str(265.26,6,1)命令执行的结果是( )(A)265 (B)265.2 (C)265.26 (D)265.315.执行?AT(“教授“,“副教授“)命令的显示结果是( )(A).T. (B)2 (C)3 (D)016.执行命令序列:( )STORE“375“TO XSTORE“213“+X TO YSTORE Y+“111“TO Z之后 Z 的值是:(A)“213375 111“ (B)“213375111“(C)“213 375111“ (D)“477“17.VFP

18、 中,默认的日期型数据框格式为:( )(A)年/月/日 (B)月/日/年(C)日/月/年 (D)年/日/月18.在 VFP 中,?DAY(03/09/98)函数的执行结果是( )(A)09 (B)03 (C)错误的结果 (D)计算机系统日期 19.在 VFP 中,下面 4 个关于日期或日期时间的表达式中,错误的是( )(A)2002.09.01 11:10:10:AM-2001.09.01 11:10:10AM56(B)01/01/2002+20(C)2002.02.01+2001.02.01(D)2002/02/01-2001/02/0120.已知 D1 和 D2 为日期型变量,下列 4 个

19、表达式中非法的是( )(A)D1-D6 (B)D1+D2 (C)D1+28 (D)D1-3621.在 VFP 中逻辑运算的优先顺序是( )(A).AND. .OR. .NOT. (B).NOT. .AND. .OR.(C).NOT. .OR. .AND. (D).AND. .NOT. .OR. 22.VFP 的命令序列:STORE 15 TO XSTORE 21 TO Y?(X=Y).OR.(X1.70.and.身高1.0.and.右眼1.0(B)身高1.70.or.身高1.0.or.右眼1.0(C)身高1.70.or.身高1.0.or.右眼1.0(D)身高1.70.and.身高1.0.and

20、.右眼1.028.在 VF6 中,顺序执行完成下列命令:SELE A,USE SS,SELE B,USE TT 之后,要判断SS.DBF 字段 CJ 的值是否等于 TT.DBF 字段 CJ 的值,可选用( )(A) IF CJ=CJ (B)IF CJ.SS=CJ.TT(C) IF CJ=A-CJ (D)IF CJ=TT-CJ29.数据库 ZE.DBF 记录的是某大学教师的基本情况,评职称时,副教授都被评为教授,为表示符合这个条件的纪录,在“Set Fileter Expression:“的文本框中输入的表达式是( )(A)职称=“教授“ (B)职称= 教授 57(C)职称=“副教授“ (D)职

21、称= 副教授 30.在下面的数据类型中默认值为.F.的是( )(A)数值型 (B)字符型 (C)逻辑型 (D)日期型31.在以下四组函数运算中,结果相同的是( )(A)LEFT(“Visual FoxPro“,6)与 SUBSTR(“Visual FoxPro“,1,6)(B)YEAR(DATE()与 SUBSTR(DTOC(DATE),7,2)(C)VARTYPE(“36-5*4“)与 VARTYPE(36-5*4)(D)假定 A=“this“,B=“is a string“,A-B 与 A+B32.下列 4 个表达式中,运算结果为数值的是( )(A)“9999“-“1255“ (B)200

22、+800=1000(C)CTOD(11/22/01)-20 (D)LEN(SPACE(3)-133.在下列函数中,函数返回值为数值的是( )(A)AT(人民,中华人民共和国) (B)CTOD(01/01/96)(C)BOF() (D)SUBSTR(DTOC(DATE(),7)34.下列函数中,函数值为字符型的是( )(A)DATE() (B)TIME() (C)YEAR() (D)DATETIME()35.打开职工表(姓名 C(8),性别 C(2),工资 N(6,2),下列 4 个表达式种错误的是( )(A)“姓名“+姓名 (B)“性别“+性别(C)“工资“-工资 (D)姓名-“是工程师“36

23、.下列表达式中非法的是(假设变量均存在)( )(A)56 2*8 (B)“ABC=“+ABC (C)MSELECT $ “Yy“ (D)CTOD(“12/27/94“)37.不打开“打开”对话框,就可得到文件全名的函数是( )(A)GETFILE() (B)PUTFILE() (C)LOCFILE() (D)CURDIR()38.使用命令 DECLARE mm(2,3)定义的数组,包含的数组元素的个数为( )(A)2 个 (B)3 个 (C)5 个 (D)6 个39.下面关于 VFP 数组的叙述中,错误的是( )(A)用 DIMENSION 和 DECLARE 都可以定义数组(B)VFP 只支

24、持一维数组和二维数组(C)一个数组中各个数组元素必须是同一种数据类型(D)新定义数组的各个数组元素初值为.F.40.清除主屏幕上内容的命令是( )(A)CLEAR (B)CLEAR ALL(C)CLEAR SCREEN (D)CLEAR WINDOWS三、 填空题1.执行下列命令的显示结果是_。?东方商厦+滨江大厦友谊商店2.如果一个表达式中包含算术运算、关系运算、逻辑运算和函数运算时,则运算的优先58次序是_.3.设系统日期为 2001 年 12 月 31 日,下列表达式的值是_.VAL(SUBSTR(1999,3)+RIGHT(STR(YEAR(DATE(),2)+174.内存变量的数据类

25、型在_确定。5.数组的最小下标是(1) ,数组元素的初值是 (2) 。6.VF6 中,根据运算符可以将表达式分为 (1) 、 (2) 、 (3) 、 (4) 、日期型(时间日期型) 、货币型等六种表达式。7.完成如下表格:数据 .N. .T. 2001/11/23 123.4 工程师类型函数 ASC(B) VAL(23) LEN(2345) CTOD(2001/10/12)返回值类型8.写出下列逻辑表达式。(1)年龄(old)小于 15 岁,身高(height)不低于 1.8m 的运动员。(2)年龄(old)在 45 岁以下的副教授(职称变量用 prof)和 35 岁以下的讲师。9.写出下列表

26、达式的值。(1)?ASC(“A“)ASC(1)_.(3)?ASC(王)ASC(李)_.(4)321+VAL(32A1) .(5)?ABS(-22.2)MAX(-11,22.2) .(6)?MOD(22,5)MIN(-22.2,22) .(7)?ISDIHIT(123).AND.ISLOWER(foxpro) .10.写出下列表达式的值。(1)?“Y“=UPPER(y) .(2)?STR(223.22,6.2)+32 .(3)?中国+SPACE(5)+“北京“ .(4)?CHR(49) . 11.写出下列表达式的值。dVar=CTOD(2001/01/01)dVar1=dVar+35(1)?dV

27、ar1-4 .(2)?CMONTH(dVar1) .(3)?TYPE(dVar1) .(4)?LEN(&dVar1) .dVar2=DTOS(dVar1)(5)?TYPE(dVar2) .59(6)?LEN(&dVar2) .(7)?MONTH (CTOD(2001/12/21)+40 .(8)?DAY(CTOD(2001/12/21)+40 .(9)?YEAR(CTOD(2001/12/21)+40 .12.写出下列表达式的值。cVar1=经济学院cVar2=会计cVar3=94cVar4=cVar1+SPACE(1)+cVar2+SPACE(1)+cVar3cVar5=SUBSTR(cVa

28、r4,9,100)(1)?cVar1$cVar5 .(2)?cVar5$cVar3 .(3)?cVar5$cVar4 .(4)?AT(cVar3,cVar5) .(5)?cVar5-cVar1+cVar2 .13.设 old=26,sex=“男“,married=.F.,graduate=“大学“,old(年龄)、sex(性别)、married(婚否)、graduate(学历)是内存变量名称,判断下列逻辑表达式的值。(1)old20.AND.sex女.OR.married=.F. .(4)“北京“$“中国“ .14.命令?TYPE(10/25/01)的输出值是 .15.设工资=1200,职称=

29、教授,下列逻辑表达式的值是 .工资1000 AND(职称=教授OR 职称=副教授)四、上机实验1.系统变量实验:用计算器系统变量计算(20+40)*15 的值并返回。2.内存变量实验:(1)建立 4 个类型的内存变量并赋值,然后显示内存变量的存储结构。(2)建立 al(2)和 bl(2,2)数组。给数组赋 4 种类型的值,显示存储结构。3.字符和数值函数应用实验:设内存变量 cTest1 中存有如下字符串(两边没有空格)Visual FoxPro 6 is DataBase Management system。(1)用函数方法将改 system 为 System。(2)取该字符串长度除 5 的

30、余数。(3)在该字符串两边增加“-“字符串后,赋给 cTest2。(4)将第 5 个字母的 ASCII 码值减去 32,再放置在原位置上,然后将结果赋给 cTest3。4.逻辑与日期函数实验:假设 nVar1=6,nVar2=10,当前日期 2002/02/20。(1)测试 nVar1 是否在 1-10 之间、nVar1 变量的数据类型及 nVar2 小于 nVar1 否。(2)在机器上分别给出当前时间的年、月、日和星期几。60(3)求出 DATETIME()的长度。5.显示信息实验:(1)在显示信息对话框中,设置标题为“显示” ,内容为“显示信息对话框” ,按钮为“确定”和“取消” 。(2)在显示信息对话框中,设置标题为“显示” ,内容为“提示信息” ,按钮为“确定”图标为“信息” 。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报