主题:[讨论]05年4月vfp等级考试试卷与标准答案 考了的同学快来对答案
全国计算机等级考试二级笔试试卷
Visual FoxPro数据库程序设计
(考试时间90分钟,满分100分)
一、选择题((1)~(35)每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)数据的存储结构是指
A) 存储在外存中的数据B) 数据所占的存储空间量
C) 数据在计算机中的顺序存储方式D) 数据的逻辑结构在计算机中的表示
(2)下列关于栈的描述中错误的是
A)栈是先进后出的线性表B) 栈只能顺序存储
C) 栈具有记忆作用D) 对栈的插入与删除操作中,不需要改变栈底指针
(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是
A) 冒泡排序为n/2B) 冒泡排序为n
C) 快速排序为nD) 快速排序为n(n-1)/2
(4)对于长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为
A) log2nB) n/2C) nD) n+1
(5)下列对于线性链表的描述中正确的是
A)存储空间不一定是连续,且各元素的存储顺序是任意的
B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C)存储空间必须连续,且前件元素一定存储在后件元素的前面
D)存储空间必须连续,且各元素的存储顺序是任意的
(6)下列对于软件测试的描述中正确的是
A)软件测试的目的是证明程序是否正确
B)软件测试的目的是使程序运行结果正确
C)软件测试的目的是尽可能多地发现程序中的错误
D)软件测试的目的是使程序符合结构化原则
(7)为了使模块尽可能独立,要求
A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
(8)下列描述中正确的是
A) 程序就是软件
B) 软件开发不受计算机系统的限制
C) 软件既是逻辑实体,又是物理实体
D) 软件是程序、数据与相关文档的集合
(9)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指
A) 数据与程序独立存放
B) 不同的数据被存放在不同的文件中
C) 不同的数据只能被对应的应用程序所使用
D) 以上三种说法都不对
(10) 用树形结构表示实体之间联系的模型是
A) 关系模型B) 网状模型C) 层次模型D) 以上三个都是
(11) 在创建数据库表结构时,为该表指定了主索引,这属于数据完整性中的
A) 参照完整性B) 实体完整性C) 域完整性D) 用户定义完整性
(12) 在创建数据库表结构时,为该表中一些字段建立普通索引,其目的是
A) 改变表中记录的物理顺序B) 为了对表进行实体完整性约束
C) 加快数据库表的更新速度D) 加快数据库表的查询速度
(13) 数据库系统中对数据库进行管理的核心软件是
A) DBMSB) DBC) OSD) DBS
(14) 设有两个数据库表,父表和子表之间是一对多的联系,为控制子表和父表的关联,可以设置“参照完整性规则”,为此要求这两个表
A)在父表连接字段上建立普通索引,在子表连接字段上建立主索引
B)在父表连接字段上建立主索引,在子表连接字段上建立普通索引
C)在父表连接字段上不需要建立任何索引,在子表连接字段上建立普通索引
D)在父表和子表的连接字段上都要建立主索引
(15) 关系运算中的选择运算是
A)从关系中找出满足给定条件的元组的操作
B)从关系中选择若干个属性组成新的关系的操作
C)从关系中选择满足给定条件的属性的操作
D)A和B都对
(16) 在指定字段或表达式中不允许出现重复值的索引是
A) 惟一索引B) 惟一索引和候选索引
C) 惟一索引和主索引D) 主索引和候选索引
(17) 在Visual FoxPro中,以下关于删除记录的描述,正确的是
A)SQL的DELETE命令在删除数据库表中的记录之前,不需要用USE命令打开表
B)SQL的DELETE命令和传统Visual FoxPro的DELETE命令在删除数据库表中的记录之前,都需要用USE命令打开表 C)SQL的DELETE命令可以物理地删除数据库表中的记录,而传统Visual FoxPro的DELETE命令只能逻辑删除数据库表中的记录
D)传统Visual FoxPro的DELETE命令在删除数据库表中的记录之前不需要用USE命令打开表
(18) 在Visual FoxPro中,如果希望跳出SCAN……ENDSCAN循环体、执行ENDSCAN后面的语句,应使用
A) LOOP语句B) EXIT语句C) BREAK语句D)RETURN语句
(19) 打开数据库abc的正确命令是
A)OPEN DATABASE abcB)USE abc
C)USE DATABASE abcC)OPEN abc
(20) 在Visual FoxPro中,下列关于表的叙述正确的是
A)在数据库表和自由表中,都能给字段定义有效性规则和默认值
B)在自由表中,能给字段定义有效性规则和默认值
C)在数据库表中,能给字段定义有效性规则和默认值
D)在数据库表和自由表中,都不能给字段定义有效性规则和默认值
(21) Visual FoxPro的“参照完整性”中“插入规则”包括的选择是
A) 级联和忽略B) 级联和删除C)级联和限制D) 限制和忽略
(22) 在Visual FoxPro中,关于查询和视图的正确描述是
A)查询是一个预先定义好的SQL SELECT语句文件
B)视图是一个预先定义好的SQL SELECT语句文件
C)查询和视图是同一种文件,只是名称不同
D)查询和视图都是一个存储数据的表
(23) 在Visual FoxPro中,以下关于视图描述中错误的是
A) 通过视图可以对表进行查询B) 通过视图可以对表进行更新
C)视图是一个虚表D) 视图就是一种查询
(24) 使用SQL语句将学生表S中年龄(AGE)大于30岁的记录删除,正确的命令是
A) DELETE FOR AGE>30B) DELETE FROM S WHERE AGE>30
C) DELETE S FOR AGE>30D) DELETE S WHERE AGE>30
(25) 在Visual FoxPro中,使用LOCATE FOR <expL>命令按条件查找记录,当查找到满足条件的第一条记录后,如果还需要查找下一条满足条件的记录,应使用
A)再次使用LOCATE FOR <expL>命令
B)SKIP命令
C)CONTINUE命令
D)GO命令
(26) 在Visual FoxPro中,删除数据库表S的SQL命令是
A) DROP TABLE SB) DELETE TABLE S
C) DELETE TABLE S.DBFD) ERASE TABLE S
(27) 下列表达式中,表达式返回结果为.F.的是
A) AT(“A”,”BCD”)B) “[信息]”$“管理信息系统”
C) ISNULL(.NULL.)D) SUBSTR(“计算机技术”,3,2)
(28) 使用SQL语句向学生表S(SNO,SN,AGE,SEX)中添加一条新记录,字段学号(SNO)、姓名(SN)、性别(SEX)、年龄(AGE)的值分别为0401、王芳、女、18,正确的命令是
A)APPEND INTO S (SNO,SN,SXE,AGE) valueS (‘0401’,’王芳’,’女’,18)
B)APPEND S valueS (‘0401’,’王芳’,’女’,18)
C)INSERT INTO S (SNO,SN,SEX,AGE) valueS (‘0401’,’王芳’,’女’,18)
D)INSERT S valueS (‘0401’,’王芳’,18,’女’)
(29) 假设某个表单中有一个命令按钮cmdClose,为了实现当用户单击此按钮时能够关闭该表单的功能,应在该按钮的Click事件中写入语句
A) ThisForm.CloseB) ThisForm.Erase
C) ThisForm.ReleaseD) ThisForm.Return
(30) 在SQL的SELECT查询结果中,消除重复记录的方法是
A) 通过指定主关系键B) 通过指定惟一索引
C) 使用DISTINCTD)使用HAVING子句
(31) 在Visual FoxPro中,以下有关SQL的SELECT语句的叙述中,错误的是
A)SELECT子句中可以包含表中的列和表达式
B)SELECT子句中可以使用别名
C)SELECT子句规定了结果集中的列顺序
D)SELECT子句中列的顺序应该与表中列的顺序一致
(32) 下列关于SQL中HAVING子句的描述,错误的是
A)HAVING子句必须与GROUP BY子句同时使用
B)HAVING子句与GROUP BY子句无关
C)使用WHERE子句的同时可以使用HAVING子句
D)使用HAVING子句的作用是限定分组的条件
(33) 在Visual FoxPro中,如果在表之间的联系中设置了参照完整性规则,并在删除规则中选择“限制”,则当删除父表中的记录时,系统反应是
A) 不做参照完整性检查B) 不准删除父表中的记录
C) 自动删除子表中所有相关的记录D) 若子表中有相关记录,则禁止删除父表中记录
第(34)——(35)题使用如下三个数据库表
学生表:S(学号,姓名,性别,出生日期,院系)
课程表:C(课程号,课程名,学时)
选课成绩表:SC(学号,课程号,成绩)
在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。
(34) 用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是
A)SELECT 学号,姓名 FROM S WHERE NOT EXISTS;
(SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩<85)
B)SELECT 学号,姓名 FROM S WHERE NOT EXISTS;
(SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩>=85)
C)SELECT 学号,姓名 FROM S,SC;
WHERE S.学号=SC.学号 AND 成绩>=85
D)SELECT 学号,姓名 FROM S,SC;
WHERE S.学号=SC.学号 AND ALL 成绩>=85
(35) 用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是
A)SELECT S.学号,姓名,平均成绩 FROM S,SC;
WHERE S.学号=SC.学号;
GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 平均成绩 DESC
B)SELECT 学号,姓名,AVG(成绩) FROM S,SC;
WHERE S.学号=SC.学号AND COUNT(*)>=5;
GROUP BY 学号 ORDER BY 3 DESC
C)SELECT S.学号,姓名,AVG(成绩) 平均成绩 FROM S,SC;
WHERE S.学号=SC.学号AND COUNT(*)>=5;
GROUP BY S.学号 ORDER BY 平均成绩 DESC
D)SELECT S.学号,姓名,AVG(成绩) 平均成绩 FROM S,SC;
WHERE S.学号=SC.学号;
GROUP BY S.学号 HAVING COUNT(*)>=5 ORDER BY 3 DESC
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。
(1) 某二*树中度为2的结点有18个,则该二*树中有 【1】 个叶子结点。
(2) 在面向对象方法中,类的实例称为 【2】 。
(3) 诊断和改正程序中错误的工作通常称为 【3】 。
(4) 在关系数据库中,把数据表示成二维表,每一个二维表称为 【4】 。
(5) 问题处理方案的正确而完整的描述称为 【5】 。
(6) 在奥运会游泳比赛中,一个游泳运动员可以参加多项比赛,一个游泳比赛项目可以有多个运动员参加,游泳运动员与游泳比赛项目两个实体之间的联系是 【6】 联系。
(7) 执行命令A=2005/4/2之后,内存变量A的数据类型是 【7】 型。
(8) 如下程序显示的结果是 【8】 。
s=1
i=0
do while i<8
s=s+i
i=i+2
enddo
?s
(9) 在Visual FoxPro中,可以在表设计器中为字段设置默认值的表是 【9】 表。
(10) Visual FoxPro中数据库文件的扩展名(后缀)是 【10】 。
(11)——(13)题使用如下三个数据库表:
金牌榜.DBF国家代码 C(3),金牌数 I,银牌数 I,铜牌数 I
获奖牌情况.DBF国家代码 C(3),运动员名称 C(20),项目名称 C(3),名次 I
国家.DBF国家代码 C(3),国家名称 C(20)
“金牌榜”表中一个国家一条记录;“获奖牌情况”表中每个项目中的各个名次都有一条记录,名次只取前3名,例如:
国家代码运动员名称项目名称名次
001刘翔男子110米栏1
001李小鹏男子双杠3
002费尔普斯游泳男子200米自由泳3
002费尔普斯游泳男子400米个人混合泳1
001郭晶晶女子三米板跳板1
001李婷/孙甜甜网球女子双打1
(11) 为表“金牌榜”增加一个字段“奖牌总数”,同时为该字段设置有效性规则:奖牌总数>=0,应使用SQL语句
ALTER TABLE 金牌榜 【11】 奖牌总数I 【12】 奖牌总数>=0
(12) 使用“获奖牌情况”和“国家”两个表查询“中国”所获金牌(名次为1)的数量,应使用SQL语句
SELECT COUNT(*) FROM 国家 INNER JOIN 获奖牌情况;
【13】 国家.国家代码=获奖牌情况.国家代码;
WHERE 国家.国家名称=“中国” AND 名次=1
(13) 将金牌榜.DBF中的新增加的字段奖牌总数设置为金牌数、银牌数、铜牌数三项的和,应使用SQL语句
【11】 金牌榜 【10】 奖牌总数=金牌数+银牌数+铜牌数
参考答案:
(1)D(2)B(3)D(4)C(5)A
(6)C(7)B(8)D(9)D(10)C
(11)B(12)D(13)A(14)B(15)A
(16)D(17)A(18)B(19)A(20)C
(21)D(22)A(23)D(24)B(25)C
(26)A(27)B(28)C(29)C(30)C
(31)D(32)B(33)D(34)A(35)D
【1】19
【2】对象
【3】程序调试
【4】关系
【5】算法
【6】多对多
【7】数值
【8】13
【9】数据库表
【10】.DBC
【11】ADD
【12】CHECK
【13】ON
【14】UPDATE
【15】SET