当前位置:文档之家› VF第3章习题及答案

VF第3章习题及答案

一、选择题1. 在VFP中,“.DBF ”文件被称为__________。

A.数据库文件B.表文件C.程序文件D.项目文件2. 对于数据库表的索引,以下说法不正确的是__________。

A.数据库被打开时,其对应的结构复合索引文件不能被自动打开B.主索引和候选索引能控制表中字段重复值的输入C.一个表可建立多个候选索引D.主索引只适用于数据库表3. 建立索引时,__________字段不能作为索引字段。

A.字符型B.数值型C.备注型D.日期型4. 对于数据库_________说法是错误的。

A.数据库是一个容器B.自由表和数据库表的扩展名都为.dbfC.自由表的表设计器和数据库表的表设计器是不一样的D.数据库表的记录数据保存在数据库中5. 对于数据库添加表_________说法是错误的。

A.可以将一个自由表添加到数据库中B.可以将一个数据库表直接添加到另一个数据库中C.可以在项目管理器中将自由表拖到数据库中,使它成为数据库表D.将一个数据库表从一个数据库移到另一个数据库,则必须先使其成为自由表6. 数据库表间创建的永久关系保存在_________中。

A.数据库表B.数据库C.表设计器D.数据环境7. 要在两张相关的表之间建立永久关系,这两张表应该是________。

A.同一数据库内的两张表B.两张自由表C.一个自由表和一个数据库表D.任意两个数据库表或自由表8. 对于日期型数据________说法是错误的。

A.两个日期型数据可进行加法运算B.两个日期型数据可进行减法运算C.一个日期型数据可以加一个整数D.一个日期型数据可以减一个整数9. 下列赋值语句中错误的是________。

A.V1=”23”+46 B.V2=DA TE()-4C.V3=.T..OR.3>4 D.V4=”今天是”- DTOC(DATEA())10. 在DO WHILE / ENDDO循环中,若循环条件设置为.T.,则下列说法中正确的是________。

A.程序无法跳出循环 B.程序不会出现死循环C.用EXIT可跳出循环D.用LOOP可跳出循环11. 已知A=0,B=-1,C=.T.,则下列逻辑表达式的值为.T.的是________。

A.(A+B)*100>0 .AND. .NOT. C B.A-1=B .OR. CC..NOT. (A>B-1) .AND. C .OR. .F. D.A<B .AND. C12. 在VFP中,可以使用的两类变量是________。

A.内存变量和字段变量B.全局变量和局部变量C.字段变量和简单变量D.内存变量和自动变量13.在多表操作中,如果选择了1、3、5、6号工作区并打开了相应的数据表,再输入命令SELECT 0,其功能是________。

A.选0号工作区为当前工作区B.选2号工作区为当前工作区C.选7号工作区为当前工作区D.错误码的14.以下有关多工作区(多表)的描述,正确的是________。

A.在同一个工作区可以打开多个表并建立关联B.在多表操作中,不能取用非当前工作区的表数据C.在多表操作中,一个表可在不同工作区打开D.在多表关联操作中,只能建立两个表的关联,不能同时建立多个表的关联15. VFP中的SET RELATION 关联操作是一种A.逻辑连接B.物理连接C.逻辑顺序D.物理排序16.若将两个表按一定条件以建立一个新的表文件,可用命令________。

A.JOIN B.SET RELA TO C.RELATION D.以上都不是17.通过关键字建立(临时)关联的前提是________。

A.父表必须索引并打开B.子表必须索引并打开C.两个表必须建立索引并打开D.两全表都不必建立索引18.若建立索引的字段值不允许重复,并且一个表中只能创建一个,它应该是________。

A.主索引B.惟一索引C.后选索引D.普通索引19.打开表: 学生,执行index on 姓名tag xb 后,产生的索引文件是________。

A.xb.idx B.xb.cdx C.学生.cdx D.姓名.idx20.如果要计算职称为副教授以上(含副教授、教授)职工的工资总额,在下列命令中,错误的是________。

A.SUM 工资FOR 职称=’副教授’OR 职称=’教授’B.SUM ALL 工资FOR 职称=’副教授’OR 职称=’教授’C.SUM 工资FOR ’教授’ $ 职称D.SUM 工资FOR 职称=’副教授’AND 职称=’教授21.对当前已打开的表文件按数值型字段“总分”降序排序的命令是________。

