1、国家二级( VF)机试模拟试卷 34及答案与解析 一、选择题 1 下列数据结构中,属于非线性结构的是 ( )。 ( A)循环队列 ( B)带链队列 ( C)二叉树 ( D)带链栈 2 下列数据结构中,能够按照 “先进后出 ”原则存取数据的是 ( )。 ( A)循环队列 ( B)栈 ( C)队列 ( D)二叉树 3 对于循环队列,下列叙述中正确的是 ( )。 ( A)队头指针是固定不变的 ( B)队头指针一定大于队尾指针 ( C)队头指针一定小于队尾指针 ( D)队头指针可以大于队尾指针,也 可以小于队尾指针 4 算法的空间复杂度是指 ( )。 ( A)算法在执行过程中所需要的计算机存储空间 (
2、 B)算法所处理的数据量 ( C)算法程序中的语句或指令条数 ( D)算法在执行过程中所需要的临时工作单元数 5 软件设计中划分模块的一个准则是 ( )。 ( A)低内聚低耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)高内聚高耦合 6 下列选项中不属于结构化程序设计原则的是 ( )。 ( A)可封装 ( B)自顶向下 ( C)模块化 ( D)逐步求精 7 软件详细设计 生产的图如下: 该图是 ( ) ( A) N-S图 ( B) PAD图 ( C)程序流程图 ( D) E-R图 8 数据库管理系统是 ( )。 ( A)操作系统的一部分 ( B)在操作系统支持下的系统软件 ( C)一
3、种编译系统 ( D)一种操作系统 9 在 E-R图中,用来表示实体联系的图形是 ( )。 ( A)椭圆形 ( B)矩形 ( C)菱形 ( D)三角形 10 有三个关系 R、 S和 T如下: 则关系T是由关系 R和 S通过某种操作得到,该操作为 ( )。 ( A)选择 ( B)投影 ( C)交 ( D)并 11 假设表文件 TEST DBF已经在当前工作区打开,要修改其结构,可使用命令( )。 ( A) MODI STRU ( B) MODI COMM TEST ( C) MODI DBF ( D) MODI TYPE TEST 12 有如下赋值语句: a=“计算机 ”和 b=“微型 ”,结果为
4、 “微型机 ”的表达式是 ( )。 ( A) b+LEFT(a, 3) ( B) b+RIGHT(a, 1) ( C) b+LEFF(a, 5, 2) ( D) b+RIGHT(a, 2) 13 在 Visual FoxPro中,有 如下内存变量赋值语句: X=“20010728 10: 15: 20 PM Y= F M=$123 45 N=123 45 Z=“123 24” 执行上述赋值语句之后,内存变量 X、 Y、 M、 N和 z的数据类型分别是 ( )。 ( A) D、 L、 Y、 N、 C ( B) T、 L、 Y、 N、 C ( C) T、 L、 M、 N、 C ( D) T、 L、
5、 Y、 N、 S 14 下面程序的运行结果是 ( )。 SET EXACT ON S=“ni”+SPACE(2) IF S=“ni” IF s=“ni” ? “one” ELSE ?“two” ENDIF ELSE IF s=“ni” ?“three” ELSE ?“four” ENDIF ENDIF RETURN ( A) one ( B) two ( C) three ( D) four 15 要为当前表所有性别为 “女 ”的职工增加 100元工资,正确的命令是 ( )。 ( A) REPLACE ALL 工资 WITtt 工资 +100 ( B) REPLACE工资 WITH 工资 +1
6、00 FOR性别 =“女 ” ( C) CHANGE ALL工资 WIIH 工资 +100 ( D) CHANGE ALL工资 WITH工资 +100 FOR性别 =“女 ” 16 设 a=“计算机等级考试 ”,结果为 “考试 ”的表达式是 ( )。 ( A) Left(a, 4) ( B) Right(a, 4) ( C) Left(a, 2) ( D) Right(a, 2) 17 在 Visual FoxPro卢,通常以窗口形式出现,用以创建和修改表、表单、数 据库等应用程序组件的可视化工具称为 ( )。 ( A)向导 ( B)设计器 ( C)生成器 ( D)项目管理器 18 在 Vis
7、ual Foxpro,释放表单时会引发的事件是 ( )。 ( A) UnLoad事件 ( B) Init事件 ( C) Load事件 ( D) Release事件 19 在数据库中创建表的 CREATEFABI E命令中定义主索引、实现实体完整性规则的短语是 ( )。 ( A) FOREIGN KEY ( B) DEFAUUI ( C) PRIMARY KEY ( D) CHECK 20 在 Visual FoxPro 中,以下关于查询的描述正确的是 ( )。 ( A)不能用自由表建立查询 ( B)只能用自由表建立查询 ( C)不能用数据库表建立查询 ( D)可以用数据库表和自由表建立查询 2
8、1 在 Visual FoxPro#,数据库表字段的有效性规则的设置可以在 ( )。 ( A)项目管理器中进行 ( B)数据库设计器中进行 ( C)表设计器中进行 ( D)表单设计器中进行 22 在 Visual FoxPro的数据库表中只能有一个 ( )。 ( A)候选索引 ( B)普通索引 ( C)主索引 ( D)唯一索引 23 在 Visual FoxPro中以下叙述正确的是 ( )。 ( A)表也被称作表单 ( B)用 CREATE DATABASE命令建立的数据库文件不存储用户数据 ( C)用 CREATE DATABASE命令建立的数据库文件的扩展名是 DBF ( D)一个数据库中
9、的所有表文件存储在一个物理文件中 24 在 Visual FoxPro 中,菜单程序文件的默认扩展名是 ( )。 ( A) mnx ( B) mnt ( C) mpl ( D) prg 25 下面有关数据库表和自由表的叙述中,错误的是 ( )。 ( A)数据库表和自由表都可以用表设计器来建立 ( B)数据库表和自由表都支持表问联系和参照完整性 ( C)自由表可以添加到数据库中成为数据库表 ( D)数据库表可以从数据库中移出成为自由表 26 在视图设计器中有,而在查询设计器中没有的选项卡是 ( )。 ( A)排序依据 ( B)更新条件 ( C)分组依据 ( D)杂项 27 为 “歌手 ”表增加一
10、个字段 “最后得分 ”的 SQL语句是 ( )。 ( A) ALTER TABLE歌手 ADD最后得分 F(6, 2) ( B) ALTER DBF歌手 ADD最后得分 F 6, 2 ( C) CHANGE TABLE歌手 ADD最后得分 F(6, 2) ( D) CHANGE TABLE学院 INSERT最后得分 F 6, 2 28 设有关系歌手 (歌手号,姓名,最后得分 )和关系评分 (歌手号,分数,评委号 ),每个歌手的最后得分是所有评委给出的分数的平均值,则计算歌手 “最后得分 ”的SQL语句是 ( )。 ( A) UPDATE歌手 SET最后得分 =(SELECT AVG(分数 )F
11、ROM评分 WHERE歌手号 =歌手歌手号 ) ( B) UPDATE歌手 SET最后得分 EXISTS(SELECT AVG(分数 )FROM评分WHERE歌手号 =歌手歌手号 ) ( C) UPDATE歌手 SET最后得分 =(SELECT AVG(分数 )FROM评分 ) ( D) UPDATE歌手 SET最后得分 =(SELECT AVG(分数 )FROM评分 GROUP BY评委号 ) 29 设有关系评分 (歌手号,分数,评委号 ),插入一条记录到 “评分 ”关系,歌手号、分数和评委号的值分别是 “1001”、 9 9和 “105”,正确的 sQL语句是 ( )。 ( A) INSE
12、RT VALUES(”1001”, 9 9, ”105”)INTO评分 (歌手号,分数,评委号 ) ( B) INSERT TO评分 (歌手号,分数,评委号 )VALUES(”1001”, 9 9, ”105”) ( C) INSERT INTO评分 (歌手号,分数,评委号 )VALUES(”1001”, 9 9, ”105”) ( D) INSERT VALUES(”1001”, 9 9, ”105”)TO评分 (歌手号,分数,评委号 ) 30 设有关系评分 (歌手号,分数,评委号 ),如果每个歌手的 “最后得分 ”的计算方法是:去掉一个最高分和 一个最低分,取剩下分数的平均分。根据关系 “
13、评分 ”求每个歌手的 “最后得分 ”并存储于表 TEMP中,表 TEMP中有两个字段: “歌手号 ”和“最后得分 ”,并且按最后得分降序排列,生成表 TEMP的 SQL语句是 ( )。 ( A) SELECT歌手号, (COUNT(分数 )-MAX(分数 )-MIN(分数 ) (SUM(*)-2)最后得分 FROM评分 INTO DBF TEMP GROUP BY歌手号 ORDER BY最后得分 DESC ( B) SELECT歌手号, (COUNT(分数 )-MAX(分数 )-MIN(分数 ) (SUM(*)-2)最后得分 FROM评分 INTO DBF TEMP GROUP BY评委号 O
14、RDER BY最后得分 DESC ( C) SELECT歌手号, (SUM(分数 )-MAX(分数 )-MIN(分数 ) (COUNT(*)-2)最后得分 FROM评分 INTO DBF TEMP GROUP BY评委号 ORDER BY最后得分 DESC ( D) SELECT歌手号, (SUM(分数 )-MAX(分数 )-MIN(分数 ) (COUNT(*)-2)最后得分 FROM评分 INTO DBF TEMP GROUP BY歌手号 ORDER BY最后得分 DESC 31 与 “SELECT*FROM歌手 WHERE NOT(最后得分 9 00 OR最后得分 =8 00 AND最后得
15、分 9 00 OR最后得分 =9 00 32 为 “评分 ”表的 “分数 ”字段添加有效性规则: “分数必须大于等于 0并且小于等于10”,正确的 SQL语句是 ( )。 ( A) CHANGE TABLE评分 ALTER分数 SET CHECK分数 =0 AND分数 =0 AND分数 =0 AND分数 =0 OR分数 =ALL; (SELECT最后得分 FROM歌手 WHERE SUBSTR(歌手号, 1, 1)=”2”)”等价的 SQL语句是( )。 ( A) SELECT DISTINCT歌手号 FROM歌手 WHERE最后得分 =(SELECT MAX(最后得分 )FROM歌手 WHE
16、RE SUBSTR (歌手号, 1, 1)=”2”) ( B) SELECT DISTINCT歌手号 FROM歌手 WHERE最后得分 =(SELECT MIN(最后得分 )FROM歌手 WHERE SUBSTR (歌手号, 1, 1)=”2”) ( C) SELECT DISTINCT歌手号 FROM歌手 WHERE最后得分 =ANY(SELECT最后得分 FROM歌手 WHERE SUBSTR (歌手号, 1, 1)=”2”) ( D) SELECT DISTINCT歌手 号 FROM歌手 WHERE最后得分 =SOME(SELECT最后得分 FROM歌手 WHERE SUBSTR (歌手
17、号, 1, 1)=”2”) 37 下面关于运行应用程序的说法正确的是 ( )。 ( A) .app应用程序可以在 Visual FoxPro和 Windows环境下运行 ( B) app应用程序只能在 Windows环境下运行 ( C) exe应用程序可以在 Visual FoxPro和 Windows环境下运行 ( D) exe应用程序只能在 Windows环境下运行 38 在表单控件中,不属于容器型控件的是 ( )。 ( A)组合框 ( B)选项组 ( C)页框 ( D)表格 39 假设有一表单,其中包含一个选项按钮组,在表单运行启动时,最后触发的事件是 ( )。 ( A)表单的 Load
18、 ( B)表单的 Init ( C)选项按钮的 Init ( D)选项按钮组的 Init 二、基本操作题 40 1在考生文件夹下建立一个名为 emp_bak的表,其结构与 employee表的结构完全相同。 2为 employee表的 “职员号 ”字段建立一个候选索引, 索引名为 empid,表达式为 “职员号 ”。 3使用报表向导生成一个名为 employee frx的报表文件,其中包括 employee表的职员号、姓名、性别和职务 4个字段,报表样式设为 “简报式 ”,将其按 “职员号 ”升序排序,报表标题则设为 “职员一览表 ”。 4建立一个名为 one prg的命令文件,该文件包含一条
19、运行 (预览 )报表文件employee frx的命令。 三、简单应用题 41 1用 SQL语句完成下列操作:检索 “田亮 ”所借图书的书名、作者和价格,结果按价格降序存入 book_temp表 中。 2在考生文件夹下有一个名为 menu_lin的下拉式菜单,请设计一个名为form_menu的顶层表单,将菜单 menu_lin加入到该表单中,使得运行时菜单显示在该表单中,并且,表单退出时释放菜单。 四、综合应用题 42 考生文件夹下的自由表 employee中存放着职员的相关数据。 1利用表设计器为 employee表创建一个普通索引,索引表达式为 “姓名 ”,索引名为 xm。 2打开考生文件
20、夹下的表单文件 formone,然后设置表单的 Load事件,代码的功能是打开 employee表,并将索引 xm设置为当前索引。 3在表单 formone中添加一个列表框,并设置列表框的名称为 mylisl,高度为60,可以多重选择。 4设置表单 formone中 mylist列表框的相关属性,其中 RowSomceType属性为字段,使得当表单运行时,列表框内显示 employee表中姓名字段的值。 国家二级( VF)机试模拟试卷 34答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。 2 【正确答 案】 B 【试题
21、解析】 栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。 3 【正确答案】 D 【试题解析】 循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。 4 【正确答案】 A 【试题解析】 算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择 A)。 5 【正确答案】 B 【试题解析】 一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模 块之间的耦合性和提高模块内的内聚性,利于提高模块的独立性。 6 【正确答案】 A 【试题解析】 结构化程序设计的思想包括:自顶向下、逐步
22、求精、模块化、限制使用 goto语句,所以选择 A)。 7 【正确答案】 C 【试题解析】 NS图提出了用方框图来代替传统的程序流程图,所以 A)不对。PAD图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,所以 B)不对。 ER图是数据库中的用于表示ER模型的图示工具,所以 D)不对。根据图中所示表示方法是进行 软件详细设计时使用的程序流程图。 8 【正确答案】 B 【试题解析】 数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。 9 【正确答案】
23、C 【试题解析】 在 ER图中实体集用矩形,属性用椭圆,联系用菱形。 10 【正确答案】 D 【试题解析】 在关系 T中包含了关系 R与 s中的所有元组,所以进行的是并的运算。 11 【正确答案】 A 【试题解析】 要用命令修改表结构,先用 USE打开要修改的表,然后使用MODIFY STRUCTURE打开表设计器,对表结构进行修改。 12 【正确答案】 D 【试题解析】 LEFT(, )函数从指定表达式左端截取一个指定长度的子串作为函数值。 RIGHT(, )函数从指定表达式右端截取一个指定长度的子串作为函数值。在 Visual FoxPro中,一个汉字的长度为2。所以 RIGHT(a, 2
24、)的值是 “机 ”, b+RIGHT(a, 2)=”微型机 ”。 13 【正确答案】 B 【试题解析】 根据赋值的 内容判断, x是日期时间型 (T), Y是逻辑型 (L), M是货币型 (Y), N是数值型 (N), z是字符型 (C)。 14 【正确答案】 C 【试题解析】 在用双等号运算符 (=: )比较两个字符串时,只有当两个字符串完全相同 (包括空格以及各字符的位置 )时,运算结果才会是逻辑真 T,否则为逻辑假 F;在用单等号运算符 (=)比较两个字符串时,运算结果与 SET EXACTON I OFF的设置有关:当设置 ON时,先在较短字符串的尾部加上若干个空格,使两个字符串的长度
25、相等,然后再进行精确比较,当设置 OFF时,只要右 边字符串与左边字符串的前面部分内容相匹配,即可得到逻辑真 T的结果,即字符串的比较因右面的字符串结束而终止。 15 【正确答案】 B 【试题解析】 在 visual FoxPm中, CHANGE和 REPLACE命令都具有修改表记录的功能,但是, CHANGE命令只能用于交互环境中对当前记录进行编辑、修改,因此首先排除选项 C)和 D)。使用 REPLACE命令可以直接用指定的表达式或值改记录,如果使用 FOR短语,则修改逻辑表达式值为真的所有记录,选项 A)使用了 ALL短语,执行结果是修改表中所有记录,与题目要 求不符。 16 【正确答案
26、】 B 17 【正确答案】 D 【试题解析】 数组创建后,系统自动给每个数组元素赋以逻辑假 F。 18 【正确答案】 B 19 【正确答案】 A 20 【正确答案】 C 【试题解析】 存建立表的语句 cREATE TABLE中, FORGN KEY短语用于建立和加强两个表数据之间的链接的一列或多列,即外键约束; PRIMARY KEY短语用于定义满足实体完整性的主索引, DEFAuLT短语用于定义属性的默认值;CHECK短语是用于定义属性的有效性规则的。 21 【正确答案】 D 【试题解析】 创建查询必须基于确定的数据源。从类型上讲,数据源可以是自由表、数据库表或视图。从数量上讲,源表可以是单
27、张表或多张表。多张表一般是指多张相关的表。 22 【正确答案】 C 【试题解析】 建立字段有效性规则比较简单直接的方法是在表设计器中建立,在表设计器的 “字段 ”选项卡中有一组定义字段有效性规则的项目,它们是 “规则 ”、“信息 ”、 “默认值 ”三项。其中 “规则 ”是逻辑表达式, “信息 ”是字符串表达式, “默认值 ”的类型则以字段的类型确定。 23 【正确答案】 C 【试题解析】 Visual FoxPr0巾的索引分为主索引、候选索引、唯一索引和普通索引四种。主索引是在指定字段或表达式中不允许出现重复值的索引,主索引可以看作表中的主关键字,一个表中只能有一个主索引;候选索引和主索引具有
28、相同的特性,但候选索引可以有多个;唯一索引是索引项的唯一,而不是字段值的唯一;普通索引既允许字段中出现重复值,也允许索引项中出现重复值。 24 【正确答案】 B 【试题解析】 表是关系数据库的一个关系,而表单是 Visual FoxPr0提供的用于建立应用程序界面的最主要 的工具之一,表单内可以包含命令按钮、文本框、列表框等各种界面元素,产生标准的窗口或对话框,所以表和表单是不同的概念, A)选项中表也被称作表单的说法不正确;用 cREATE DATABASE命令建立的是数据库文件,而数据库是一个逻辑上的概念和手段,它通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一组织和管理,数据
29、库文件不包含用户数据,用户数据是存储在表文件中, B)选项说法正确;数据库文件的扩展名是DBC,而 DBF是数据库表文件, C)选项的说法不正确;在 Visual FoxPro每个表都对应一个 DBF文件,即都对应一个物理文件,所以一个数据库中的所有表文件存储在一个物理文件中的说法不正确。 25 【正确答案】 C 【试题解析】 菜单程序文件的扩展名是 mpr; mNx是菜单文件的扩展名; mnt是菜单备注文件的扩展名; prg是程序文件的扩展名。 26 【正确答案】 B 【试题解析】 所渭自由表,就是那些不属于任何数据库的表,在 Visual FoXPro中创建表时,如果当前没有打开数据库,则
30、创建的表也是自由表。可以将自由表添加到数据库中,使之成为数据库表;也可以将数据库表从数据库中移出,使之成为自由表。所以 A)选项数据库表和自由表都可以用表设计器米建立的说法正确; c)、 D)选项的说法也正确; l而 B)选项中,由于自由表不属于任何数据库,所以不支持表间联系和参照完整性, B)选项说法不正确。 27 【正确答案】 B 【试题解析】 视图可以更新其中的信息,并将更新结果永久保存在磁盘上,这也是视图与查询的一个重要区别,所以视图设计器比查询设计器多了一个 “更新条件 ”选项卡。 28 【正确答案】 A 29 【正确答案】 A 30 【正确答案】 C 31 【正确答案】 D 32
31、【正确答案】 B 【试题解析】 题干的 sQL语句的含义是,从 “歌手 ”表中查询最后得分在 8和 9之间的记录。表示在 和 之间,其中包含等于,即大于等于 AND前面的数,小于等于 AND后面的数,因此 A)选项的条件错误,应该为 BETWEEN 8 00 AND 9 00。 B)为正确答案。 33 【正确答案】 B 34 【正确答案】 A 35 【正确答案】 D 【试题解析】 视图由于是从表派生而来的,所以不存在修改结构的问题,但是视图可以删除,其命令格式为: DR()PVIEW。本题要删除 视图 myview,正确的命令应为 DR()P VIEw myview,即 D)选项正确。 36
32、【正确答案】 B 【试题解析】 在 SQL查询语句的尾部添加 INTO ARRAY可以将查询的结果放人指定的数组中。本题 B)选项的格式正确。 37 【正确答案】 A 38 【正确答案】 C 39 【正确答案】 A 二、基本操作题 40 【正确答案】 (1)能在命令窗口中输入命令 “use employee”,按回车键;接着输入命令 “copy stru to emp_bak dbf”,并 按回车键。也可以通过常用工具栏中的 “打开 ”按钮来先打开 employee表,然后在命令窗口输入 “copy stru to emp_bak dbf”,并按回车键。 (2)打开考生文件夹下的 “emplo
33、yee”表,在命令窗口输入 “modi stru”命令,在表设计器中按要求为表设置候选索引,索引名为 “empid”,索引表达式为 “职员号 ”。 (3)单击工具栏中的 “新建 ”按钮,通过报表向导新建一个报表,向其中添加employee表,然后按要求将指定字段添加到报表中,并将 “职员号 ”设置升序排 J序。修改报 表样式为 “简报式 ”,报表标题改为 “职员一览表 ”。最后将报表保存争employee frx。 (4)单击工具栏中的 “新建 ”按钮,新建一个名为 one的程序文件,并在其中输入代码 “repot form employee”,最后在命令窗口输入 “DO one prg”运行
34、程序,查看报表的预览结果。 三、简单应用题 41 【正确答案】 (1)操作步骤 在命令窗口中输入如下查询语句,输入完成后按回车键即可。 SELECT Book书名, Book作者, Book价格; FROM book, loans, borrows; WHERE Loans借书证号 =Borrows借书证号; AND Book图书登记号 =Loans图书登记号; AND Borrows姓名 =“田亮 ”; ORDER BY Book价格 DESC; INTO TABLE book_temp dbf (2)操作步骤 步骤 l:单击工具栏中的 “打开 ”按钮,在 “打开 ”对话框中选择考生文件夹下
35、的menu_Jin mnx文件,单击 “确定 ”按钮。选择 “显示 ”菜单下的 “常规选项 ”命令 ,在“常规选项 ”对话框中选择 “顶层表单 ”复选框。 步骤 2:在命令窗口输入命令 creat form form_menu,新建表单 form_menu,设置表单的 ShowWindow属性为 “2-作为顶层表单 ” 步骤 3:双击表单空白处,打开代码编辑窗口,选择表单对象的 Init事件,输入以下代码: DO menu_lin mpr With This, “abc P” 再选择表单对象的 Destroy事件,输入以下代码: Release Menu abc Extended 步 骤 4:
36、单击工具栏上的 “保存 ”按钮,最后单击 “运行 ”按钮实现操作。 四、综合应用题 42 【正确答案】 (1)打开 “employee”表的表设计器,单击 “索引 ”选项卡,在索引名处输入 “xm”,类型选择 “普通索引 ”,表达式为 “姓名 ”。 (2)打开表单文件 formone scx,然后设置表单的 Load事件代码如下。 use employee dbf set order to xm (3)选中控件工具栏里的 “列表框 ”按钮,在表单设计器中拖动鼠标,这样在表单上得到一个 “列表框 ”对 象 List1,设置它的 Name属性为 “mylist”, Height属性为“60”, MultiSetect属性为 T。 (4)在属性窗口设置 mylist列表框的 RowSourceType属性为 “6-字段 ”,RowSource属性为 “employee姓名 ”。