1、姓名:_ 学号:_ 班级:_ 二级 VF 真题 2011 年 9 月一、选择题(每小题 2 分,共 70 分) 下列各题A、B、C、D 四个选项中,只有一个选项是正确的。1. 下列叙述中正确的是( )。A: 算法就是程序B: 设计算法时只需要考虑数据结构的设计C: 设计算法时只需要考虑结果的可靠性D: 以上三种说法都不对2. 下列关于线性链表的叙述中,正确的是( )。A: 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B: 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C: 进行插入与删除时,不需要移动表中的元素D: 以上三种说法都不对3. 下列关于二叉
2、树的叙述中,正确的是( )。A: 叶子结点总是比度为 2 的结点少一个B: 叶子结点总是比度为 2 的结点多一个C: 叶子结点数是度为 2 的结点数的两倍D: 度为 2 的结点数是度为 1 的结点数的两倍4. 软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。A: 学生成绩管理系统B: C 语言编译程序C: UNIX 操作系统D: 数据库管理系统5. 某系统总体结构图如下图所示:5.A: 7B: 6C: 3D: 26. 程序调试的任务是( )。A: 设计测试用例B: 验证程序的正确性C: 发现程序中的错误D: 诊断和改正程序中的错误7. 下列关于数据库设
3、计的叙述中,正确的是( )。A: 在需求分析阶段建立数据字典B: 在概念设计阶段建立数据字典C: 在逻辑设计阶段建立数据字典D: 在物理设计阶段建立数据字典8. 数据库系统的三级模式不包括( )。A: 概念模式B: 内模式C: 外模式D: 数据模式9. 有三个关系 R、S 和 T 如下:9.A: 自然连接B: 差C: 交D: 并10. 下列选项中属于面向对象设计方法主要特征的是( )。A: 继承B: 自顶向下C: 模块化D: 逐步求精11. 在创建数据库表结构时,为了同时定义实体完整性可以通过指定哪类索引来实现( )。A: 惟一索引B: 主索引C: 复合索引D: 普通索引12. 关系运算中选择
4、某些列形成新的关系的运算是( )。A: 选择运算B: 投影运算C: 交运算D: 除运算13. 在数据库中建立索引的目的是( )。A: 节省存储空间B: 提高查询速度C: 提高查询和更新速度D: 提高更新速度14. 假设变量 a 的内容是“计算机软件工程师”,变量 b 的内容是“数据库管理员”,表达式的结果为“数据库工程师”的是( )。A: left(b,6)-right(a,6)B: substr(b,1,3)-substr(a,6,3)C: A 和 B 都是D: A 和 B 都不是( )。15. SQL 查询命令的结构是 SELECT.FROM.WHERE.GROUP BY.HAVING.O
5、RDERBY.,其中指定查询条件的短语是( )。A: SELECTB: FROMC: WHERED: ORDER BY16. SQL 查询命令的结构是 SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY.,其中 HAVING 必须配合使用的短语是( )。A: FROMB: GROUP BYC: WHERED: ORDER BY17. 如果在 SQL 查询的 SELECT 短语中使用 TOP,则应该配合使用( )。A: HAVING 短语B: GROU BY 短语C: WHERE 短语D: ORDER BY 短语18. 删除表 S 中字段 C 的 SQL 命令是
6、( )。A: ALTER TABLE s DELETE cB: ALTER TABLE s DROP cC: DELETE TABLE s DELETE cD: DELETE TABLE s DROP c19. 在 Visual FoxPro 中,如下描述正确的是( )。A: 对表的所有操作,都不需要使用 USE 命令先打开表B: 所有 SQL 命令对表的所有操作都不需使用 USE 命令先打开表C: 部分 SQL 命令对表的所有操作都不需使用 USE 命令先打开表D: 传统的 FoxPro 命令对表的所有操作都不需使用 USE 命令先打开表20. 在 Visual FoxPro 中,如果希望跳
7、出 SCAN.ENDSCAN 循环体外执行 ENDSCAN 后面的语句,应使用( )。A: LOOP 语句B: EXIT 语句C: BREAK 语句D: RETURN 语句21. 在 Visual FoxPro 中,为了使表具有更多的特性应该使用( )。A: 数据库表B: 自由表C: 数据库表或自由表D: 数据库表和自由表22. 在 Visual FoxPro 中,查询设计器和视图设计器很像,如下描述正确的是( )。A: 使用查询设计器创建的是一个包含 SQL SELECT 语句的文本文件B: 使用视图设计器创建的是一个包含 SQL SELECT 语句的文本文件C: 查询和视图有相同的用途D:
8、 查询和视图实际都是一个存储数据的表23. 使用 SQL 语句将表 S 中字段 price 的值大于 30 的记录删除,正确的命令是( )。A: DELETE FROM s FOR price30B: DELETE FROM s WHERE price30C: DELETE s FOR price30D: DELETE s WHERE price3024. 在 Visual FoxPro 中,使用 SEEK 命令查找匹配的记录,当查找到匹配的第一条记录后,如果还需要查找下一条匹配的记录,通常使用命令( )。A: GOTOB: SKIPC: CONTINUED: GO25. 假设表 S 中有 1
9、0 条记录,其中字段 b 小于 20 的记录有 3 条,大于等于 20、并且小于等于 30 的记录有 3 条,大于 30 的记录有 4 条。执行下面的程序后,屏幕显示的结果是( )。SET DELETE ONDELETE FROM s WHERE b BETWEEN 20 AND 30?RECCOUNT()A: 10B: 7C: 0D: 326. 正确的 SQL 插入命令的语法格式是( )。A: INSERT IN.VALUES.B: INSERT TO.VALUESC: INSERT INTO.VALUES.D: INSERT.VALUES.27. 建立表单的命令是( )。A: CREATE
10、 FORMB: CPEATE TABLEC: NEWFORMD: NEWTABLE28. 假设某个表单中有一个复选框(CheckBox1)和一个命令按钮 Command1,如果要在 Command1的 Click 事件代码中取得复选框的值,以判断该复选框是否被用户选择,正确的表达式是( )。A: This.CheckBox1.ValueB: ThisForm.CheckBox1.ValueC: This.CheckBox1.SelectedD: ThisForm.CheckBox1.Selected29. 为了使命令按钮在界面运行时显示“运行”,需要设置该命令按钮的哪个属性( )。A: Tex
11、tB: TitleC: DisplayD: Caption30. 在 Visual FoxPro 中,如果在表之间的联系中设置了参照完整性规则,并在删除规则中选择了“级联”,当删除父表中的记录,其结果是( )。A: 只删除父表中的记录,不影响子表B: 任何时候都拒绝删除父表中的记录C: 在删除父表中记录的同时自动删除子表中的所有参照记录D: 若子表中有参照记录,则禁止删除父表中记录31. SQL 语句中,能够判断“订购日期”字段是否为空值的表达式是( )。A: 订购日期=NULLB: 订购日期=EMPTYC: 订购日期 IS NULLD: 订购日期 IS EMPTY第(32)(35)题使用如下
12、 3 个表:商店(商店号,商店名,区域名,经理姓名)商品(商品号,商品名,单价)销售(商店号,商品号,销售日期,销售数量) 32. 查询在“北京”和“上海”区域的商店信息的正确命令是( )。A: SELECT*FROM 商店 WHERE 区域名=北京 AND 区域名=上海B: SELECT*FROM 商店 WHERE 区域名=北京 OR 区域名=上海C: SELECT*FROM 商店 WHERE 区域名=北京 AND 上海D: SELECT*FROM 商店 WHERE 区域名=北京 OR 上海33. 查询单价最高的商品销售情况,查询结果包括商品号、商品名、销售日期、销售数量和销售金额。正确命令
13、是( )。A: SELECT 商品,商品号,商品名,销售日期,销售数量,销售数量*单价 AS 销售金额FROM 商品 JOIN 销售 ON 商品.商品号=销售.商品号WHERE 单价=(SELECT MAX(单价)FROM 商品)B: SELECT 商品.商品号,商品名,销售日期,销售数量,销售数量*单价 AS 销售金额FROM 商品 JOIN 销售 ON 商品.商品号=销售.商品号WHERE 单价=MAX(单价)C: SELECT 商品.商品号,商品名,销售日期,销售数量,销售数量+单价 AS 销售金额FROM 商品 JOIN 销售 WHERE 单价=(SELECT MAX(单价)FROM
14、商品)D: SELECT 商品.商品号,商品名,销售日期,销售数量,销售数量*单价 AS 销售金额FROM 商品 JOIN 销售 WHERE 单价=MAX(单价)34. 查询商品单价在 10 到 50 之间、并且日销售数量高于 20 的商品名、单价、销售日期和销售数量,查询结果按单价降序。正确命令是( )。A: SELECT 商品名,单价,销售日期,销售数量 FROM 商品 JOIN 销售WHERE(单价 BETWEEN 10 AND 50) AND 销售数量20ORDER BY 单价 DESCB: SELECT 商品名,单价,销售日期,销售数量 FROM 商品 JOIN 销售WHERE(单价
15、 BETWEEN 10 AND 50) AND 销售数量20ORDE RBY 单价C: SELECT 商品名,单价,销售日期,销售数量 FROM 商品,销售WHERE(单价 BETWEEN 10 AND 50) AND 销售数量20ON 商品.商品号=销售.商品号 ORDER BY 单价D: SELECT 商品名,单价,销售日期,销售数量 FROM 商品,销售WHERE(单价 BETWEEN 10 AND 50) AND 销售数量20AND 商品.商品号=销售.商品号 ORDER BY 单价 DESC35. 查询销售金额合计超过 20000 的商店,查询结果包括商店名和销售金额合计。正确命令是
16、( )。A: SELECT 商店名,SUM(销售数量+单价) AS 销售金额合计FROM 商店,商品,销售WHERE 销售金额合计 20000B: SELECT 商店名,SUM(销售数量*单价) AS 销售金额合计20000FROM 商店,商品,销售WHERE 商品.商品号=销售.商品号 AND 商店.商店号=销售.商店号C: SELECT 商店名,SUM(销售数量*单价) AS 销售金额合计FROM 商店,商品,销售WHERE 商品.商品号=销售.商品号 AND 商店.商店号=销售.商店号AND SUM(销售数量*单价)20000 GROUP BY 商店名D: SELECT 商店名,SUM(
17、销售数量*单价) AS 销售金额合计FROM 商店,商品,销售WHERE 商品.商品号=销售.商品号 AND 商店.商店号=销售.商店号GROUP BY 商店名 HAVING SUM(销售数量*单价)20000二、填空题(每空 2 分,共 30 分)36. 数据结构分为线性结构与非线性结构,带链的栈属于_。37. 在长度为 n 的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中_个元素。38. 常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用_方法39. 数据库系统的核心是_。40. 在进行关系数据库的逻辑设计时,E-R 图中的属性常
18、被转换为关系中的属性,联系通常被转换为_。41. 为了使日期的年份显示 4 位数字应该使用 SETCENTURY_命令进行设置。42. 在 Visual FoxPro 中可以使用命令 DIMENSION 或_说明数组变量。43. 在 Visual FoxPro 中表达式(1+2(1+2)/(2+2)的运算结果是_。44. 如下程序的运行结果是_。CLEARSTORE 100 TO x1,x2SET UDFPARMS TO VALUEDO p4 WITH x1,(x2)?x1,x2*过程 p4PROCEDURE p4PARAMETERS x1,x2STORE x1+1 TO x1STORE x2
19、+1 TO x2ENDPROC45. 在 Visual FoxPro 中运行表单的命令是_。46. 为了使表单在运行时居中显示,应该将其_属性设置为逻辑真。47. 为了在表单运行时能够输入密码应该使用_控件。48. 菜单定义文件的扩展名是 mnx,菜单程序文件的扩展名是_。49. 在 Visual FoxPro 中创建快速报表时,基本带区包括页标头、细节和_。50. 在 Visual FoxPro 中建立表单应用程序环境时,显示出初始的用户界面之后,需要建立一个事件循环来等待用户的交互动作,完成该功能的命令是_,该命令使 Visual FoxPro 开始处理诸如单击鼠标、键盘输入等用户事件。1
20、 参考答案: D详细解答: 所谓算法是指解题方案的准确而完整的描述。是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法不等于程序,也不等于计算方法。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。2 参考答案: C详细解答: 线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。3 参考答案: B详细解答: 由二叉树的性质可以知道在二叉树中叶子结点总是比度为 2 的结点多一个。4 参考答案:
21、A详细解答: 学生成绩管理系统为应用软件。5 参考答案: C详细解答: 这个系统总体结构图是一棵树结构,在树结构中,根结点在第 1 层,同一层上所有子结点都在下一层,由系统总体结构图可知,这棵树共 3 层。在树结构中,树的最大层次称为树的深度。所以这棵树的深度为 3。6 参考答案: D详细解答: 所谓程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。其任务是诊断和改正程序中的错误。7 参考答案: A详细解答: 数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。分别是:需求分析阶段、概念设计阶段、逻辑设计阶
22、段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。数据字典是对系统中数据的详尽描述,是各类数据属性的清单。对数据设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。8 参考答案: D详细解答: 数据库系统的三级模式包括概念模式、外模式和内模式(物理模式)。9 参考答案: B详细解答: 由三个关系 R、S 和 T 的结构可以知道,关系 T 是由关系 R、S 经过差运算得到的。10 参考答案: A详细解答: 面向对象设计方法的主要特征有封装性、继承性和多态性。而结构化程序设计方法的主要原则有自顶向下,逐步求精,模块化,限制使用 goto 语句。11 参考答案: B详细解
23、答: 实体完整性是保证表中记录惟一的特性,即在一个表中不允许有重复的记录。在 Visual FoxPro 利用主关键字或候选关键字来保证表中的记录惟一,即保证实体惟一性。如果对某一个字段创建了主索引或候选索引,那么这个字段成为数据表的主关键字或候选关键字,从而保证了实体完整性。12 参考答案: B详细解答: 从关系模式中指定若干个属性组成新的关系称为投影。13 参考答案: B详细解答: VFP 索引是由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序。若要按特定的顺序处理记录表,可以选择一个相应的索引,使用索引还可以加速对表的查询操作。14 参考答案: A详细解答: LEFT()函数功
24、能是从字符表达式左端截取指定长度子串;RIGHT()函数功能是从字符表达式右端截取指定长度子串;SUBSTR()函数功能是从字符串指定位置截取指定长度子串。以上三个函数在截取中文时要注意,一个中文字符占 2 个长度。15 参考答案: C详细解答: 在 SQL 查询语句中,WHERE 是说明查询条件,即选择元组的条件。16 参考答案: B详细解答: 在 SQL 查询中,HAVING 总是跟在 GROUP BY 之后,用来限定分组条件。17 参考答案: D详细解答: TOP 表示排序后满足条件的前几条记录。所以需要和 ORDERBY 同时使用。18 参考答案: B详细解答: 删除字段的 SQL 语
25、法可简单表示为:ALTER TABLE 表名 DROP 字段名。19 参考答案: B详细解答: 所有 SQL 命令对表的所有操作都不需使用 USE 命令先打开表。USE 是 VFP 中用来打开表的命令。20 参考答案: B详细解答: LOOP 和 EXIT 都可以出现在循环体内。LOOP 表示结束本次循环,开始下一次循环;EXIT 表示结束循环语句的执行,跳出循环执行后面的语句。21 参考答案: A详细解答: 数据库表与自由表相比,有如下特点:数据库表可以使用长表名、长字段名;可以为数据库表中的字段指定标题和添加注释;可以为数据库表中的字段指定默认值和输入掩码;数据库表的字段有默认的控件类;可
26、以为数据库表规定字段级规则和记录级规则;数据库表支持主关键字、参照完整性和表之间的关联。22 参考答案: A详细解答: 使用查询设计器创建的是一个包含 SQL SELECT 语句的文本文件,其扩展文件名为.QPR。而视图设计完成后,在磁盘上不保存文件,视图的结果保存在数据库中。23 参考答案: B详细解答: SQL 中表示删除记录的语法可以简单表示为:DELETE FROM 表名 WHERE 条件。VFP 中删除记录的语法可以简单表示为:DELETE FOR 条件。24 参考答案: B详细解答: SEEK 是利用索引快速定位的命令,在数据表指定索引后,记录按照指定索引关键字的值排序,若索引关键
27、字的值相同,必然连续出现,因此可以通过 SKIP 查找下一条匹配的记录;CONTINUE 是和 LOCNTE 语句搭配使用的。25 参考答案: A详细解答: DELETE 表示逻辑删除,逻辑删除不影响 RECCOUNT()函数的统计结果。26 参考答案: C详细解答: 在 SQL 中用于插入记录的语法可简单表示为:INSERT INTO 表名 VALUES(插入记录各个字段值列表)。27 参考答案: A详细解答: 建立表单的命令为 CREATE FORM。28 参考答案: B详细解答: 复选框控件可以通过其 VALUE 属性设置或返回其状态(选中或未被选中)。29 参考答案: D详细解答: 在
28、按钮上显示的文字可以通过其 CAPTION 属性进行设置。30 参考答案: C详细解答: 如果在删除规则选择“级联”,当删除父表中记录时,则自动删除子表中的所有相关记录。31 参考答案: C详细解答: 在 SQL 语句中支持空值查询,用 IS NULL 表示。32 参考答案: B详细解答: 根据题意可知,要查询在“北京”或“上海”区域的商店信息,所以查询条件可以表示为:WHERE 区域名=“北京“ OR 区域名=“上海“。33 参考答案: A详细解答: 在 SQL 超连接查询中,FROM 短语后用 JOIN 表示需要连接的数据表,用 ON 表示连接条件,WHERE 表示选择元组的条件。计算检索
29、函数 COUNT()应放在 SELECT 短语之后(一般情况下,计算检索函数应放在 SELECT 短语或 HAVING 短语之后)。34 参考答案: D详细解答: 可以用 JOIN.ON.语法进行超连结查询,也可以用 WHERE 直接表示数据表连接条件。ORDER BY 短语表示排序,DESC 短语表示降序。35 参考答案: D详细解答: 用 WHERE 表示数据表连接条件;用 GROUP BY 表示分组,HAVING 总是跟在GROUP BY 之后,用来限定分组,即 HAVING 是用来表示选择分组的条件。36 参考答案: 线性结构详细解答: 一般将数据结构分为线性结构与非线性结构两大类。如
30、果一个非空的数据结构满足以下两个条件: 有且只有一个根结点; 每一个结点最多有一个前件,也最多有一个后件。 则称该数据结构为线性结构,所以带链栈为线性结构。37 参考答案: n详细解答: 在顺序存储的线性表中插入一个元素时,一般是从最后的元素向后移动一位,移动到插入的位置后,插入元素。在最坏情况下,需要移动 n 个元素。38 参考答案: 结构化详细解答: 采用结构化方法开发软件时,需求分析阶段建立数据流图。39 参考答案: 数据库管理系统(或 DBMS)详细解答: 一般认为,数据库系统包括四个部分:数据库、数据库管理系统、数据库应用程序、数据库管理员。其中 DBMS 是为数据库的建立、使用和维
31、护而配置的软件,是数据库系统的核心。40 参考答案: 关系详细解答: 在实体-关系图中的联系通常被转换为关系。41 参考答案: ON详细解答: SET CENTURY ON 命令使日期中的年份显示 4 位数。42 参考答案: DECLARE详细解答: 在 VFP 中,可以使用 DIMENSION 短语或 DECLARE 短语定义数组变量。43 参考答案: 2.25详细解答: 其中 2(1+2)表示 2 的 3 次方,其运算优先级最高。44 参考答案: 101 100详细解答: 过程调用可以使用两种格式,格式 1 可简单表示为:130 过程名 WITH 参数表;格式 2 可简单表示为:过程名(参
32、数表)。SET UDFPARMS TO VALUE 命令只对第二种格式有效。题目中采用第一种格式调用过程 p4,所以 SET UDFPARMS TO VALUE 对参数传递没有影响,x1 引用传递,x2 值传递。45 参考答案: DO FORM详细解答: VFP 中运行表单的命令为:DO FORM表单名。46 参考答案: AutoCenter详细解答: AutoCenter 属性指定表单初始化时是否自动在 Visual FoxPro 主窗口内居显示,默认值为.F.。47 参考答案: 文本框详细解答: 文本框可用于输入数据或编辑内存变量、数组元素和非备注型字段内的数据。48 参考答案: mpr详
33、细解答: 菜单定义文件(扩展文件名为 mnx)存放着菜单的各项定义,但其本身是一个表文件,并不能运行。只有生成可执行的菜单文件(扩展文件名为 mpr)才能通过命令“D0菜单文件名.mpr”运行。49 参考答案: 页注脚详细解答: 在 VFP 中创建快速报表时,基本带区包括页标头、细节和页注脚。50 参考答案: READ EVENTS详细解答: 建立应用程序环境,显示出初始的用户界面之后,需要建立一个事件循环来等待用户的交互动作。控制事件循环的方法是执行 READ EVENTS 命令,该命令使 Visual FoxPro 开始处理诸如鼠标单击、键入等用户事件。如果主程序中没有包含 READ EVENTS 或等价命令,在原开发环境中可以正确的运行程序。但是,如果要在菜单或者主屏幕中运行应用程序,程序可能显示片刻,随即退出。