• 沒有找到結果。

2007 年 4 月全国计算机等级考试二级笔试试卷 Visual FoxPro 数据库程序设计

一、单项选择题

1.下列叙述中正确的是( )。

A.算法的效率只与问题的规模有关,而与数据的存储结构无关 B.算法的时间复杂度是指执行算法所需要的计算工作量 C.数据的逻辑结构与存储结构是一一对应的

D.算法的时间复杂度与空间复杂度一定相关

解析:通常用时间复杂度和空间复杂度来衡量算法效率,算法的时间复杂度是指执行算 法所需要的计算工作量;算法所执行的基本运算次数与问题的规模有关,而一个算法的空间复 杂度,一般是指执行这个算法所需要的内存空间;一般来说,一种数据的逻辑结构根据需要可 以表示成多种存储结构。

答案:B

2.在结构化程序设计中,模块划分的原则是( )。

A.各模块应包括尽量多的功能 B.各模块的规模应尽量大

C.各模块之间的联系应尽量紧密 D.模块内具有高内聚度,模块间具有低耦合度

解析:软件设计中通常采用结构化设计方法,模块的独立程度是评价设计好坏的重要度 量标准。耦合性与内聚性是模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼 此结合的紧密程度的度量;耦合性是模块间互相连接的紧密程度的度量。一般较优秀的软件设 计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提 高模块的独立性。

答案:D

3.下列叙述中正确的是( )。

A.软件测试的主要目的是发现程序中的错误 B.软件测试的主要目的是确定程序中错误的位置

C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作 D.软件测试是证明软件没有错误

解析:关于软件测试的目的,Grenford J.Myers 在 The Art of Software Testing 一书中给出了 深刻的阐述:软件测试是为了发现错误而执行程序的过程;一个好的测试用例是指很可能找到 迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。整体 来说,软件测试的目的就是尽可能多地发现程序中的错误。

答案:A

4.下面选项中不属于面向对象程序设计特征的是( )。

A.继承性 B.多态性 C.类比性 D.封装性

解析:对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。对象 之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。面向对象技术有 3 个重要特性:封装性、继承性和多态性。

答案:C

5.下列对队列的叙述正确的是( )。

A.队列属于非线性表 B.队列按“先进后出”原则组织数据

C.队列在队尾删除数据 D.队列按“先进先出”原则组织数据

解析:队列是指允许在一端进行插入,而在另一端进行删除的线性表,允许插入的一端 称为队尾,允许删除的一端称为队头。它又称为“先进先出”或“后进后出”的线性表,体现 了“先来先服务”的原则。

答案:D

6.对下列二叉树进行前序遍历的结果为( )。

A.DYBEAFCZX B.YDEBFZXCA C.ABDYECFXZ D.ABCDEFXYZ A

B C

D E F X

Y Z

解析:在先左后右的原则下,根据访问根节点的次序,二叉树的遍历可以分为 3 种:前 序遍历、中序遍历和后序遍历。

前序遍历是指在访问根节点、遍历左子树与遍历右子树这三者中,首先访问根节点,然 后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根节点,然后遍历左子 树,最后遍历右子树。

答案:C

7.某二叉树中有 n 个度为 2 的节点,则该二叉树中的叶子节点数为( )。 A.n+1 B.n-1 C.2n D.n/2

解析:二叉树的性质 3:在任意一棵二叉树中,度为 0 的节点(即叶子节点)总是比度为 2 的节点多一个。本题中度为 2 的节点数为 n,故叶子节点数为 n+1 个。

答案:A

8.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是( )。 A.并 B.交 C.投影 D.笛卡儿乘积 解析:略。

答案:B

9.在 E-R 图中,用来表示实体之间联系的图形是( )。

A.矩形 B.椭圆形 C.菱形 D.平行四边形

解析:E-R 图中用矩形表示实体集,用椭圆表示属性,用菱形表示联系。

答案:C

10.下列叙述中错误的是( )。

A.在数据库系统中,数据的物理结构必须与逻辑结构一致 B.数据库技术的根本目标是要解决数据的共享问题

C.数据库设计是指在已有数据库管理系统的基础上建立数据库 D.数据库系统需要操作系统的支持

解析:数据库系统具有数据独立性的特点,数据独立性一般分为物理独立性与逻辑独立 性两级。

答案:A

11.以下不属于 SQL 数据操作命令的是( )。

A.MODIFY B.INSERT C.UPDATE D.DELETE

解析:SQL 数据操作命令有数据查询(SELECT)、数据定义(CREATE、DROP、ALTER)、

数据操纵(INSERT、UPDATE、ALTER)、数据控制(GRANT、REVOKE)。

答案:A

12.在关系模型中,每个关系模式中的关键字( )。 A.可由多个任意属性组成

B.最多由一个属性组成

C.可由一个或多个其值能唯一标识关系中任何元组的属性组成 D.以上说法都不对

解析:关系中的码在数据表中一般叫做关键字,主码叫做主关键字。因为在数据表中,

属性叫做字段,所以关键字就是能够唯一标识一个元组的字段或字段组合。

答案:C

13.Visual FoxPro 是一种( )。

A.数据库系统 B.数据库管理系统 C.数据库 D.数据库应用系统

解析:Visual FoxPro 是目前微机上优秀的数据库管理系统之一。数据库管理系统是数据 库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护 和数据服务等。数据库管理系统是数据库系统的核心。

答案:B

14.在 Visual FoxPro 中调用表单文件 mf1 的正确命令是( )。

A.DO mf1 B.DO FROM mf1 C.DO FORM mf1 D.RUN mf1 解析:调用表单语句是运行一个由表单设计器设计的表单文件。

