机密★启用前
2006 年 9 月全国计算机等级考试二级笔试试卷
Visual FoxPro 数据库程序设计
27
注意事项
一、考生应严格遵守考场规则,得到监考人员指令后方可作答。
二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。
三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。
四、注意字迹清楚,保持卷面整洁。
五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。
* * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * *
教育部考试中心
二 00 六年七月制
二级Visual FoxPro数据库程序设计试卷 第1页 (共6页)
全国计算机等级考试二级Visual FoxPro数据库设计
2006年9月笔试试卷
(考试时间90分钟,满分100分)
一、选择题(每小题 2分,共 70分)
(1)下列选项中不符合良好程序设计风格的是( )。
A)源程序要文档化
B)数据说明的次序要规范化
C)避免滥用goto语句
D)模块设计要保证高耦合、高内聚
(2)从工程管理角度看,软件设计一般分为两步完成,它们是( )。
A)概要设计与详细设计
B)数据设计与接口设计
C)软件结构设计与数据设计
D)过程设计与数据设计
(3)下列选项中不属于软件生命周期开发阶段任务的是( )。
A)软件测试 B)概要设计
C)软件维护 D)详细设计
(4)在数据库系统中,用户所见的数据模式为( )。
A)概念模式)外模式
C)内模式)物理模式
(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和( )。
A)编码设计 B)测试阶段
C)运行阶段 D)物理设计
(6)设有如下三个关系表,
R S T
下列操作中正确的是( )。
A)T=R∩S B)T=R∪S
C)T=R×S D)T=R/S
(7)下列描述中正确的是( )。
A)一个算法的空间复杂度大,则其时间复杂度也必定大
B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间复杂度必定小
D)上述三种说法都不对
(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。
A)63 B)64
C)6 D)7
B C
1 3
A B C
m 1 3
n 1 3
A
m
n
二级Visual FoxPro数据库程序设计试卷 第2页 (共6页)
(9)数据库技术的根本目标是要解决数据的( )。
A)存储问题 B)共享问题
C)安全问题 D)保护问题
(10)对下列二叉树进行中序遍历的结果是( )。
A)ACBDFEG B)ACBDFGE
C)ABDCGEF D)FCADBEG
(11)下列程序段执行以后,内存变量A和B的值是( )。
CLEAR
A=10
B=20
SET UDFPARMS TO REFERENCE
DO SQ WITH(A),(B) &&参数A是值传递,B是值传递
?A,B
PROCEDURE SQ
PARAMETERS X1,Y1
X1=X1*X1
Y1=2*X1
ENDPROC
A)10 200 B)100 200
C)100 20 D)10 20
(12)从内存中清除内存变量的命令是( )。
A)Release B)Delete
C)Erase D)Destroy
(13)操作对象只能是一个表的关系运算是( )。
A)连接和选择 B)连接和投影
C)选择和投影 D)自然连接和选择
(14)在“项目管理器”下为项目建立一个新报表,应该使用的选项卡是( )。
A)数据)文档
C)类)代码
(15)如果有定义LOCAL data,data的初值是( )。
A)整数0 B)不定值
C)逻辑真 D)逻辑假
(16)扩展名为.pjx的文件是( )。
A)数据库表文件 B)表单文件
C)数据库文件 D)项目文件
F
C
A D
B
E
G
二级Visual FoxPro数据库程序设计试卷 第3页 (共6页)
(17)下列程序段执行以后,内存变量y的值是( )。
x=34567
y=0
DO WHILE x>0
y=x%10+y*10
x=int(x/10)
ENDDO
A)3456 B)34567
C)7654 D)76543
(18)下列程序段中与上题的程序段对y的计算结果相同的是( )。
A)x=34567 B)x=34567
y=0 y=0
flag=.T,flag=.T,
DO WHILE flag DO WHILE flag
y=x%10+y*10 y=x%10+y*10
x=int(x/10) x=int(x/10)
IF=x>0 IF x=0
flag=.F,flag=.F,
ENDIF ENDIF
ENDDO ENDDO
C)x=34567 D)x=34567
y=0 y=0
flag=.T,flag=.T,
DO WHILE !flag DO WHILE !flag
y=x%10+y*10 y=x%10+y*10
x=int(x/10) x=int(x/10)
IF x>0 IF x=0
flag=.F,flag=.T,
ENDIF ENDIF
ENDDO ENDDO
(19)在SQL SELECT语句的ORDER BY短语中如果指定了多个字段,则( )。
A)无法进行排序
B)只按第一个字段排序
C)按从左至右依次排序
D)按字段排序优先级依次排序
(20)如果运行一个表单,下列事件首先被触发的是( )。
A)Load B)Error
C)Init D)Click
(21)在Visual FoxPro中,下列描述正确的是( )。
A)关系也被称作表单
B)数据库文件不存储用户数据
C)表文件的扩展名是.dbc
D)多个表存储在一个物理文件中
(22)设X=6<5,命令?VARTYPE(X)的输出是( )。
二级Visual FoxPro数据库程序设计试卷 第4页 (共6页)
A)N B)C
C)L D)出错
(23)假设表单上有一选项组:⊙男○女,如果选择第2个按钮“女”,则该选项组Value
属性的值为( )。
A).F,B)女
C)2 D)女 或 2
(24)假设表单MyForm隐藏着,让该表单在屏幕上显示的命令是( )。
A)MyForm.List
B)MyForm.Display
C)MyForm.Show
D)MyForm.ShowForm
(25)~(33)题使用如下数据表,
当前盘当前目录下有数据库“大奖赛.dbc”,其中有数据库表“歌手.dbf”、“评分.dbf”
“歌手”表,
歌手号 姓名
1001 王蓉
2001 许巍
3001 周杰伦
4001 林俊杰

