1、国家二级( VF)机试模拟试卷 3及答案与解析 一、选择题 1 线性表若采用链式存储结构时,要求内存中可用存储单元的地址 ( A)必须是连续的 ( B)部分地址必须是连续的 ( C)一定是不连续的 ( D)连续不连续都可以 2 在待排序的元素序列基本有序的前提下,效率最高的排序方法是 ( A)冒泡排序 ( B)选择排序 ( C)快速排序 ( D)归并排序 3 下列叙述中,错误的是 ( A)数据的存储结构与数据处理的效率密切相关 ( B)数据的存储结构与数据处理的效率无关 ( C)数 据的存储结构在计算机中所占的空间不一定是连续的 ( D)一种数据的逻辑结构可以有多种存储结构 4 希尔排序属于
2、( A)交换排序 ( B)归并排序 ( C)选择排序 ( D)插入排序 5 下列叙述中,不属于结构化分析方法的是 ( A)面向数据流的结构化分析方法 ( B)面向数据结构的 Jackson方法 ( C)面向数据结构的结构化数据系统开发方法 ( D)面向对象的分析方法 6 详细设计的结果基本决定了最终程序的 ( A)代码的规模 ( B)运行速度 ( C)质量 ( D)可 维护性 7 下列不属于静态测试方法的是 ( A)代码检查 ( B)白盒法 ( C)静态结构分析 ( D)代码质量度量 8 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是 (
3、 A)多对多 ( B)一对一 ( C)多对一 ( D)一对多 9 下列关系运算的叙述中,正确的是 ( A)投影、选择、连接是从二维表行的方向进行的运算 ( B)并、交、差是从二维表的列的方向来进行运算 ( C)投影、选择、连接是从二维表列的方向进行的运算 ( D)以上 3种说法都不对 10 关系数据库管理系统应能实现的专门的关系运算包括 ( A)排序、索引、统计 ( B)选择、投影、连接 ( C)关联、更新、排序 ( D)显示、打印、制表 11 在文件系统阶段,操作系统管理数据的基本单位是 ( A)记录 ( B)程序 ( C)数据项 ( D)文件 12 Visual FoxPro提供的各种设计
4、器中,可以用来定义表单或报表中使用的数据源的是 ( A)表单设计器 ( B)报表设计器 ( C)数据环境设计器 ( D)数据库设计器 13 在 Visual FoxPro中,可以在同类数据之间进行 “-”运算的数据类型有 ( A)数值型、字符型和逻辑型 ( B)数值型、字符型和日期型 ( C)数值型、日期型和逻辑型 ( D)字符型、日期型和逻辑型 14 下列关于数组的叙述中,错误的是 ( A)用 DIMENSION和 DECLARE都可以定义数组 ( B) Visual FoxPro中只支持一维数组和二维数组 ( C)一个数组中各个数组元素必须是同一种数据类型 ( D)新定义数组的各个数组元素
5、初值为 .F. 15 下列表达式中,写 法错误的是 ( A)计算机 +“123“ ( B)计算机 +DTOC(2004/01/01) ( C) T + F ( D) 2004/01/01+10 16 在 “数据工作期 ”窗口中, “一对多 ”按钮的作用是 ( A)一个表与多个表建立关联 ( B)父表中的一条记录与子表中的多条记录建立关联 ( C)父表中的一条记录与子表中的一条记录建立关联 ( D)多个表与当前表建立关联 17 表结构中的空值 (NULL)表示的含义是 ( A)空格 ( B)数值 0 ( C)默认值 ( D)尚未输 入的值 18 要控制两个表中数据的完整性和一致性,可以设置参照完
6、整性,要求这两个表 ( A)是同一个数据库中的两个表 ( B)是不同数据库中的两个表 ( C)是两个自由表 ( D)一个数据库表,另一个是自由表 19 不论索引是否生效,定位到相同记录上的命令是 ( A) GOTOP ( B) GO BOTTOM ( C) SKIP ( D) GO 5 20 数据表当前记录的 “基本工资 ”字段值为 500,执行以下命令: REPLACE基本工资 WITH基本工资 *1 2 当前记录的基本工资字段值为 ( A) 1.2 ( B) 500 ( C) 600 ( D)语法错误 21 在 Visual FoxPro某数据表中有一个数值型字段,要求有 4位整数, 2为
7、小数,其值可能为负值,它的宽度应为 ( A) 6 ( B) 7 ( C) 8 ( D) 9 22 对数据表的记录做相同规律的修改时,最方便的是使用 ( A) EDIT ( B) BROWSE ( C) REPLACE ( D) CHANGE 23 在 SQL中,建立索引的命令是 ( A) CREATE TABLE ( B) CREATE INDEX ( C) CREATE VIEW ( D) INDEX ON 24 对于查询输出到临时表中的叙述,下列说法错误的是 ( A)产生的临时表文件的后缀名仍为 dbf ( B)执行查询后,该临时表文件是当前文件 ( C)可以像一般的 dbf文件一样使用,
8、可查询和修改表中记录 ( D)当关闭文件时,临时表文件将自动被删除 25 SQL语句中, DISTINCT短语的功能是 ( A)按要求显示部分查询记录 ( B)消除重复出现的查询记录 ( C)删除查询结果中符合条件的记录 ( D)对查询结果进行排序 26 下列关于查询的说法,正确的是 ( A)不能根据自由表建立查询 ( B)只能根据自由表建立查询 ( C)只能根据视图建立查询 ( D)可以根据数据库表、自由表或视图建立查询 27 视图设计器中,共提供选项卡的个数是 ( A) 5 ( B) 6 ( C) 7 ( D) 8 28 下列对调试器的叙述中,正确的是 ( A) “跟踪 ”窗口用于显示正在
9、执行的程序文件 ( B) “监视 ”窗口用于显示表达式以及它们当前的值,并可以在一个表达式上设置断点 ( C) “局部 ”窗口用于显示当前程序、过程或方 法程序中可见的变量、数组、对象以及对象成员 ( D) “调试输出 ”窗口用于显示程序中指定调试的输出 29 下列程序实现的功能是 USE 学生表 DO WHILE NOT EOF( ) IF计算机 =60 SKIP LOOP ENDIF DISPLAY SKIP ENDDO USE ( A)显示所有计算机成绩大于等于 60的学生记录 ( B)显示所有计算机成绩小于 60的学生记录 ( C)显示第一条计算机成绩大于等于 60的学生记录 ( D)
10、显示第一条计算机成绩小于 60的学生记录 30 表单控件工具栏的作用是在表单上创建 ( A)文本 ( B)事件 ( C)控件 ( D)方法 31 下面表单及控件常用事件中,与鼠标操作有关的是 ( A) Click ( B) DbClick ( C) RightClick ( D)以上 3项都是 32 有 “仓库 ”表和 “职工 ”表,检索仓库中基本工资大于 3000元的职工姓名和他们所在的仓库名 ( A) SELECT姓名,仓库名 FROM职工; WHERE基本工资 3000 ( B) SELECT姓名,仓库名 FROM仓库; WHERE基本工资 3000 ( C) SELECT姓名,仓库名
11、FROM职工,仓库; WHERE(基本工资3000)OR(职工仓库号 =仓库仓库号 ) ( D) SELECT姓名,仓库名 FROM职工,仓库; WHERE(基本工资3000)AND(职工仓库号 =仓库仓库号 ) 33 若进栈序列为 1, 2, 3, 4,进栈过程中可以出栈,则下列不可能的一个出栈序列是 ( )。 ( A) 1, 4, 3, 2 ( B) 2, 3, 4, 1 ( C) 3, 1, 4, 2 ( D) 3, 4, 2, 1 34 排序方法中,将 整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为 ( )。 ( A)希尔排序 ( B)冒泡排序 ( C)插入排序 ( D
12、)选择排序 35 在顺序表 (3, 6, 8, 10, 12, 15, 16, 18, 21, 25, 30)中,用二分法查找关键码值 11,所需的关键码比较次数为 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 36 对于 n个结点的单向链表 (无表头结点 ),需要指针单元的个数至少为 ( )。 ( A) n-1 ( B) n ( C) n+1 ( D) 2n 37 在软件开发过程中,软件结构设计是描述 ( )。 ( A)数据存储结构 ( B)软件体系结构 ( C)软件结构测试 ( D)软件控制过程 38 模块本身的内聚是模块独立性的重要性度量因素之一。在 7类内聚中,具有
13、最强内聚的一类是 ( )。 ( A)顺序性内聚 ( B)过程性内聚 ( C)逻辑性内聚 ( D)功能性内聚 39 数据存储和数据流都是 ( ),仅仅是所处的状态不同。 ( A)分析结果 ( B)事件 ( C)动作 ( D)数据 40 数据的完整性是指数据的正确性、有效性和 ( )。 ( A)可维护性 ( B)独立性 ( C)安全性 ( D)相容性 二、基本操作题 41 在考生文件夹下已有表单文件 formtest.scx,其中包含一个文本框、一个表格和两个命令按钮。请按下面要求完成相应的操作: 通过 “属性 ”窗口,将文本框 Text1的 Value属性值设置为当前系统日期 (日期型,不含时间
14、 )。 通过 “属性 ”窗口,将表格 Grid1的 RecordResourceType属性值设置为 “4-SQL说明 ”。 修改 “确定 ”按钮的 Click事件代码。当单击该按钮时,表格 Grid1内将显示指定日期以后 (含 )签订的订单信息 (包括 “订单号 ”、 “订购日期 ”和 “总金额 ”信息 )。 设置 “退出 ”按钮的 Click事件代码。当单击该按钮时,将释放并关闭表单。 三、简单应用题 42 建立表单 my,表单含有两个按钮,标题分别为 “确定 ”和 “退出 ”。单击 “确定 ”,弹出对话框显示 “你好 !”;单击 “关闭 ”,关闭表单。 四、综合应用题 43 现有数据库
15、hospital,包括 3个表文件: doctor.dbf(医生 )、 medicine.dbf(药品 )和formula.dbf。 (处方 )。设计一个名为 cx 的菜单,菜单中有两个菜单项: “查询 ”和“退出 ”。 程序运行时,单击 “查询 ”应完成下列操作:查询同一处方中,包含 “感冒 ”两个字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,把查询结果按处方号升序排序存入 result表中。 result的结构为 (姓名,年龄,处方号,药名,生产厂 )。 单击 “退出 ”菜单项,程序终止运行。 (注:相关资料表文件存在于考生文件夹下。 ) 国家二级( VF)机试模拟试卷 3答案与解
16、析 一、选择题 1 【正确答案】 D 【试题解析】 在链式存储结构中,存储数据结构的存储空间可以是连续的,也可以是不连续的,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致。 2 【正确答案】 A 【试题解析】 从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项 A。 3 【正确答案】 B 【试题解析】 一般来说,一种数据结构根据需要可以表示成 多种存储结构。常用的存储结构有顺序、链接、索引等,而采用不同的存储结构,其数据处理的效率是不同
17、的;一个数据结构中的各数据元素在计算机存储空间中的位置关系与逻辑关系是有可能不同的。 4 【正确答案】 D 【试题解析】 希尔排序的基本思想是把记录按下标的一定增量分组,对每组记录使用插入排序,随增量的逐渐减小,所分成的组包含的记录越来越多,到增量的值减小到 1时,整个数据合成一组,构成一组有序记录,故其属于插入排序方法。 5 【正确答案】 D 【试题解析】 常见的需求分析方法有结构化分析方法和面 向对象的分析方法两类。其中结构化分析方法又包括面向数据流的结构化分析方法 (SA-Structured analysis),面向数据结构的 Jackson方法 (JSD-Jackson system
18、 development method)和面向数据结构的结构化数据系统开发方法 (DSSD-Data structured system development method)。 6 【正确答案】 C 【试题解析】 详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,但详细设计阶段 的任务还不是具体的编写程序,而是要设计出程序的 “蓝图 ”,以后程序员将根据这个蓝图写出实际的程序代码,因此,详细设计阶段的结果基本上就决定了最终的程序代码的质量。 7 【正确答案】 B 【试题解析】 静态测试包括代码检查、静态结构分析和代码质量度量等。其中白盒测试属于动态测试。 8 【正确答案】 C 【试
19、题解析】 现实世界中事物之间的联系在信息世界中反映为实体集之间的联系,实体集间的联系个数不仅可以是单个的也可以是多个的,这种关系可以有下面几种对应:一对一、一对多 (多对一 )多对多。 9 【正确答案】 C 【试题解析】 在关系模型的数据语言中,一般除了运用常规的集合运算 (并、交、差、笛卡尔积等 ),还定义了一些专门的关系运算,如投影、选择、连接等。前者是将关系 (即二维表 )看成是元组的集合,这些运算主要是从二维表的行的方向来进行的。后者是从二维表的列的方向来进行运算的。 10 【正确答案】 B 【试题解析】 关系数据库建立在关系数据模型基础上,具有严格的数学理论基础。关系数据库对数据的操
20、作除了包括集合代数的并、差等运算之外,更定义了一组专门的关系运算:连接、选择和投影。关系运算 的特点是运算的对象都是表。 11 【正确答案】 D 【试题解析】 文件管理方式本质上是把数据组织成文件形式存储在磁盘上,所以文件是操作系统管理数据的基本单位。 12 【正确答案】 C 【试题解析】 数据环境设计器用于定义表单或报表中使用的数据源,包括表、视图等。 13 【正确答案】 B 【试题解析】 两个数值型数据相减,用其值直接相减;两个字符型数据相减,实际上是两个字符串的非完全连接;两个日期型数据相减是计算两个日期之间的相差天数;而逻辑型数据是不允许相减的,逻辑型数据之间可 以比较大小。 14 【
21、正确答案】 C 【试题解析】 在 Visual FoxPro中,用 DIMENSION和 DECLARE 都可以定义数组,新定义数组的各个数组元素初值为 .F.,且 Visual FoxPro 中只支持一维数组和二维数组,数组中元素的数据类型可以不同。 15 【正确答案】 C 【试题解析】 选项 A)和 B)都是将两个字符串相加,即连接,结果为新的字符串,选项 D)为日期型 +数值型,结果仍为日期型,选项 C)为两个逻辑常量相加,在 Visual FoxPro 中,无此类运算。 16 【 正确答案】 B 【试题解析】 在 “数据工作期 ”窗口中, “一对多 ”按钮,用来实现父表中的一条记录与子
22、表中的多条记录建立关联。 17 【正确答案】 D 【试题解析】 空值 (NULL)是指尚未输入的值或还没有确定的值。 18 【正确答案】 A 【试题解析】 设置参照完整性必须在数据库中完成,因此要求这两个数据表必须在同一个数据库中。 19 【正确答案】 D 【试题解析】 GO 是按记录号进行定位的,无论表中记录如何改变,记录号是不变的; GO TOP和 GO BOTTOM分别指向表中 第一条和最后一条记录,当表中建立索引时,记录的次序会随之改变; SKIP为向下移动一条记录。 20 【正确答案】 C 【试题解析】 不带参数的 REPLACE 语句,默认修改当前指针所指的记录。本题中,修改当前记
23、录的基本工资字段的值为原来的 1.2倍,即 500*1.2=600。 21 【正确答案】 C 【试题解析】 本题中,数值型字段的整数位为 4,小数位为 2,再加上 1个小数点位,占 1个字节,和 1个符号位,占 1个字符,实际宽度应为 8。 22 【正确答案】 C 【试题解析】 EDIT、 BROWSE 和 CHANGE 命令都可对记录进行修改编辑,但只能在交互式环境或浏览窗口进行逐条修改,对数据表中记录做相同规律的修改时,可使用 REPLACE 命令直接修改。 23 【正确答案】 B 【试题解析】 SQL定义功能中,利用 CREATE INDEX命令可以建立表的索引,选项 A)定义一个新表,
24、选项 C)定义一个视图,选项 D)可以为表建立索引,但不属于 SQL 语句。 24 【正确答案】 C 【试题解析】 查询输出到临时表中,产生的临时表文件的后缀名仍为 dbf,且该临时表文件是当前文件,可以像一般 的 dbf文件一样使用,但仅是只读文件,当关闭文件时,临时表文件将自动被删除。 25 【正确答案】 B 【试题解析】 利用 DISTINCT 短语可消除查询结果中重复出现的记录值。 26 【正确答案】 D 【试题解析】 建立查询时,会打开 “添加表或视图 ”的对话框,用来指定建立查询的数据源,数据源可以是自由表、数据库表或视图。 27 【正确答案】 C 【试题解析】 视图设计中依次包含
25、字段、联接、筛选、排序依据、分组依据、更新条件和杂项 7个选项卡。 28 【正确答案】 A 【试 题解析】 “跟踪 ”窗口用于显示正在执行的程序文件; “监视 ”窗口用于监视指定表达式在程序调试执行过程中的取值变化情况; “局部 ”窗口用于显示模块程序(程序、过程和方法程序 )中内存变量的名称、当前取值和类型, “调试输出 ”窗口显示当前处于执行的程序、过程或方法程序,当正在执行的是子程序时,主程序和子程序的名称都会显示在该窗口。 29 【正确答案】 B 【试题解析】 在循环体中, IF短语判断当计算机成绩大于等于 60 时,记录指针下移并结束本次循环。而当计算机成绩小于 60 时,执行 EN
26、DIF之后的语句,即DISPLAY,显示记录之后,记录指针下移,继续处理表中的下一条记录,直到表结束。 30 【正确答案】 C 【试题解析】 Visual FoxPro 中,表单控件工具栏中包括文本框、命令按钮等其他许多控件,用于在表单上创建各种不同控件。 31 【正确答案】 D 【试题解析】 Click 是鼠标单击事件, DbClick 是鼠标双击事件, RishtClick 是鼠标右击事件。 32 【正确答案】 D 【试题解析】 本题中 SQL 查询属于多表联接查询,注意条件中关联字段的选取以及逻辑条件的设置。选项 A)和选项 B)中都缺少查询的数据表,且查询条件有误;选项 C)中查询条件
27、错误,应使用 AND进行条件连接,而不是 OR。 33 【正确答案】 C 【试题解析】 栈是一种后进先出表,选项 C中,先出栈的是 3,说明此时栈内必然有 1、 2,由于 1先于 2进栈,所以它不可能在 2之前出栈,故选项 C这种出栈序列是不可能的。 34 【正确答案】 A 【试题解析】 希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。 35 【正确答案】 C 【试题解析】 二分法查找是用查找的关键码与 线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或者右边,子表按相同的方法继续查找。本题中,与 11比较的关键码分别为 15, 8, 10, 12
28、,故比较次数为 4。 36 【正确答案】 C 【试题解析】 在 n个结点的单向链表 (无表头结点 )中,每个结点都有一个指针单元 (即指针域 ),加上头指针,至少需要叶 1个指针单元。 37 【正确答案】 B 【试题解析】 从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。概要设计 (又称结构设计 )将软件需求转化为软件体系结构,确定系统级接口 、全局数据结构或数据库模式。 38 【正确答案】 D 【试题解析】 内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。内聚是从功能角度来度量模块内的联系。内聚共有 7类,它们之间的内聚性由弱到强排列顺序为:偶然内聚、逻辑内聚、时间内聚、过
29、程内聚、通信内聚、顺序内聚和功能内聚。 39 【正确答案】 D 【试题解析】 数据流图有 4种成分:源点或终点、处理、数据存储和数据流。数据存储是处于静止状态的数据,数据流是处于运动中的数据。 40 【正确答案】 D 【试题解析】 数据模型应该 反映和规定本数据模型必须遵守的、基本的、通用的完整性约束条件。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确性、有效性和相容性。 二、基本操作题 41 【正确答案】 步骤 1:单击工具栏的 打开 按钮,选择 文件类型 中的 “表单 ”选项,单击 formtest.scx,
30、再单击 确定 按钮,即可打开表单设计器修改表单。选中表单中的文本框 (Text1)控件,然后在 “属性 ”面板中将 “Value”属性值设置为“=DATE()”。选中表 单中的表格控件,在 “属性 ”面板中将 RecordSourceType属性值设置为 “4-SQL说明 ”。 步骤 2:双击 确定 命令按钮,编写 Click事件代码。 RQ=THISFORM.TEXT1.VALUE THISFORM.GRID1.RECORDSOURCE=“; SELECT 订单 .订单号,订单 .订购日期,订单 .总金额 ; FROM 订单 ; WHERE 订单 .订购日期 =RQ; INTO CURSOR
31、 CURSOR1” 双击 退出 命令按钮,编写 Click事件 代码: ThisForm.Release 步骤 3:单击 保存 按钮,右击表单选择 “执行表单 ”,最后运行表单即可。 三、简单应用题 42 【正确答案】 步骤 1:单击工具栏的 新建 按钮,在 打开 对话框 文件类型 中选择 “表单 ”,单击 新建文件 按钮,在出现的 form上添加两个按钮控件。 步骤 2:按照题目的要求,单击 “command1”控件,在属性栏中将其 “Caption”一项改为 “确定 ”,再单击 “Command2”控件,将其 “Caption”属性改为 “退出 ”。 步骤 3:双击 “Command1”命
32、令按钮,编写 Click事件代码。 MessageBox(“你好 !“) 双击 “command2”(退出 )命令按钮,编写 Click事件代码。 ThisForm.Release 步骤 4:单击 保存 按钮,将其保存为名为 “my”的表单,在表单任意位置右击,选择 “运行表单 ”,即可观看运行结果。 四、综合应用题 43 【正确答案】 步骤 1:单击工具栏的 新建 按钮,打开 新建 对话框,在 文件类型 区选择 “菜单 ”,单击 新建文件 。打开菜单设计器,在 “菜单名称 ”中输入 “查询 ”,在 “结果 ”下拉列表框中选择 “过程 ”,单击下一行,在 “菜单名称 ”中输入 “退出 ”,在
33、“结果 ”下拉列表框中选择 “过程 ”,在右边的文本框中编写命令 “SET SYSMENU TO DEFAULT”。 步骤 2:在菜单设计器中,单击选定菜单名称下刚创建的 “查询 ”行,单击 创建 按钮,在弹出的文本框中输入以下代码。 SET TALK OFF SET SAFETY OFF OPEN DATABASE hospital SELECT 姓名,年龄,处方号,药名,生产厂 INTO TABLE result FROM; doctor, medicine, formula WHERE doctor.医生编号 =formula.医生编号 AND medicine.药品编号 =formula.;药品编号 AND 药品名称 like “%感冒 %“ ORDER BY 处方号 CLOSE ALL SET SAFETY ON SET TALK ON 步骤 3:单击工具栏的 保存 按钮,打开 另存为 对话框,输入 “cx”,单击 保存 。选择 菜单 生成 ,在 生成菜单 对话框中输入 “cx”, 单击 生成 按钮。单击工具栏的 运行 按钮,运行菜单。 步骤 4:执行 “查询 ”菜单命令后,系统自动将查询结果保存在所建立的新数据表文件 “result.dbf”中。