1、国家二级( VF)机试模拟试卷 32及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)栈是 “先进先出 “的线性表 ( B)队列是 “先进后出 “的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 2 支持子程序调用的数据结构是 ( )。 ( A)栈 ( B)树 ( C)队列 ( D)二叉树 3 某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是 ( )。 ( A) 10 ( B) 8 ( C) 6 ( D) 4 4 下列排序方法中, 最坏情况下比较次数最少的是 ( )。 ( A)冒泡排序 ( B)简单选择排序 (
2、 C)直接插入排序 ( D)堆排序 5 软件按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 6 下面叙述中错误的是 ( )。 ( A)软件测试的目的是发现错误并改正错误 ( B)对被调试的程序进行 “错误定位 “是程序调试的必要步骤 ( C)程序调试通常也称为 Debug ( D)软件测试应严格执行测试计划, 排除测试的随意性 7 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 ( )。 ( A)提高耦合性降低内聚性有利于提高模块的独立性 ( B)降低耦合
3、性提高内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 ( D)内聚性是指模块间互相连接的紧密程度 8 数据库应用系统中的核心问题是 ( )。 ( A)数据库设计 ( B)数据库系统设计 ( C)数据库维护 ( D)数据库管理员培训 9 有两个关系 R, S如下: 由关系 R通过运算得到关系 S,则所使 用的运算为 ( )。 ( A)选择 ( B)投影 ( C)插入 ( D)连接 10 将 E R图转换为关系模式时,实体和联系都可以表示为 ( )。 ( A)属性 ( B)键 ( C)关系 ( D)域 11 在 Visual FoxPro中,有如下程序,函
4、数 IIF()返回值是 ( )。 *程序 PRIVATE X, Y STORE “男 “ TO X Y LEN(X) 2 ? IIF( Y 姓名 ( C)姓名 ( D) M 21 MODIFY STRUCTURE命令的功能是 ( )。 ( A)修改记录值 ( B)修改表结构 ( C)修改数据库结构 ( D)修改数据库或表结构 22 可以运行查询文件的命令是 ( )。 ( A) DO ( B) BROWSE ( C) DO QUERY ( D) CREATE QUERY 23 参照完整性规则的更新规则中 “级联 “的含义是 ( )。 ( A)更新父表中的连接字段值时,用新的连接字段值自动修改子表
5、中的所有相关记录 ( B)若子表中有与父表相关的记录,则禁止修改父表中的连接字段值 ( C)父表中的连接字段值可以随意更新,不会影响子表中的记录 ( D)父表中的连接字段值在任何情况下都不允许更新 24 CREATE DATABASE命令用来建立 ( )。 ( A)数据库 ( B)关系 ( C)表 ( D)数据文件 25 欲执行程序 temp.prg,应该执行的命令是 ( )。 ( A) DO PRG temp.prg ( B) DO temp.prg ( C) DO CMD temp.prg ( D) DO FORM temp.prg 26 在 Visual FoxPro中下列陈述正确的是
6、( )。 ( A)数据环境是对象,关系不是对象 ( B)数据环境不是对象,关系是对象 ( C)数据环境是对象,关系是数据环境中的对象 ( D)数据环境和关系都不是对象 27 关于视图和查询,以 下叙述正确的是 ( )。 ( A)视图和查询都只能在数据库中建立 ( B)视图和查询都不能在数据库中建立 ( C)视图只能在数据库中建立 ( D)查询只能在数据库中建立 28 以下不属于 SQL数据操作命令的是 ( )。 ( A) MODIFY ( B) INSERT ( C) UPDATE ( D) DELETE 29 SQL的 SELECT语句中, “HAVING “用来筛选满足条件的( )。 (
7、A)列 ( B)行 ( C)关系 ( D)分组 30 设有关系 SC(SNO, CNO, GRADE) ,其中 SNO、 CNO分别表示学号和课程号 (两者均为字符型 ) , GRADE表示成绩 (数值型 ) 。若要把学号为 “S101“的同学,选修课程号为 “C11“,成绩为 98分的记录插入到表 SC中,正确的 SQL语句是( )。 ( A) INSERT INTO SC(SNO, CNO, GRADE)VALUES (S101, C11, 98) ( B) INSERT INTO SC(SNO, CNO, GRADE)VALUES (S101, C11, 98) ( C) INSERT
8、(S101, C11, 98 )INTO SC ( D) INSERT INTO SC VALUES (S101, C11, 98) 31 以下有关 SELECT 短语的叙述中错误的是 ( )。 ( A) SELECT短语中可以使用别名 ( B) SELECT短语中只能包含表中的列及其构成的表达式 ( C) SELECT短语规定了结果集中列的顺序 ( D)如果 FROM短语引用的两个表有同名的列,则 SELECT短语引用它们时必须使用表名前缀加以限定 32 与 “SELECT * FROM 学生 INTO DBF A“等价的语句 是 ( )。 ( A) SELECT * FROM 学生 INT
9、O A ( B) SELECT * FROM 学生 INTO TABLE A ( C) SELECT * FROM 学生 TO TABLE A ( D) SELECT * FROM 学生 TO DBF A 33 查询在 “北京 “和 “上海 “出生的学生信息的 SQL语句是 ( )。 ( A) SELECT * FROM 学生 WHERE 出生地 北京 AND 上海 ( B) SELECT * FROM 学生 WHERE 出生地 北京 OR 上海 ( C) SELECT * FROM 学生 WHERE 出生地 北京 AND 出生地 上海 ( D) SELECT * FROM 学生 WHERE
10、出生地 北京 OR 出生地 上海 34 在 SQL语句中,与表达式 “年龄 BETWEEN 12 AND 46“功能相同的表达式是( )。 ( A)年龄 12 OR 12 AND 12 OR 年龄 12 AND 年龄 x) ( B)综合查询 (/x) ( C)综合查询 (“命令按钮可以将左边列表框中被选中的项添加到右边的列表框中;单击 “移去 “命令按钮可以将右边列表框中被选中的项移去 (删除 )。 请完善 “确定 “命令按钮的 Click事件代码,其功能是:查询右边列表框所列课程的学生的考试成绩 (依次包含姓名、课程名称和考试成 绩 3个字段 ),并先按课程名称升序排列,课程名称相同的再按考
11、试成绩降序排列,最后将查询结果存储到表zonghe中。 注意: (1)SCORE表中的 “考试成绩 “字段是在基本操作题中修改的。 (2)程序完成后必须运行,要求将 “计算机基础 “和 “高等数学 “从左边的列表框添加到右边的列表框,并单击 “确定 “命令按钮完成查询和存储。 国家二级( VF)机试模拟试卷 32答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 栈是先进后出的线性表,所以 A错误;队列是先进先出的线性表,所以 B错误;循环队列是线性结 构的线性表,所以 C错误。 2 【正确答案】 A 【试题解析】 栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调
12、用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为 A。 3 【正确答案】 C 【试题解析】 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0的叶子节点总是比度为 2的节点多一个,所以本题中是 5 1 6个。 4 【正确答案】 D 【试题解 析】 冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较 n(n 1)/2次,而堆排序在最坏情况下需要比较的次数是 nlog2n。 5 【正确答案】 C 【试题解析】 编译软件、操作系统、汇编程序都属于系统软件,只有 C教务管理
13、系统才是应用软件。 6 【正确答案】 A 【试题解析】 软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项 A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为 Debug,即排 错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。 7 【正确答案】 B 【试题解析】 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量
14、做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以 A错误, B正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内 部各个元素间彼此结合的紧密程度,所以 C与 D错误。 8 【正确答案】 A 【试题解析】 数据库应用系统中的核心问题是数据库的设计。 9 【正确答案】 B 【试题解析】 投影运算是指对于关系内的域指定可引入新的运算。本题中 S 是在原有关系 R的内部进行的,是由 R中原有的那些域的列所组成的关系。所以选择B。 10 【正确答案】 C 【试题解析】 从 E R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系, E
15、R图中属性也可以转换成关系的属性。 11 【正确答案】 A 【试题解析】 iif函数测试逻辑表达式的值,若为逻辑真,函数返回前表达式的值,否则返回后表达式的值; Len 函数中一个中文字符占两个字符,所以 Y的值为 4, Y, , )函数如果前字符串是后字符串的子串,返回前字符串首字符在后字符串中第几次出现的位置,表达式 at(“MyTeacher“,3,7)不正确; substr函数从指定表达式值的指定位置取指定长度的子串作为函数, substr(“MyTeacher“,3,7)的值为 “Teacher“; left从指定表达式值的左端取一个指定长度的子串作为函数值, right(“MyTe
16、acher“,7) 的值为 “Teacher“; right从指定表达式值的右端取一个指定长度的子串作为函数值, left(“Teacher“,7) 的值为 “Teacher“。 14 【正确答案】 D 【试题解析】 For循环中的语句 a(i) a(i 1) a(i 2)是指定每个元素的值为它的前两项的和,这个元素必须只能从第 3项开始指定。由于前两项分别是 1、 1,所以数组 a的六个元素分别是 1,1,2,3,5,8;元素 a(6)的值是 8。 15 【正确答案】 B 【试题解析】 str函数把数值转换成字符串,返回值是字符型; val函数字符串转换成数值,返回值是数值型; ctod函数
17、字符转换成日期,返回值是日期型; dtoc函数日期转换成字符,返回值是字符型。 16 【正确答案】 B 【试题解析】 根据过程 test的代码可以分析出: test的功能是将传递的两个参数互换。变量 x1, x2的初始值是 20、 30,经过 “DO test WITH x1, x2“的调用后,x1, x2的值互换,值分别是 30、 20。 17 【正确答案】 D 【试题解析】 直接修改记录的值,可以使用 REPLACE 命令,其格式为: REPLACE FieldName WITH eExpression , FieldName2 WITH eExpression2 FOR iExpress
18、ion 本题中 A、 C选项不对。因要对所有学生的总分增加 10分,所以要用 ALL 表示全部记录。 18 【正确答案】 A 【试题解析】 建立字段有效性规则比较简单直接的方法是在表设计器中建立,在表设计器的 “字段 “选项卡中有一组定义字段有效性规则的项目,它们是 “规则 “(字段有效性规则 )、 “信息 “(违背字段有效性规则时的提示信息 )、 “默认值 “(字段的默认值 )三项。其中 “规则 “是逻辑表达式, “信息 “是字符串表达式, “默认值 “的类型则以字段的类型确定。 19 【正确答案】 D 【试题解析】 mnx 是菜单文件的扩展名;备注文件的扩展名是 fpt;项目文件的扩展名是
19、 pjx;表单文件的扩展名是 scx。 20 【正确答案】 C 【试题解析】 每一个变量都有一个名字,可以通过变量名访问变量。如果当前表中存在一个和内存变量同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀 M.(或 M ),否则系统将访问同名的字段变量。 21 【正确答案】 B 【试题解析】 在命令窗口执行入 MODIFY STRUCTURE 命令,则打开表设计器,对表结构 进行修改;修改数据库的命令是 MODIFY DATABASE;修改记录值的命令是 REPLACE。 22 【正确答案】 A 【试题解析】 以命令方式执行查询的命令格式是: DO QueryFile, QueryF
20、ile是扩展名为 .qpr的查询文件。 23 【正确答案】 A 【试题解析】 参照完整性规则的更新规则中 “级联 “的含义是更新父表中的连接字段值时,用新的连接字段值自动修改子表中的所有相关记录; “限制 “的含义是若子表中有与父表相关的记录,则禁止修改父表中的连接字段值; “忽略 “的含义是不作参照 完整性检查,即可以随意更新父表中的连接字段值。 24 【正确答案】 A 【试题解析】 CREATE DATABASE 的命令是创建数据库。 25 【正确答案】 B 【试题解析】 运行程序文件的命令方式是: DO 。文件为扩展名为 .prg的程序文件。 26 【正确答案】 C 【试题解析】 客观世
21、界里任何实体都可以被视为对象,对象可以是具体事物,也可以指某些概念。所以数据环境是一个对象,它有自己的属性、方法和事件。关联是数据环境中的对象,它也有自己的属性、方法和事件。 27 【正确答案】 C 【试题解析】 视图是数据库中的一个特有功能,视图只能创建在数据库里。而查询从指定的表或视图中提取满足条件的记录,可以不在数据库中创建。因此视图只能在数据库中建立,而查询可以不在数据库中建立。 28 【正确答案】 A 【试题解析】 SQL可以完成数据库操作要求的所有功能,包括数据查询、数据操作、数据定义和数据控制,是一种全能的数据库语言。其中,数据操作功能所对应的命令为 INSERT、 UPDATE
22、、 DELETE。 29 【正确答案】 D 【试题解析】 在 SQL 的 SELECT 语句中 HAVING短语要结合 GROUP BY 使用,用来进一步限定满足分组条件的元组,因此 D选项正确。 30 【正确答案】 D 【试题解析】 插入命令: INSERT INTO (, .) VALUES (eExpression1, eExpression2,.),若插入的是完整的记录时,可以省略 , .;另外, SNO、 CNO 为字符型,故其属性值需要加引号,数值型数据不需要加引号。 31 【正确答案】 B 【 试题解析】 SELECT 短语中除了包含表中的列及其构成的表达式外,还可以包括常量等其
23、他元素,在 SELECT 短语中可以使用别名,并规定了结果集中的列顺序,如果 FROM短语中引用的两个表有同名的列,则 SELECT短语引用它们时必须使用表名前缀加以限定。 32 【正确答案】 B 【试题解析】 在 SQL 查询语句的尾部添加 INTO DBF|TABLE 可以将查询的结果放入新生成的指定表中。 INTO TABLE A 等价于 INTO DBF A,因此 B为正确选项。 33 【正确答案】 D 【试 题解析】 SQL的核心是查询,它的基本形式由 SELECT FROMWHERE查询块组成。其中 SELECT说明要查询的字段, FROM 说明要查询的字段来自哪个表或哪些表,可以
24、对单个表或多个表进行查询, WHERE说明查询条件,即选择元组的条件。 And 表示 “且 “, or表示 “或 “,本题要求查询在 “北京 “和“上海 “出生的学生信息,应设置条件为出生地 北京 OR 出生地 上海 ,即 D选项正确。 34 【正确答案】 D 【试题解析】 BETWEENAND 表示在 “ 和 之间 “,其中包含等于,即大于等 于 AND前面的数,小于等于 AND后面的数。题干表达式的含义为在 12和46之间的数字,而 and 表示 “且 “, or表示 “或 “,只有 D选项与此功能相同。 35 【正确答案】 A 【试题解析】 HAVING子句总是跟在 GROUP BY子句
25、之后,而不可以单独使用, HAVING子句和 WHERE子句并不矛盾,在查询中是先用 WHERE子句限定元组,然后进行分组,最后再用 HAVING 子句限定分组。因此 A选项说法正确。 36 【正确答案】 C 【试题解析】 SQL的核心是查询。 SQL的查询命令也称作 SELECT 命令,它的基本形式由 SELECT FROM WHERE 查询块组成。其中 SELECT 说明要查询的字段,如果查询的字段需去掉重复值,则要用到 DISTINCT 短语; FROM说明要查询的字段来自哪个表或哪些表,可以对单个表或多个表进行查询, WHERE说明查询条件,即选择元组的条件。因此 C为正确选项。 37
26、 【正确答案】 A 【试题解析】 修改表结构可使用 ALTER TABLE 命令,删除表中的字段、索引及有效性规则、错误提示信息及默认值,其命令格式为: ALTER TABLE DROP COLUMN DROP PRIMARY KEY TAG DROP UNIQUE TAG DROP CHECK 其中, DROP COLUMN 删除指定的字段; DROP PRIMARY KEY 删除主索引; DROP UNIQUE TAG 删除候选索引;DROP CHECK 删除有效性规则。本题要删除 “年龄 “属性,正确的命令应该是DROP COLUMN 年龄。 38 【正确答案】 C 【试题解 析】 菜单
27、名称列指定菜单项的名称,也称为标题,可为菜单设置访问键和分组线:设置访问键的方法为,在作为访问键的字符前加上 “两个字符。本题“综合查询 ( x)“,那么字母 x即为该菜单项的访问键。因此 C选项正确。 39 【正确答案】 A 【试题解析】 组合框与列表框类似,也是用于提供一组条目供用户从中选择。列表框属性对组合框同样适用 (除 MultiSelect外 ),并且具有相似的含义和用法。主要区别在于: 对于组合框来说,通常只有一个条目是可见的。而列表框可以看到多个条目,还可以拖动滚动条看到更多的条 目。 组合框不提供多重选择的功能,没有 MultiSelect属性。而列表框有多重选择的功能。 组
28、合框有两种形式:下拉组合框和下拉列表框。通过设置 Style属性来选择想要的形式: 0表示选择下拉组合框。用户可从列表中选择条目,又可以在编辑区内输入; 2表示选择下拉列表框。用户只能从列表中选择条目。 40 【正确答案】 A 【试题解析】 选项组 (OptionGroup)又称为选项按钮组,是包含选项按钮的一种容器。新建一个选项组控件,默认名为 Optiongroup1,因此 A选项正确。 Check1为复选框 的默认名, Spinner1 为微调控件的默认名, List1为列表框默认名。 二、基本操作题 41 【正确答案】 【操作步骤】 (1)单击常用工具栏中的 “打开 “按钮,打开数据库
29、 SELLDB。在数据库设计器中,选择表 “s_t“并右击,选择 “修改 “命令,在表设计器中,单击 “索引 “选项卡,输入索引名 “NO“,选择 “类型 “为 “主索引 “, “表达式 “为 “部门号 +年度 “,再移到下一个索引项,输入索引名 “部门号 “,选择类型为 “普通索引 “,表达式为 “部门号 “,最后单击 “确定 “按钮,再单击 “是 (Y)“按钮。 (2)在命令窗口 中输入以下语句,然后按回车键。 ALTER TABLE s_t ADD COLUMN 备注 C(30) (3)步骤 1:在命令窗口中输入以下语句,然后按回车键。 ALTER TABLE s_t ALTER 年度
30、SET DEFAULT “2004“ 步骤 2:新建程序文件,将上述语句复制到该程序文件中,并保存该文件为DNE.PRG。 (4)步骤 1:在数据库设计器中,选择 “dept“表中主索引 “部门号 “并按住不放,然后移动鼠标拖到 “s_t“表中的索引 “部门号 “处,松开鼠标。 步骤 2:在已建立的永久性联系后,双击关 系线,打开 “编辑关系 “对话框。在 “编辑关系 “对话框中,单击 “参照完整性 “按钮,打开 “参照完整性生成器 “对话框。 在单击 “参照完整性 “按钮时,可能会要求整理数据库,若要求请整理后重新做操作,方法为单击 “数据库 “菜单中的 “清理数据库 “命令。 步骤 3:在
31、 “参照完整性生成器 “对话框中,单击 “更新规则 “选项卡,并选择 “级联 “单选按钮;单击 “删除规则 “选项卡,并选择 “限制 “单选按钮;单击 “插入规则 “选项卡,并选择 “忽略 “单选按钮,然后单击 “确定 “按钮,并显示 “是否保存改变,生成参照完整性代码并退出? “提示框,最后单击 “是 “按钮,这样就生成了指定参照完整性。 三、简单应用题 42 【正确答案】 (1)【操作步骤】 步骤 1:在命令窗口中输入 “Create Form Timer“,新建一个名为 timer的表单。按题目要求添加一个标签控件、一个计时器控件和三个命令按钮控件。 步骤 2:在属性窗口设置各控件的属性
32、。设置表单的 Caption属性为 “时钟 “, Name属性为 Timer,设置标签的 Alignment属性为 “2中央 “,三个命令按扭的 Caption属性依次为 “暂停 “、 “继续 “、退出,设置计时器控件的 Interval属性为 500。 步骤 3:选中标签,然后执行 “格式 “ 对齐 “菜单中的 “水平居中 “命令。 步骤 4:双击命令按钮,为各命令按钮编写 Click事件的代码: *“暂停 “按钮的 Click事件代码 * ThisForm.Timer1.Interval=0 * *“继续 “按钮的 Click事件代码 * ThisForm.Timer1.Interval=
33、500 * *“退出 “按钮的 Click事件代码 * ThisForm.Release * *“计时器 “的 timer事件代码 * ThisForm.Label1.Caption=time() * 步骤 5:保存并运行表单查看结果。 (2)【操作步骤】 步骤 1:单击工具栏中 “新建 “按钮,新建一个查询,并向查询中添加表 currency_sl和 rate_exchange。 步骤 2:在 “字段 “选项卡中,将字段段 “currency_sl.姓名 “、 “ rate_exchange.外币名称“、 “ currency_sl.持有数量 “、 “ rate_exchange.现钞买入价
34、 “和 “ Rate_exchange.现钞买入价 *Currency_sl.持有数量 “添加到 “选定字段 “。 步骤 3:在 “排序依据 “选项卡中选择按 “姓名 “升序排序,再按 “持有数量 “降序排序。 步骤 4:单击 “查询 “菜单下的 “查询去向 “命令,在 “查询去向 “对话框中选择表,输入表名为 results。 步骤 5:保存查询为 query并运行查询。 四、综合应用题 43 【正确答案】 【操作步骤】 步骤 1:单击工具栏中的 “打开 “按钮,打开考生文件夹下的表单文件 zonghe。 步骤 2:双击 “确定 “命令按钮,完善其 Click事件代码如下。 *“确定 “按钮的 Click事件代码 * SELECT Student.姓名 , Course.课程名称 , Score.考试成绩 ; FROM student INNER JOIN score; INNER JOIN course ; ON Score.课程编号 = Course.课程编号 ; ON Student.学号 = Score.学号 ; where ORDER BY Course.课程名称 , Score.考试成绩 DESC; INTO TABLE zonghe.dbf * 步骤 3:保存并运行表单。