“评分” 表,
歌手号 分数 评委号
1001 9.8 101
1001 9.6 102
1001 9.7 103
1001 9.8 104

(25)为“歌手”表增加一个字段“最后得分”的SQL语句是( )。
A)ALTER TABLE 歌手 ADD 最后得分 F(6,2)
B)ALTER DBF 歌手 ADD 最后得分 F6,2
C)CHANGE TABLE 歌手 ADD 最后得分 F(6,2)
D)CHANGE TABLE 歌手 INSERT 最后得分 F6,2
(26)插入一条记录到“评分”表中,歌手号、分数和评委号分别是“1001”、9.9和“105”,
正确的SQL语句是( )。
A)INSERT VALUES("1001",9.9,"105")INTO评分(歌手号,分数,评委号)
B)INSERT TO 评分(歌手号,分数,评委号)VALUES("1001",9.9,"105")
C)INSERT INTO评分(歌手号,分数,评委号)VALUES("1001",9.9,"105")
D)INSERT VALUES("1001",9.9,"105")TO评分(歌手号,分数,评委号)
(27)假设每个歌手的“最后得分”的计算方法是:去掉一个最高分和一个最低分,取剩下分数的平均分。根据“评分”表求每个歌手的“最后得分”,并存储于表TEMP中,
表TEMP中有两个字段:“歌手号”和“最后得分”,并且按最后得分降序排列,生成表TEMP的SQL语句是( )。
A)SELECT歌手号,(COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2) 最后得分;
FROM评分INTO DBF TEMP GROUP BY 歌手号ORDER BY最后得分DESC
二级Visual FoxPro数据库程序设计试卷 第5页 (共6页)
B)SELECT歌手号,(COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2) 最后得分;
FROM评分INTO DBF TEMP GROUP BY 评委号ORDER BY最后得分DESC
C)SELECT歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2) 最后得分;
FROM评分INTO DBF TEMP GROUP BY 评委号ORDER BY最后得分DESC
D)SELECT歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2) 最后得分;
FROM评分INTO DBF TEMP GROUP BY 歌手号ORDER BY最后得分DESC
(28)与“SELECT * FROM歌手WHERE NOT(最后得分>9.00 OR 最后得分<8.00)”等价的语句是( )。
A)SELECT * FROM 歌手WHERE 最后得分BETWEEN 9.00 AND 8.00
B)SELECT * FROM 歌手WHERE 最后得分>=8.00 AND 最后得分<=9.00
C)SELECT * FROM 歌手WHERE 最后得分>9.00 OR 最后得分<8.00
D)SELECT * FROM 歌手WHERE 最后得分<=8.00 AND最后得分>=9.00
(29)为“评分”表的“分数”字段添加有效性规则:“分数必须大于等于0并且小于等于
10”,正确的SQL语句是( )。
A)CHANGE TABLE 评分 ALTER 分数 SET CHECK 分数>=0 AND 分数<=10
B)ALTER TABLE 评分 ALTER 分数 SET CHECK 分数>=0 AND 分数<=10
C)ALTER TABLE 评分 ALTER 分数 CHECK 分数>=0 AND 分数<=10
D)CHANGE TABLE 评分 ALTER 分数 SET CHECK 分数>=0 OR 分数<=10
(30)根据“歌手”表建立视图myview,视图中含有“歌手号”左边第一位是“1”的所有记录,正确的SQL语句是( )。
A)CREATE VIEW myview AS SELECT * FROM 歌手 WHERE LEFT(歌手号,1)="1"
B)CREATE VIEW myview AS SELECT * FROM 歌手 WHERE LIKE("1",歌手号)
C)CREATE VIEW myview SELECT * FROM 歌手 WHERE LEFT(歌手号,1)="1"
D)CREATE VIEW myview SELECT * FROM 歌手 WHERE LIKE("1",歌手号)
(31)删除视图myview的命令是( )。
A)DELETE myview VIEW
B)DELETE myview
C)DROP myview VIEW
D)DROP VIEW myview
(32)假设temp.dbf数据表中有两个字段“歌手号”和“最后得分”,下面程序段的功能是:将temp.dbf中歌手的“最后得分”填入“歌手”表对应歌手的“最后得分”字段中(假设已增加了该字段),在下划线处应该填写的SQL语句是( )。
USE 歌手
DO WHILE,NOT,EOF()
_
REPLACE 歌手.最后得分 WITH a[2]
SKIP
ENDDO
A)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 TO ARRAY a
B)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 INTO ARRAY a
C)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 TO FILE a
D)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 INTO FILE a
(33)与“SELECT DISTINCT歌手号FROM歌手WHERE 最后得分>=ALL;
(SELECT 最后得分FROM 歌手WHERE SUBSTR(歌手号,1,1)="2")”
二级Visual FoxPro数据库程序设计试卷 第6页 (共6页)
等价的SQL语句是( )。
A)SELECT DISTINCT 歌手号 FROM 歌手WHERE 最后得分>=;
(SELECT MAX(最后得分)FROM 歌手WHERE SUBSTR(歌手号,1,1)="2")
B)SELECT DISTINCT 歌手号 FROM 歌手WHERE 最后得分>=;
(SELECT MIN(最后得分)FROM 歌手WHERE SUBSTR(歌手号,1,1)="2")
C)SELECT DISTINCT 歌手号 FROM 歌手WHERE 最后得分>=ANY;
(SELECT 最后得分FROM 歌手WHERE SUBSTR(歌手号,1,1)="2")
D)SELECT DISTINCT 歌手号 FROM 歌手WHERE 最后得分>=SOME;
(SELECT 最后得分FROM 歌手WHERE SUBSTR(歌手号,1,1)="2")
(34)下列关于“视图”的描述中正确的是( )。
A)视图保存在项目文件中
B)视图保存在数据库中
C)视图保存在表文件中
D)视图保存在视图文件中
(35)关闭表单的程序代码是ThisForm.Release,Release是( )。
A)表单对象的标题
B)表单对象的属性
C)表单对象的事件
D)表单对象的方法
二、填空题(每空 2分,共 30分)
(1)下列软件系统结构图的宽度为 【1】 。
(2) 【2】 的任务是诊断和改正程序中的错误。
(3)一个关系表的行称为 【3】 。
(4)按“先进后出”原则组织数据的数据结构是 【4】 。
(5)数据结构分为线性结构和非线性结构,带链的队列属于 【5】 。
(6)可以在项目管理器的 【6】 选项卡下建立命令文件(程序)。
(7)在Visual FoxPro中所谓自由表就是那些不属于任何 【7】 的表。
(8)不带条件的DELETE命令(非SQL命令)将删除指定表的 【8】 记录。
(9)在SQL SELECT语句中为了将查询结果存储到永久表应该使用 【9】 短语。
(10)在SQL语句中空值用 【10】 表示。
(11)在Visual FoxPro中视图可以分为本地视图和 【11】 视图。
(12)在Visual FoxPro中为了通过视图修改基本表中的数据,需要在视图设计器的 【12】
选项卡下设置有关属性。
(13)在表单设计器中可以通过 【13】 工具栏中的工具快速对齐表单中的控件。
(14)为了在报表中插入一个文字说明,应该插入一个 【14】 控件。
(15)下列命令将“产品”表的“名称”字段名修改为“产品名称”,
ALTER TABLE 产品 RENAME 【15】 名称TO产品名称
A
B
C
E
F
D