1、国家二级( VF)机试模拟试卷 45及答案与解析 一、选择题 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)插 A ( D)连接 10 将 E-R图转换为关系模式时,实体和联系都可以表示为 ( )。 ( A)属性 ( B)键 ( C)关系 ( D)域 11 在 Visual FoxPro中,有如下程序,函数 HF()返回值是
4、 ( )。 木程序 PRIVATE X, Y STORE“男 ”TO X Y=LEN(X)+2 ? IIF(Y”用来筛选满足条件的 ( )。 ( 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) (
5、B) INSERT INTO SO(SNO, CNO, GRADE)VALUES(S101, C11, 98) ( C) INSERT(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 与 “SE
6、LECT*FROM学生 INTO DBF A”等价的语句是 ( )。 ( A) SELECT*FROM学生 INTO 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出生地 =北京 A
7、ND出生地 =上海 ( D) SELECT*FROM学生 WHERE出生地 =北京 OR出生地 =上海 34 在 SQL语句中,与表达式 “年龄 BETWEEN 12 AND 46”功能相同的表达式是( )。 ( A)年龄 =12 OR =46 ( B)年龄 =12 AND =46 ( C)年龄 =12 OR年龄 =46 ( D)年龄 =12 AND年龄 =46 35 在 SELECT语句中,以下有关 HAVING短语的正确叙述是 ( )。 ( A) HAVING短语必须与 GROUP BY短语同时使用 ( B)使用 HAVING短语的同时不能使用 WHERE短语 ( C) HAVING短语可
8、以在任意的一个位置出现 ( D) HAVING短语与 WHERE短语功能相同 36 在 SQL的 SELECT查询的结果中,消除重复记录的方法是 ( )。 ( A)通过指定主索引实现 ( B)通过指定唯一索引实现 ( C)使用 DISTINCT短语实现 ( D)使用 WHERE短语实现 37 在 Visual FoxPro中,如果要将学生表 S(学号,姓名,性别,年龄 )中 “年龄 ”属性删除,正确的 SQL命令是 ( )。 ( A) ALTER TABLE S DROP COLUMN年龄 ( B) DELETE年龄 FROM S ( C) ALTER TABLE S DELETE COLUM
9、N年龄 ( D) ALTER TABLE S DELETE年龄 38 在菜单设计中,可以在定义菜单名称时为菜单项指定一个访问键。指定访问键为 “X”的菜单项名称定义 是 ( )。 ( A)综合查询 ( x) ( B)综合查询 ( x) ( C)综合查询 ( , , )函数如果前字符串是后字符串的子串,返回前字符串首字符在后字符串中第几次出现的位置,表达式 at(“MyTeacher“, 3, 7)不正确; substr函数从指定表达式值的指定位置取指定长度的子串作为函数, substr(“MyTeacher“, 3, 7)的值为 “Teacher“;left从指定表达式值的左端取一个指定长度的
10、子串作为函数值,right(“MyTeacher“, 7)的值为 “Teacher“; right从指定表达式值的右端取一个指定长度的子串作为 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函数字符转换成日期,返回值是日
11、期型; 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, FieldName2WITH eExpression2FOR iExpression 本题中 A、 C选项不对
12、。因要对所有学生的总分增加 10分,所以要用 ALL表示全部记录。 18 【正确答案】 A 【试题解析】 建立字段有效性规则比较简单直接的方法是在表设计器中建立,在表设计器的 “字段 ”选项卡中有一组定义字段有效性规则的项目,它们是 “规则 ”(字段有效性规则 )、 “信息 ”(违背字段有效性规则时的提示信息 )、 “默认值 ”(字段的默认值 )三项。其中 “规则 ”是逻辑表达式, “信息 ”是字符串表达式, “默认值 ”的类型则以字段的类型确定。 19 【正确答案】 D 【试题解析】 mnx是菜单文件的扩展名;备注文件的扩展名是 fpt;项目文件的扩展名是 pjx;表单文件的扩展名是 scx
13、。 20 【正确答案】 C 【试题解析】 每一个变量都有一个名字,可以通过变量名访问变量。如果当前表中存在一个和内存变量同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀 M (或 M-),否则系统将访问同名的字段变量。 21 【正确答案】 B 【试题解析】 在命令窗口执行人 MODIFY STRUC_TURE命令,则打开表设计器,对表结构进 行修改;修改数据库的命令是 MODIFY DATABASE;修改记录值的命令是 RE-PLACE。 22 【正确答案】 A 【试题解析】 以命令方式执行查询的命令格式是: DO QueryFile, QueryFile是扩展名为 qpr的查询文件
14、。 23 【正确答案】 A 【试题解析】 参照完整性规则的更新规则中 “级联 ”的含义是更新父表中的连接字段值时,用新的连接字段值自动修改子表中的所有相关记录; “限制 ”的含义是若子表中有与父表相关的记录,则禁止修改父表中的连接字段值; “忽略 ”的含义是不作参照 完整性检查,即可以随意更新父表中的连接字段值。 24 【正确答案】 A 【试题解析】 CREATE DATABASE的命令是创建数据库。 25 【正确答案】 B 【试题解析】 运行程序文件的命令方式是: DO。文件为扩展名为 prg的程序文件。 26 【正确答案】 C 【试题解析】 客观世界里任何实体都可以被视为对象,对象可以是具
15、体事物,也可以指某些概念。所以数据环境是一个对象,它有自己的属性、方法和事件。关联是数据环境中的对象,它也有自己的属性、方法和事件。 27 【正确答案】 C 【试题解析】 视图是数据库中的一个特有功能,视图只能创建在数据库里。而查询从指定的表或视图中提取满足条件的记录,可以不在数据库中创建。因此视图只能在数据库中建立,而查询可以不在数据库中建立。 28 【正确答案】 A 【试题解析】 SQL可以完成数据库操作要求的所有功能,包括数据查询、数据操作、数据定义和数据控制,是一种全能的数据库语言。其中,数据操作功能所对应的命令为 IN-SERT、 UPDATE、 DELETE。 29 【正确答案】
16、D 【试题解析】 在 SQL的 SELECT语句中 HAVING短语要结合 GROUP BY使用,用来进一步限定满足分组条件的元组,因此 D选项正确。 30 【正确答案】 D 【试题解析】 插入命令: INSERT INTO(, )VALUES(eExpressionl , eExpres-sion2, ) ,若插入的是完整的记录时,可以省略 , ;另外, SNO、 CNO为字符型,故其属性值需要加引号,数值型数据不需要加引号。 31 【正确答案】 B 【试题解析】 SELECT短语中除了包含表中的列及其构成的表达式外,还可以包括常量等其他元素,在 SELECT短语中可以使用别名,并规定了结果
17、集中的列顺序,如果 FROM短语中引用的两个表有同名的列,则 SELECT短语引用它们时必须使用表名前缀加以限定。 32 【正确答案】 B 【试题解析】 在 SQL查询语句的尾部添加 INTO DBFI TABLE DROPCOLUMN DROP PRIMARY。 KEY TAG DROP UNIQUE TAG DROP CHECK 其中, DROPCOI,UMN删除指定的字段; DROP PRIMARY KEY删除主索引; DROP UNIQUE TAG删除候选索引;DROP CHECK删除有效性规则。本题要删除 “年龄 ”属性,正确的命令应该是DROP COLUMN年龄。 38 【正确答案
18、】 C 【试题解析】 “菜单名称 ”列指定菜单项的名称,也称为标题,可为菜单设置访问键和分组线:设置访问键的方法为,在作为访问键的字符前加上 “ ”两个字符。本题 “综合查询 ( x)”,那么字母 x即为该菜单项的访问键。因此 C选项正确。 39 【正确答案】 A 【试题解析】 组合框与列表框类似,也是用于提供一组条目供用户从中选择。列表框属性对组合框同样适用 (除 MultiSelect外 ),并且具有相似的含义和用法。主要区别在于: 对于组合框来说,通常只有一个条甘是可见的。而对表框可以看到多个条目,还可以拖动滚动条看 到更多的条目。 组合框不提供多重选择的功能,没有 MultiSelec
19、t属性。而列表框有多重选择的功能。 组合框有两种形式:下拉组合框和下拉列表框。通过设置 Style属性来选择想要的形式: 0表示选择下拉组合框。用户可从列表中选择条目,又可以在编辑区内输入; 2表示选择下拉列表框。用户只能从列表中选择条目。 40 【正确答案】 A 【试题解析】 选项组 (OptionGroup)又称为选项按钮组,是包含选项按钮的一种容器。新建一个选项组控件,默认名为 Optiongroup1,因此 A选项 正确。 Check1为复选框的默认名, Spinner1为微调控件的默认名, List1为列表框默认名。 二、基本操作题 41 【正确答案】 (1)【操作步骤】 步骤 1:
20、新建一个查询,将 “房价 ”和 “客房 ”表添加到查询中,并按题目要求添加字段,如图 3 100所示。步骤 2:在 “筛选 ”选项卡中设置筛选条件,如图 3 101所示。 步骤 3:在 “排序依据 ”选项卡中选择字段 “客房类型号 ”,在 “排序选项 ”列表处选择 “升序 ”,如图 3 102所示。 步骤4:设置查询去向,如图 3 103所示。步骤 5:保存查询名为 “two”,最后运行该查询。 (2)【操作步骤】 打开程序文件 THREE PRG,对其中的命令进行修改,如下为改后的程序语句。 * &使用宾馆数据库 OPEN DATABASE宾馆 &选择查询字段 sELEcT客户,客户号,身份
21、证,姓名,工作单位; &指定字段来源,设置查询条件 FROM客户,入住 WHERE客户客户号 =入住客户号; 入住日期由 IN引导的子查询获得 AND入住日期IN; 子查询,选择查询字段 (SELECT入住日期; 指定字段来源 FROM客户, 入住; 设置查询条件 WHERE客户客户号 =入住客户号 AND姓名=”姚小敏 ”); &将查询结果存储到表 TABC中 INTO TABLE TABC* 保存并运行程序。 【试题解析】 本大题主要考查的知识点是:建立查询和 SQL语句的修改。 【解题思路】在第 2小题中,涉及 “内外层嵌套查询 ”和 “超连接查询 ”的问题。JOIN语句的功能是对 “客
22、户 ”表和 “入住 ”表进行联接查询,故需要使用联系条件,即 ON短语;在 SQL语句中, SEIECT短语的功能是选择查询的字 段,其后不能为空,且内层查询的字段应该是 “入住日期 ”;由题意可知,内层查询的目的是找到满足条件的 “入住日期 ”(姚小敏的入住日期,这一日还有哪些客户入住 );将查询结果存入表中需使用的短语是 INTO,而不是 TO。 三、简单应用题 42 【正确答案】 (1)【操作步骤】 步骤 1:单击工具栏中的 “新建 ”,按钮,在 “新建 ”对话框中选择 “文件类型 ”选项组中的 “查询 ”,并单击 “新建文件 ”按钮。 步骤 2:在 “添加表或视图 ”对话框中分别将表零
23、件信息、使用零件和项目信息添加到查询设计器,并根据连接条件建立连接 。 步骤 3:在查询设计器的 “字段 ”选项卡中,分别将项目信息项目号、项目信息项目名、零件信息,零件号、零件信息零件名称添加到 “选定字段 ”列表中。 步骤 4:在 “排序依据 ”选项卡中,将项目信息项目号添加到 “排序条件 ”列表中,并选择 “降序 ”单选按钮;再将零件信息,零件号添加到 “排序条件 ”列表中,并选择 “升序 ”单选按钮。 步骤 5:单击 “查询 ”菜单下的 “查询去向 ”命令,在 “查询去向 ”对话框中选择 “表 ”,并输入表名 item_temp,单击确定按钮。 步骤 6:单击 “查询 ”菜单下的 “查
24、看 SQL”命令, 并复制全部代码;再单击工具栏中的 “新建 ”按钮,在 “新建 ”对话框中选择 “文件类型 ”选项组下的 “文本文件 ”,单击 “新建文件 ”按钮,将复制的代码粘贴到此处。 SELECT项目信息项目号,项目信息项目名,零件信息零件号; 零件信息零件名称; FROM使用零件情况 !零件信息 INNER JOIN使用零件情况 !使用零件; INNER JOIN使用零件情况 !项目信息; ON使用零件项目号 =项目信息项目号; ON零件信息零件号 =使用零件零件号; ORDER BY项目信息项目号 DESC,零件信息零件号; INTO TABLE item_temp dbf 步骤
25、7:单击工具栏中的 “保存 ”按钮,在 “另存为 ”对话框中输入 item,单击 “保存 ”按钮;再在命令窗口中输人: do item瞰。按回车键运行查询。 (2)【操作步骤】 步骤 1:单击工具栏中的 “打开 ”按钮,在 “打开 ”对话框中选择考生文件夹下的 “使用零件情况 ”数据库,再单击 “确定 ”按钮。 步骤 2:在数据库设计器中,单击 “数据库设计器 ”工具栏中的 “新建本地视图 ”按钮,在 “新建本地视图 ”对话框中单击 “新建 视图 ”按钮。 步骤 3:在 “添加表或视图 ”对话框中分别双击表零件信息、使用零件和项目信息,并单击 “关闭 ”按钮。 步骤 4:在视图设计器的 “字段
26、 ”选项卡中,分别将项目信息,项目号、项目信息项目名、零件信息零件名称、零件信息,单价和使用零件数量添加到选定字段。 步骤 5:在 “筛选 ”选项卡的 “字段名 ”中选择 “项目信息项目号 ”, “条件 ”选择“=”, “实例 ”输入 “s2”;在 “排序依据 ”选项卡中将项目信息项目号字段添加到 “排序条件 ”列表框,并选择 “升序 ”单选按钮。 步骤 6:单击工具栏 中的 “保存 ”按钮,在 “保存 ”对话框中输入视图名称view_item,单击 “确定 ”按钮。最后单击工具栏中的 “运行 ”按钮。 四、综合应用题 43 【正确答案】 步骤 1:新建一个表单,通过表单控件工具栏向表单添加各
27、控件,在 “表单设计器 ”中单击右键,在弹出的菜单中选择 “数据环境 ”,将 “歌手 ”表和“歌曲 ”表添加到数据环境设计器中。 步骤 2:通过属性窗口设置表单及各控件的属性 步骤 3:编写两个命令按钮的 Click事件代码如下: *“查询 ”命令按钮的 Click事件代码 * Thisform Gridone RecordSource=“SELECT歌曲名称。语言,点歌码 FROM歌曲,歌手; WHERE歌曲演唱者 =歌手歌手 id; AND姓名=AU,TRIM(1Fhisform Textone Value)INTO ta-ble tb: order by点歌码 ” * *“退出 ”命令按钮的 Click事件代码 * ThisForm Release * 步骤 4:保存表单名为 “mform”,按题目要求运行表单并执行相关操作。