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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(vfp等级考试复习题.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

vfp等级考试复习题.docx

1、vfp等级考试复习题第一部分内容 有关数据库、表的基本概念及操作1成绩表中的成绩必须在0100之间的规则是满足关系模型的_完整性。A实体完整性 B域完整性 C参照完整性 D用户自定义完整性【解析】答案为B。在关系数据库中,完整性主要有域完整性、实体完整性和参照完整性三种类型。域完整性规定了属性的取值范围,由应用环境对数据的需求决定。实体完整性要求任一元组的主关键字的值不为空,且在所属的关系中唯一。参照完整性要求当一个元组的外部关键字的值不为空时,以该外部关键字的值作为主关键字的值的元组必须在相应的关系中存在。成绩必须在0100之间是成绩表的成绩属性的取值范围的规定,属于域完整性。2EMPTY(

2、SPACE(3)和ISNULL(SPACE(3)函数的返回值分别为_。【解析】答案为.T.、.F.。EMPTY()函数用来测试参数是否为空,当参数为空字符串、空格或0时返回真,为null返回假值,而ISNULL()函数用来测试参数是否为null值,只有参数为null的时候返回真,其余均返回假值。3当数据库表移出数据库成为自由表之后,仍然有效的是_。A字段的默认值 B表的记录的有效性规则C结构复合索引 D表的触发器【解析】答案为C。当数据库表移出数据库成为自由表后,字段的扩展属性和数据库表的表属性都消失,因为这些信息是数据库表所特有的,如字段的标题、格式、字段有效性规则、默认值等以及表的长表名、

3、记录的有效性规则、触发器等都消失。只有结构复合索引还保留着,结构复合索引文件中的主索引变成候选索引。4下列_操作不会损坏相关表之间数据的一致性。A删除了子表中的记录而没有删除主表中的相关记录B删除了主表中的记录而没有删除子表中的相关记录C在子表中插入记录的外部关键字的值是主表关键字中没有的D在主表中修改了主关键字的值而没有同时修改子表中相关记录的外部关键字的值【解析】答案为A。相关表之间数据的一致性指的是相关表之间的主关键字和外部关键字之间数据的一致性。B、C、D选项的操作都会引起两张表的主关键字的值和外部关键字的值不一致。5依次执行下列命令后,浏览窗口中显示的表的别名及当前工作区区号分别是_

4、。CLOSE TABLES ALLUSE TSUSE TS AGAIN IN 5SELECT 0USE TS AGAINBROWSEAB、2 BTS、2 CB、5 DE、2【解析】答案为A。该段命令的功能是:首先关闭所有的表,此时没有工作区被使用。USE TS是在1号工作区打开TS表,此时1号工作区为当前工作区,别名就为表文件名TS。USE TS AGAIN IN 5是在5号工作区再次打开TS表,但是5号工作区未作为当前工作区,表的别名为E。SELECT 0选择未被使用的工作区区号最小的工作区即2号工作区作为当前工作区。如果一张表在多个工作区被打开而未指定别名,则第一次打开的工作区中表的别名与

5、表名同,其他工作区用AJ及W11W32767表示,因此USE TS AGAIN是再次打开TS表,此时TS表的别名为B。6首先执行了CLOSE TABLES ALL命令,然后执行_命令,可以实现逻辑删除DZ表(读者表)中年龄超过25岁的所有记录(注:DZ表中含有CSRQ字段,日期型,为出生日期)。ADELETE FOR YEAR(DATE()-YEAR(CSRQ)25BDELETE FROM DZ WHERE YEAR(DATE()-YEAR(CSRQ)25CDELETE FROM DZ FOR YEAR(DATE()-YEAR(CSRQ)25DDELETE FROM DZ WHILE YEAR

6、(DATE()-YEAR(CSRQ)25【解析】答案为B。主要掌握DELETE命令和DELETE-SQL命令的功能。A选项能够实现逻辑删除,但是XS表必须事先打开且为当前工作区的表。C、D选项都是语法错误。7已知DZ表的结构为:读者编号(DZBH C(8))、姓名(XM C(8))等,并且按照DZBH设置了结构复合索引,索引标识为DZBH,如果DZ表不是当前工作区的表,则下列_命令不能实现查找读者编号为“96010101”的记录。ASELECT DZ LOCATE FOR DZBH=96010101BSEEK 960101 ORDER DZBH IN DZCSELECT DZSET FILTE

7、R TO DZBH=96010101DSELECT DZ SEEK 96010101【解析】答案为D。LOCATE FOR命令是条件定位,根据给定的条件将记录指针定位到指定的记录。SET FILTER TO命令是记录的筛选,在当前工作区的表中筛选出满足条件的记录。SEEK命令可以实现查找的功能,但是必须要设置主控索引。8已知表中已经建立了多个索引,则无论是否设置主控索引,都定位到同一条记录的命令是_。AGO TOP BGO BOTTOM CGO 5 DSKIP -1【解析】答案为C。GO TOP、GO BOTTOM、SKIP命令都是相对定位命令,它们受记录的逻辑顺序的影响。而GO 5指的是跳转

8、到5号记录,无论是否设置主控索引,记录的记录号是不会改变的。9下列关于记录的删除的叙述,不正确的是_。ADELETE命令和DELETE-SQL命令都要求表以独占方式打开BPACK命令和ZAP命令要求表必须以独占方式打开CPACK命令和ZAP命令可以实现彻底删除表中带有删除标记的记录的功能DRECCOUNT()函数的返回值不受SET DELETED ON|OFF命令的影响【解析】答案为A。主要掌握表中记录删除的相关内容。DELETE命令要求表必须事先打开,而DELETE-SQL命令不必,且无论表是独占方式还是共享方式打开,都不影响删除标记的设置。PACK和ZAP命令要求表必须以独占方式打开,PA

9、CK彻底删除带有删除标记的记录,ZAP删除表中所有记录,仅保留表结构。RECCOUNT()函数返回表中的记录数,不受删除标记的影响。10已知TS表中有DJ字段(单价,数值型),如果DJ不低于100,则设置BZ(备注,备注型)内容为“高档图书”,则下面哪条命令不能完成该功能_。AUSE TSREPLACE BZ WITH 高档图书 FOR DJ=100BUPDATE TS SET BZ=高档图书 WHERE DJ=100CUPDATE TS SET BZ=高档图书 FOR DJ=100DUPDATE TS SET BZ=IIF(DJ=100,高档图书,)【解析】答案为C。主要掌握UPDATE命令

10、和REPLACE命令。前者的语法格式为:UPDATE 表文件名 SET 字段名=值 WHERE逻辑条件表达式。REPLACE命令的语法格式为:REPLACE 字段名1 WITH 值1,字段名2 WITH 值2, FOR 逻辑条件表达式,REPLACE命令要求表必须事先打开,而且是当前工作区的表。11已知TS表属于数据库TSK,如果不小心删除了TSK的相关文件,则要将TS表添加到其他数据库中,必须释放_,释放的命令是_。【解析】答案为后链、FREE TABLE TS。数据库表和数据库之间通过双向链接相关联。一张数据库表只能属于一个数据库,如果意外损害了数据库文件,则必须释放后链才能添加到其他数据

11、库中。12已知成绩表(cj.dbf)的结构如下图,请完善下列各项命令。字段名类型宽度字段含义是否主键XHC6学号是KCDHC2课程代号是CJN3,0成绩(1)创建表结构的命令CREATE TABLE CJ(XH C(6),KCDH C(2),CJ N(3,0)(2)给CJ表添加一个备注型字段BZALTER TABLE CJ ADD COLUMN BZ M(3)将BZ字段的字段名改为CJBZALTER TABLE CJ RENAME COLUMN BZ TO CJBZ(4)为CJ表添加一条记录:08010101,02 ,60INSERT INTO CJ(XH,KCDH,CJ) VALUES(08

12、010101,02,60)(5)将所有CJ不及格的记录的CJBZ字段内容设置为“需要补考”UPDATE CJ SET CJBZ=需要补考 WHERE CJ=250 SKIP LOOP ENDIF DISPLAY &短路 SKIP &短路ENDDOCLOSE DATABASERETURN该程序完成的功能是 ;LOOP语句的功能是 。【解析】答案是:程序完成的功能是显示实发工资低于250元(不含250)的记录信息。LOOP语句的功能是当检验当前的记录满足“实发工资=250”条件时,不执行语句DISPLAY和 SKIP(又称为将其短路)。2给程序填充,使其具有以下功能:根据学生成绩表(CJ)中学生的

13、考试成绩,按下表的划分标准,给出相应的等级,设CJ表中有一个名为DJ的字段。 分数与等级对照表分数 等级90100 优秀8089 良好7079 中等6069 及格60 不及格USE CJGO TOPDO WHILE .T.N=CJDO CASE CASE (1) Replace Dj with ”不及格” CASE (2) Replace Dj with ”及格” CASE (3) Replace Dj with ”中等” CASE (4) Replace Dj with ”良好” OTHERWISE Replace Dj with ”优秀”ENDCASESKIPIF EOF()EXITEND

14、IFENDDOUSE 【解析】答案为(1)N60; (2)N70;(3)N80;(4)N90。程序中用到了DO循环嵌套CASE语句和IF语句的形式,先进入循环,执行CASE语句,再利用条件语句来判断何时结束循环。CASE语句中的各种CASE条件,排列顺序很重要,如果排列不对,将产生错误的结果。例如,程序片段:DO CASE CASE N90 Replace Dj with ”良好”CASE N60 Replace Dj with ”不及格” CASE N70 Replace Dj with ”及格” CASE N80 Replace Dj with ”中等” OTHERWISE Replace

15、 Dj with ”优秀”ENDCASE结果对60分90分的成绩等级均给”良好”。3已知学生表xs.dbf。给程序填充,使其具有以下功能:求男、女同学平均年龄(输出时保留4位小数)。要求采用FOR 循环语句, Use xs Go top &将记录指针指向学生表的第一个记录 Store 0 to sum1,sum2,cot1,cot2 For I=1 to (1) &recount()函数返回打开的表的记录数 If xb=”男” Sum1=sum1+ (2) &SUM1中存放男同学年龄之和 Cot1=cot1+1 &COT1中存放男同学人数 Else Sum2=sum2+ (3) &SUM2中存

16、放女同学年龄之和 Cot2=cot2+1 &COT2中存放男同学人数 Endif Skip endfor ? (4) ? (5) USE 【解析】答案是:(1)reccount();(2)year(date()-year(csrq) (3)year(date()-year(csrq) (4)男同学的平均年龄为+STR(SUM1/COT1,7,4) (5)女同学的平均年龄为+STR(SUM1/COT1,7,4)。 此程序中用到了循环语句FORENDFOR,使用语句SKIP将记录指针向下移动一个记录,直到学生表中的记录全部处理完。表达式year(date()-year(csrq)用于计算每个学生的

17、年龄。STR为VFP系统提供的函数,其功能是将数值表达式转换成数值字符串,第一个参数为要转换的数值表达式,第二个参数为串长,第三个参数为小数位。“男同学的平均年龄为“+STR(SUM1/COT1,7,4)是一字符表达式,若没有STR转换函数,如:?男同学的平均年龄为+SUM1/COT1,则系统会提示“操作符与操作数类型不匹配”。4利用SCAN循环语句,完成题2。 Use xs &打开学生表 Store 0 to sum1,sum2,cot1,cot2 &将0值赋给内存变量SUM1,SUM2,COT1,COT2 (1) If xb=男 Sum1=sum1+ (2) Cot1=cot1+1 Els

18、e Sum2=sum2+ (3) Cot2=cot2+1 endif endscan ? (4) ? (5) USE &关闭学生表 【解析】答案是:(1)scan ;(2)year(date()-year(csrq) (3)year(date()-year(csrq) (4)男同学的平均年龄为+STR(SUM1/COT1,7,4) (5)女同学的平均年龄为+STR(SUM1/COT1,7,4)。STORE语句与下列四个语句等价:注意:VFP系统规定一行只能写一条语句 SUM1=0 SUM2=0 COT1=0 COT2=0 此程序中用到了循环语句SCANENDSCAN,其中使用IF语句,根据性别

19、不同,各自往不同的变量中累加,一条记录处理完,自动进入下一条记录,直到学生表中的记录全部处理完。因为SCAN语句自动移动记录指针进入下一条记录,所以不要加上skip语句。5利用DO WHILE循环语句,完成题2。程序清单如下:Use xs Go top &将记录指针指向学生表的第一个记录 Store 0 to sum1,sum2,cot1,cot2 DO WHILE (1) &判断表的记录指针是否指向了表的尾部 If xb=”男” Sum1=sum1+ (2) Cot1=cot1+1 Else Sum2=sum2+ (3) Cot2=cot2+1 Endif Skip enddo ? (4)

20、? (5) USE 【解析】答案是:(1)NOT EOF() ;(2)year(date()-year(csrq) (3)year(date()-year(csrq) (4)男同学的平均年龄为+STR(SUM1/COT1,7,4) (5)女同学的平均年龄为+STR(SUM1/COT1,7,4)。此程序中用到了循环语句DO WHILE ENDDO,此处用到了函数 EOF(): EOF()=.T. 即记录指针已经指向了表的尾部(表记录的结束标志) EOF()=.F. 即记录指针没到表的尾部 not eof() 即记录指针没到表的尾部,就进行循环;否则,结束循环 VFP系统还提供另一个函数BOF()

21、: BOF()=.T. 即记录指针已经指向了表的头部(表记录的开始标志) BOF()=.F. 即记录指针没到表的头部6.完善自定义过程ntoc() , 当传递一个09 间的数字时,分别返回零九。并给出使用的方法。dimension array110 dimension array210clearFOR i=1 to 10 array1i=i-1ENDFORFOR i=1 to 10 ?array1iENDFOR?(1) &调用过程ntoc()FOR i=1 to 10 ?array1iENDFOR?FOR i=1 to 10 ?array2iENDFOR procedure ntoc PARA

22、meters pdigit,aa &虚拟参数LOCAL cstring &局部变量Cstring=零一二三四五六七八九for i=1 to 10 aai=(2) endfENDPROC【解析】答案是(1)do ntoc with array1,array2,(2)SUBSTR(cstring,pdigit*2+1,2);在foxpro中,数组必须按址传递。在默认情况下,当你用do.with调用过程或表单时,参数是按址传递。在函数或方法中,参数是按值传递。如:dimension array110 do form form1 with array17在INPUT、ACCEPT和WAIT命令中,必须

23、要以回车键表示输入结束的命令是 。AINPUT、ACCEPT BINPUT、WAIT CACCEPT、WAIT DINPUT、ACCEPT和WAIT【解析】答案为A。WAIT命令只能接收单个字符,可以在用户输入一个字符后自动结束该命令。而INPUT、ACCEPT命令,等待用户从键盘输入数据,并以回车键表示结束输入。8下列关于DO CASEENDCASE语句说法不正确的是 。A只要CASE条件成立,就执行这个CASE条件对应的命令序列BDO CASE和ENDCASE必须成对出现C所有的CASE条件都不成立且没有OTHERWISE语句,则直接跳出本结构,执行ENDCASE后面的语句D在DO CAS

24、E和第一个CASE之间的任何语句都不被执行【解析】答案为A。不管有几个CASE条件同时成立,只有最先成立的那个CASE条件对应的命令序列被执行。如果所有的CASE条件都不成立且没有OTHERWISE语句,则直接跳出本结构。DO CASE和ENDCASE必须成对出现,在DO CASE和第一个CASE之间的任何语句都不被执行。9在DO WHILE .T.的循环中,退出循环应使用的命令是 。ALOOP BEXIT CCLOSE DCLEAR【解析】答案为B。LOOP与EXIT都用于循环体中,结束当前的循环,但两者有着根本区别。语句EXIT结束循环,将跳到直接包含它的循环体语句外,控制程序执行ENDDO或ENDFOR的后续语句。语句LOOP结束当前的循环,即忽略此后的循环体语句,重新回到循环头,根据循环测试条件决定是否退出循环。语句CLOSE是关闭语句,如CLOSE ALL即关闭当前打开的所有的文件,包括表、数据库、项目等等。CLEAR是清屏命令。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1