A.SORT TO ON 总分B.SORT TO ZF ON 总分C.SORT TO ZF ON 总分/A D.SORT TO ZF ON 总分/D22.执行LOCATE FOR 成绩<60后,要将成绩定位在下一个成绩小于60分的记录上,应使用命令________。

A.LOCATE WHILE成绩<6 B.SKIPC.LOCATE FOR 成绩<60 D.CONTINUE23.对于入学成绩字段已建立索引,要查找入校总分在500分以上的同学,正确的是________。

A.FIND FOR入学成绩>500 B.SEEK入学成绩>500C.FIND入学成绩>500 D.LOCATE FOR 入学成绩>50024.在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的________。

A."一方"表的主索引或候选索引,"多方"表的普通索引B."一方"表的主索引,"多方"表的普通索引或候选索引C."一方"表的普通索引,"多方"表的主索引或候选索引D."一方"表的普通索引,"多方"表的候选索引或普通索引二、填空题1. 记录级有效性检查规则用于检查字段之间的逻辑关系。

2. 每个字段都必须有一个字段名来标识该字段。

3. 通用型数据类型只能用于表中字段的定义,用于存储OLE 对象。

4. SET TALK OFFSTORE 0 TO X,YDO WHILE X<=10X=X+1IF INT(X/2)<>X/2LOOPELSEY=Y+1ENDIFENDDO?”Y=” ,YSET TALK ON程序运行结果为: 5 。

5. SET TALK OFFUSE RSDA &&打开人事档案表DO WHILE .NOT.EOF()IF 性别=“男”SKIPLOOPENDIFDISPW AIT “按任意键继续显示……”SKIPENDDOUSESET TALK ONRETURN程序运行结果为:所有男同事的档案信息。

6. SET TALK OFF:X=.T.Y=0DO WHILE XY=Y+1IF MOD(Y,2)=0?"Y=",YELSE Array LOOPENDIFIF Y>=10X= .F.ENDIFENDDO三、实验题1. 建立一个学生成绩数据库xuesheng.dbc,在其中建立包括如下所示3个表文件以及相关的索引文件,并输入一定数据。

(1) 学生表xs.dbf(学号C(9),姓名C(8),性别C(2),班级C(20)),按学号字段建立索引;(2) 成绩表cj.dbf(学号C(9),课程名C(20),成绩N(5.1)),按学号+课程名字段建立索引;(3) 成绩表cjB.dbf(学号C(9),姓名C(8),班级C(20),课程名C(20),成绩N(5.1));(4) 对cj.dbf和cjB.dbf两个表中的“成绩”字段设置字段有效性规则为“成绩必须是0到100之间的实数”,默认值设置为0.0;(5) 以学号为关键字建立三个表文件之间的永久关联,并设置参照完整性规则为:插入规则“限制”,更新规则和删除规则“级联”。

2. 利用上一题建立的数据库,完成以下操作。

(1)查询并显示cjB.dbf中学生的学号和各门课程的成绩;(2)将cjB.dbf按照每门课程的成绩从大到小排序,生成排序表order1.dbf;(3)显示本次考试各门课程成绩在前两名的同学的记录,生成表cjb001.dbf;(4)在学生.dbf表中,用locate命令查找男生中的三好生;(5)在xs.dbf表中,用索引查询命令find查找并显示某个学生姓名,查找并显示入校总分大于等于500的学生;(6)在xs.dbf表中,用索引查询命令seek查找并显示某个学生姓名; 查找并显示出生年月为85年12月12日的学生; 查找并显示所有女三好生;(7)根据姓名进行模糊查找,设置精确查找,再进行查找;(8)统计学生总人和男生人数(结果放入变量zrs和lsrs中);求数学、英语和计算机的总分和平均分,将三门课的总分分别放入变量sx,yy,jsj中);再向cj表中添加两个字段总分”、“平均”。

(9)再在表中最后增加一个空记录,其中该记录的“学号”字段填入“总计”,再用replace 命令将sx,yy,jsj的值分别填入该记录的“数学”、“英语”和“计算机”字段。

相关主题