机密★启用前
2005 年 9 月全国计算机等级考试二级笔试试卷
Visual FoxPro 数据库程序设计
27
注意事项
一、考生应严格遵守考场规则,得到监考人员指令后方可作答。
二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。
三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。
四、注意字迹清楚,保持卷面整洁。
五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。
* * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * *
教育部考试中心
二 00 五年七月制
二级Visual FoxPro数据库程序设计试卷 第1页 (共6页)
全国计算机等级考试二级Visual FoxPro数据库设计
2005年9月笔试试卷
(考试时间90分钟,满分100分)
一、选择题(每小题 2分,共 70分)
(1)下列描述中正确的是( )。
A)程序设计就是编制程序
B)程序的测试必须由程序员自己去完成
C)程序经调试改错后还应进行再测试
D)程序经调试改错后不必进行再测试
(2)下列数据结构中,能用二分法进行查找的是( )。
A)顺序存储的有序线性表
B)线性链表
C)二叉链表
D)有序线性链表
(3)下列关于栈的描述中正确的是( )。
A)在栈中只能插入元素而不能删除元素
B)在栈中只能删除元素而不能插入元素
C)栈是特殊的线性表,只能在一端插入或删除元素
D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
(4)下列描述中正确的是( )。
A)一个逻辑数据结构只能有一种存储结构
B)数据的逻辑结构属于线性结构,存储结构属于非线性结构
C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
(5)下列关于软件工程的描述中正确的是( )。
A)软件工程只是解决软件项目的管理问题
B)软件工程主要解决软件产品的生产率问题
C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D)软件工程只是解决软件开发中的技术问题
(6)在软件设计中,不属于过程设计工具的是( )。
A)PDL(过程设计语言) B)PAD图
C)N-S图 D)DFD图
(7)下列描述中正确的是( )。
A)软件交付使用后还需要再进行维护
B)软件工具交付使用就不需要再进行维护
C)软件交付使用后其生命周期就结束
D)软件维护是指修复程序中被破坏的指令
(8)数据库设计的根本目标是要解决( )。
A)数据共享问题
B)数据安全问题
二级Visual FoxPro数据库程序设计试卷 第2页 (共6页)
C)大量数据存储问题
D)简化数据维护
(9)设有如下关系表,
R S T
则下列操作中正确的是( )。
A)T=R∩S B)T=R∪S
C)T=R×S D)T=R/S
(10)数据库系统的核心是( )。
A)数据模型 B)数据库管理系统
C)数据库 D)数据库管理员
(11)Visual FoxPro是一种关系型数据库管理系统,这里关系通常是指( )。
A)数据库文件(.dbc文件)
B)一个数据库中两个表之间有一定的关系
C)表文件(.dbf文件)
D)一个表文件中两条记录之间有一定的关系
(12)扩展名为mnx的文件是( )。
A)备注文件 B)项目文件
C)表单文件 D)菜单文件
(13)报表的数据源可以是( )。
A)表或视图)表或查询
C)表、查询或视图 D)表或其他报表
(14)如果添加到项目中的文件标识为“排除”,表示( )。
A)此类文件不是应用程序的一部分
B)生成应用程序时不包括此类文件
C)生成应用程序时包括此类文件,用户可以修改
D)生成应用程序时包括此类文件,用户不能修改
(15)“项目管理器”的“运行”按钮用于执行选定的文件,这些文件可以是( )。
A)查询、视图或表单 B)表单、报表和标签
C)查询、表单或程序 D)以上文件都可以
(16)允许出现重复字段值的索引是( )。
A)候选索引和主索引
B)普通索引和惟一索引
C)候选索引和惟一索引
D)普通索引和候选索引
(17)以纯文本形式保存设计结果的设计器是( )。
A)查询设计器 B)表单设计器
C)菜单设计器 D)以上三种都不是
(18)下列关于视图的描述中正确的是( )。
A)视图保存在项目文件中
A B C
1 1 2
2 2 3
AB C
3 1 3
AB C
1 1 2
2 2 3
3 1 3
二级Visual FoxPro数据库程序设计试卷 第3页 (共6页)
B)视图保存在数据库文件中
C)视图保存在表文件中
D)视图保存在视图文件中
(19)下列关于表间永久联系和关联的描述中正确的是( )。
A)永久联系中的父表一定有索引,关联中的父表不需要有索引
B)无论是永久联系还是关联,子表一定有索引
C)永久联系中子表的记录指针会随父表的记录指针的移动而移动
D)关联中父表的记录指针会随子表的记录指针的移动而移动
(20)下列关于类、对象、属性和方法的描述中错误的是( )。
A)类是对一类相似对象的描述,这些对象具有相同种类的属性和方法
B)属性用于描述对象的状态,方法用于表示对象的行为
C)基于同一类产生的两个对象可以分别设置自己的属性值
D)通过执行不同对象的同名方法,其结果必然是相同的
(21)下列Visual FoxPro表达式中,运算结果为逻辑真的是( )。
A)EMPTY(.NULL.)
B)LIKE(′xy?′、′xyz′)
C)AT(′xy′、′abcxyz′)
D)ISNULL(SPACE(0))
(22)依次执行下列命令后的输出结果是( )。
SET DATE TO YMD
SET CENTURY ON
SET CENTURY TO 19 ROLLOVER 10
SET MARK TO "."
CTOD("49-05-01")
A)49.05.01 B)1949.05.01
C)2049.05.01 D)出错
(23)假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三”(字符型,
宽度为6),在命令窗口输入并执行下列命令,
姓名=姓名-"您好"
?姓名
那么主窗口中将显示( )。
A)张三 B)张三 您好
C)张三您好 D)出错
(24)有一个学生表文件,且通过表设计器已经为该表建立了若干普通索引,其中一个索引的索引表达式为姓名字段,索引名为XM。现假设学生表已经打开,且处于当前工作区中,那么可以将上述索引设置为当前索引的命令是( )。
A)SET INDEX TO 姓名
B)SET INDEX TO XM
C)SET ORDER TO 姓名
D)SET ORDER TO XM
(25)当前打开的图书表中有字符型字段“图书号”,要求将图书号以字母A开头的图书记录全部打上删除标记,通常可以使用命令( )。
A)DELETE FOR 图书号="A"
B)DELETE WHILE 图书号="A"
二级Visual FoxPro数据库程序设计试卷 第4页 (共6页)
C)DELETE FOR 图书号="A*"
D)DELETE FOR 图书号 LIKE "A%"
(26)在Visual FoxPro中,要运行查询文件query1.qpr,可以使用命令( )。
A)DO query1 B)DO query1.qpr
C)DO QUERY query1 D)RUN query1
(27)下列程序段的输出结果是( )。
ACCEPT TO A
IF A=[123456]
S=0
ENDIF
S=1
S
RETURN
A)0 B)1
C)由A的值决定 D)程序出错
(28)如果在命令窗口输入并执行命令“LIST名称”后在主窗口中显示,
记录名 名称
1 电视机
2 计算机
3 电话线
4 电冰箱
5 电线
假定名称字段为字符型,宽度为6,那么下列程序段的输出结果是( )。
GO 2
SCAN NEXT 4 FOR LEFT(名称,2)="电"
IF RIGHT(名称,2)="线"
LOOP
ENDIF
??名称
ENDSCAN
A)电话线 B)电冰箱
C)电冰箱电线 D)电视机电冰箱
(29)~(35)题使用如下三个数据库表,
职员.dbf:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)
客户.dbf:客户号C(4),客户名C(36),地址C(36),所在城市C(36)
订单.dbf:订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2)
(29)查询金额最大的10%订单的信息,正确的SQL语句是( )。
A)SELECT * TOP 10 PERCENT FROM 订单
B)SELECT TOP 10% * FROM 订单 ORDER BY金额
C)SELECT * TOP 10 PERCENT FROM 订单 ORDER BY 金额
D)SELECT TOP 10 PERCENT * FROM 订单 ORDER BY 金额 DESC
(30)查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是( )。
A)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND
二级Visual FoxPro数据库程序设计试卷 第5页 (共6页)
AVG_金额>200
B)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND
AVG(金额)>200
C)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND
WHERE AVG(金额)>200
D)SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND
AVG_金额>200
(31)查询2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期,正确的SQL语句是( )。
A)SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户;
ON 订单.客户号=客户.客户号 WHERE 签订日期>{^2005-1-1}
B)SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户;
WHERE 订单.客户号=客户.客户号 AND 签订日期>{^2005-1-1}
C)SELECT 订单号,客户名,签订日期 FROM 订单,客户;
WHERE 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}
D)SELECT 订单号,客户名,签订日期 FROM 订单,客户;
ON 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}
(32)查询没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是( )。
A)SELECT 职员.职员号,姓名 FROM 职员 JOIN 订单;
ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING
COUNT(*)=0
B)SELECT 职员.职员号,姓名 FROM 职员 LEFT JOIN 订单;
ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING
COUNT(*)=0
C)SELECT 职员号,姓名 FROM 职员;
WHERE 职员号 NOT IN(SELECT 职员号 FROM 订单)
D)SELECT 职员.职员号,姓名 FROM 职员;
WHERE 职员.职员号 <>(SELECT 订单.职员号 FROM 订单)
(33)有如下SQL语句,
SELECT 订单号,签订日期,金额 FROM 订单,职员;
WHERE 订单.职员号=职员.职员号 AND 姓名="李二"
与如上语句功能相同的SQL语句是( )。
A)SELECT 订单号,签订日期,金额 FROM 订单;
WHERE EXISTS(SELECT * FROM 职员 WHERE 姓名="李二")
B)SELECT 订单号,签订日期,金额 FROM 订单 WHERE;
EXISTS(SELECT * FROM 职员 WHERE 职员号=订单.职员号 AND 姓名="李二
")
C)SELECT 订单号,签订日期,金额 FROM 订单;
WHERE IN (SELECT 职员号 FROM 职员 WHERE 姓名="李二")
D)SELECT 订单号,签订日期,金额 FROM 订单 WHERE IN;
(SELECT 职员号 FROM 职员 WHERE 职员号=订单.职员号 AND 姓名="李二
")
(34)从订单表中删除客户号为“1001”的订单记录,正确的SQL语句是( )。
A)DROP FROM 订单 WHERE 客户号="1001"
二级Visual FoxPro数据库程序设计试卷 第6页 (共6页)
B)DROP FROM 订单 FOR 客户号="1001"
C)DELETE FROM 订单 WHERE 客户号="1001"
D)DELETE FROM 订单 FOR 客户号="1001"
(35)将订单号为“0060”的订单金额改为169元,正确的SQL语句是( )。
A)UPDATE 订单 SET 金额=169 WHERE 订单号="0060"
B)UPDATE 订单 SET 金额WITH 169 WHERE 订单号="0060"
C)UPDATE FROM 订单 SET 金额=169 WHERE 订单号="0060"
D)UPDATE FROM 订单 SET 金额 WITH 169 WHERE 订单号="0060"
二、填空题(每空 2分,共 30分)
(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 【1】 。
(2)算法复杂度主要包括时间复杂度和 【2】 复杂度。
(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中,【3】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
(4)一棵二叉树第六层(根结点为第一层)的结点数最多为 【4】 个。
(5)数据结构分为逻辑结构和存储结构,循环队列属于 【5】 结构。
(6)在Visual FoxPro中,数据库表中不允许有重复记录是通过指定 【6】 来实现的。
(7)在Visual FoxPro中,数据库表中的通用型字段的内容将存储在 【7】 文件中。
(8)在Visual FoxPro中,可以使用 【8】 语句跳出SCAN,.,ENDSCAN 循环体外执行
ENDSCAN 后面的语句。
(9)在SQL的SELECT 查询中使用 【9】 子句消除查询结果中的重复记录。
(10)在Visual FoxPro中,如果要改变表单上表格对象中当前显示的列数,应设置表格的
【10】 属性值。
(11)在Visual FoxPro中,使用SQL的SELECT语句将查询结果存储在一个临时表中,应该使用 【11】 子句。
(12)在Visual FoxPro中,使用SQL的CREATE TABLE语句建立数据库表时,使用 【12】 子句说明主索引。
(13)在Visual FoxPro中,使用SQL的CREATE TABLE语句建立数据库表时,使用 【13】 子句说明有效性规则(域完整性规则或字段取值范围)。
(14)在SQL的SELECT语句进行分组计算查询时,可以使用 【14】 子句来去掉不满足条件的分组。
(15)设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT
语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。
SELECT 学号,姓名,性别 FROM s;
WHERE 【15】 (SELECT * FROM sc WHERE sc.学号=s.学号 AND 成绩<85)