语法:DO FORM 表单文件名[NAME 变量名[LINKED]]。

表单文件名即是要运行的由表单设计器设计的表单文件名称。

答案:C

15.SQL 的 SELECT 语句中,“HAVING <条件表达式>”用来筛选满足条件的( )。

A.列 B.行 C.关系 D.分组

解析:SQL 的核心是查询。SQL 的查询命令也称为 SELECT 命令。它的基本形式由 SELECT-FROM-WHERE 查询块组成。其中 HAVING 短语必须跟随 GROUP BY 使用,它用 来限定分组必须满足的条件。

答案:D

16.设有关系 SC(SNO,CNO,GRADE),其中 SNO.CNO 分别表示学号和课程号(两者均 为字符型),GRADE 表示成绩(数值型)。若要把学号为“S101”的同学,选修课程号为“C11”,

成绩为 98 分的记录插入到表 SC 中,正确的语句是( )。

A.INSERT INTO SC(SNO,CNO,GRADE) VALUES('S101','C11','98') B.INSERT INTO SC(SNO,CNO,GRADE) VALUES(S101,C11,98) C.INSERT ('S101','C11','98') INTO SC

D.INSERT INTO SC VALUES('S101','C11',98)

解析:INSERT-SQL 命令格式:INSERT INTO 表名[(字段名 1[,字段名 2,...])] VALUES(表 达式 1[,表达式 2,...])。

答案:D

17.以下有关 SELECT 短语的叙述中错误的是( )。 A.SELECT 短语中可以使用别名

B.SELECT 短语中只能包含表中的列及其构成的表达式 C.SELECT 短语规定了结果集中的列顺序

D.如果 FROM 短语引用的两个表有同名的列,则 SELECT 短语引用它们时必须使用表名前缀加 以限定

解析:SELECT 查询命令的使用非常灵活,用它可以构造各种各样的查询。在 SELECT 子句中可以包含表中的列和表达式,也可以使用别名。在 SELECT 子句中规定了结果集中的 列顺序,列的顺序可以与表中列的顺序相同,也可以不同。

答案:B

18.在 SQL 语句中,与表达式“年龄 BETWEEN 12 AND 46”功能相同的表达式是( )。 A.年龄>=12 OR <=46 B.年龄>=12 AND <=46

C.年龄>=12 OR 年龄<=46 D.年龄>=12 AND 年龄<=46

解析:本题中 BETWEEN…AND… 的意思是“在……和……之间”,这个查询条件等价 于:年龄>=12 AND 年龄<=46 。

答案:D

19.在 SELECT 语句中,以下有关 HAVING 短语的正确叙述是( )。 A.HAVING 短语必须与 GROUP BY 短语同时使用

B.使用 HAVING 短语的同时不能使用 WHERE 短语 C.HAVING 短语可以在任意的一个位置出现 D.HAVING 短语与 WHERE 短语功能相同

解析:HAVING 子句必须跟随 GROUP BY 子句使用,它用来限定分组必须满足的条件,

不能单独使用。HAVING 子句和 WHERE 子句不矛盾,在查询中先用 WHERE 子句限定元 组,然后进行分组,最后再用 HAVING 子句限定分组。

答案:A

20.在 SQL 的 SELECT 查询的结果中,消除重复记录的方法是( )。

A.通过指定主索引实现 B.通过指定唯一索引实现

C.使用 DISTINCT 短语实现 D.使用 WHERE 短语实现

解析:SELECT 子句中 ALL 表示选出的记录中包括重复记录,这是默认值;DISTINCT 则 表示选出的记录中不包括重复记录。

答案:C

21.在 Visual FoxPro 中,假定数据库表 S(学号,姓名,性别,年龄)和 SC(学号,课程号,成绩) 之间使用“学号”建立了表之间的永久联系,在参照完整性的更新规则、删除规则和插入规则 中选择设置了“限制”。如果表 S 所有的记录在表 SC 中都有相关联的记录,则( )。

A.允许修改表 S 中的学号字段值 B.允许删除表 S 中的记录 C.不允许修改表 S 中的学号字段值 D.不允许在表 S 中增加新的记录

解析:选择“限制”,若子表中有相关的记录,则禁止修改父表中的连接字段值。

答案:C

22.在 Visual FoxPro 中,对于字段值为空值(NULL)叙述正确的是( )。 A.空值等同于空字符串 B.空值表示字段还没有确定值

C.不支持字段值为空值 D.空值等同于数值 0

解析:NULL 值表示无明确的值,不同于零、空串或空格。

答案:B

23.在 Visual FoxPro 中,如果希望内存变量只能在本模块(过程)中使用,不能在上层 或下层模块中使用,说明该种内存变量的命令是( )。

A.PRIVATE B.LOCAL

C.PUBLIC D.不用说明,在程序中直接使用

解析:在 Visual FoxPro 中,可以使用 LOCAL、PRIVATE 和 PUBLIC 命令强制规定变 量的作用范围。

LOCAL 用于定义局部变量,局部变量只能在创建它们的过程中使用和修改,不能被更高 层或更低层的过程访问。

答案:B

24.在 Visual FoxPro 中,下面关于索引的正确描述是( )。 A.当数据库表建立索引以后,表中的记录的物理顺序将被改变 B.索引的数据将与表的数据存储在一个物理文件中

C.建立索引是创建一个索引文件,该文件包含有指向表记录的指针 D.使用索引可以加快对表的更新操作

解析:Visual FoxPro 索引是由指针构成的文件,这些指针逻辑上按照索引关键字值进行

解析:Visual FoxPro 索引是由指针构成的文件,这些指针逻辑上按照索引关键字值进行