1、国家二级( VF)机试模拟试卷 24及答案与解析 一、选择题 1 下列选项中,哪个不是一般算法应该有的特征 ( )。 ( A)无穷性 ( B)可行性 ( C)确定性 ( D)有穷性 2 下列关于栈的叙述中正确的是 ( )。 ( A)在栈中只能插入数据,不能删除数据 ( B)在栈中只能删除数据,不能插入数据 ( C)栈是先进后出 (FILO)的线性表 ( D)栈是先进先出 (FIFO)的线性表 3 设有下列二叉树: 对此二叉树中序遍历的结果为( )。 ( A) ACBDEF ( B) DEBFCA ( C) ABDECF ( D) DBEAFC 4 下面描述中,符合结构化程序设计风格的是 ( )
2、。 ( A)使用顺序、选择和重复 (循环 )三种基本控制结构表示程序的控制逻辑 ( B)模块只有一个入口,可以有多个出口 ( C)注重提高程序的执行效率 ( D)不使用 goto语句 5 软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 ( )。 ( A)概要设计 ( B)软件设计 ( C)可行性研究和计划制定 ( D)需求分析 6 )数据流图由一些特定的图符构成。下列图符名标识的图符不属于 数据流图合法图符的是 ( )。 ( A)加工 ( B)控制流 ( C)数据存储 ( D)数据流 7 下列叙述中正确的是 ( )。 ( A)数据库不需要操作系统的支持 ( B)数据库
3、设计是指设计数据库管理系统 ( C)数据库是存储在计算机存储设备中的、结构化的相关数据的集合 ( D)数据库系统中,数据的物理结构必须与逻辑结构一致 8 关系表中的每一横行称为一个 ( )。 ( A)字段 ( B)元组 ( C)行 ( D)码 9 关系数据库管理系统能实现的专门关系运算包括 ( )。 ( A)选择、投影 、连接 ( B)排序、查找、统计 ( C)关联、更新、排序 ( D)显示、打印、制表 10 数据库概念设计的过程中,以下各项中不属于视图设计设计次序的是 ( ). ( A)自顶向下 ( B)由整体到个体 ( C)由内向外 ( D)由底向上 11 对表 SC(学号 C(8), 课
4、程号 C(2), 成绩 N(3), 备注 C(20),可以插入的记录是 ( )。 ( A) (20080101, c1, 90, NULL) ( B) (20080101, c1, 90 , 成绩优秀 ) ( C) (20080101, c1, 90, 成绩优秀 ) ( D) (20080101, c1, 79, 成绩优秀 ) 12 在 Visual FoxPro中,下列关于 SQL表定义语句 (CREATE TABLE)的说法中错误的是 ( )。 ( A)可以定义一个新的基本表结构 ( B)可以定义表中的主关键字 ( C)可以定义表的域完整性、字段有效性规则等 ( D)对自由表,同样可以实现
5、其完整性、有效性规则等信息的设置 13 以下关于空值 (NULL值 )叙述正确的是 ( )。 ( A)空值等于空字符串 ( B)空值等同于数值 0 ( C)空值表示字段或变量还没有确定的值 ( D) Visual FoxPro不支持空值 14 在 Visual FoxPro中,关系数据库管理系统所管理的关系是 ( )。 ( A)一个 DBF文件 ( B)若干个二维表 ( C)一个 DBC文件 ( D)若干个 DBC文件 15 假设所有学生都已选课,所有的选课成绩都已确定。检索所有选课成绩都在 90分以上 (含 )的学生信息,正确的 SQL命令是 ( )。 ( A) SELECT * FROM
6、学生 WHERE 学号 IN (SELECT 学号 FROM 选课 WHERE 成绩 90) ( B) SELECT * FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 选课 WHERE 成绩 90) 16 在 Visual FoxPro中,每一个工作区中最多能打开数据库表的数量是 ( )。 ( A) 1个 ( B) 2个 ( C)任意个,根据内存资源而确定 ( D) 35535个 17 在 Visual FoxPro中,有关参照完整性的删除规则正确的描述是 ( )。 ( A)如果删除规则选择的是 “限制 “,则当用户删除父表中的记录时,系统将自动删除子表中的所
7、有相关记录 ( B)如果删除规则选择的是 “级联 “,则当用户删除父表中的记录时,系统将禁止删除与子表相关的父表中的记录 ( C)如果删除规则选择的是 “忽略 “,则当用户删除父表中的记 录时,系统不负责检查子表中是否有相关记录 ( D)以上答案都不正确 18 使用索引的主要目的是 ( )。 ( A)提高查询速度 ( B)节省存储空间 ( C)防止数据丢失 ( D)方便管理 19 表单文件的扩展名是 ( )。 ( A) frm ( B) prg ( C) scx ( D) vcx 20 以下关于 “查询 “的正确描述是 ( )。 ( A)查询文件的扩展名为 prg ( B)查询保存在数据库文件
8、中 ( C)查询保存在表文件中 ( D)查询保存在查询文件中 21 已知当前表中有字符型字段职称和 性别,要建立一个索引,要求首先按职称排序、职称相同时再按性别排序,正确的命令是 ( )。 ( A) INDEX ON 职称性别 TO ( B) INDEX ON性别职称 TO ( C) INDEX ON 职称,性别 TO ( D) INDEX ON性别,职称 TO 22 下列程序段执行以后,内存变量 A和 B的值是 ( )。 CLEAR A 10 B 20 SET UDFPARMS TO REFERENCE DO SQ WITH (A), B Y1=2*X1得 Y1的值为 200。 23 【正确
9、答案】 A 【试题解析】 内存变量的清除有四种格式: CLEAR MEMORY, RELEASE, RELEASE ALLEXTENDED, RELEASE ALL LIKE | EXCEPT 。 24 【正确答案】 D 【试题解析】 %是求余运算, *是乘运算, /是除运算; int()函数返回指定表达式的整数部分; Do 循环的执行过程如下: 执行次数 ,x,y执行前 ,34567,01,3456,72,345,763,34,7654,3,76545,0,76543 所以答案应该是 76543。 25 【正确答案】 B 【试题解析】 DO WHILE循环,首先判断循环条件是否为逻辑真,如果
10、为逻辑真,则执行循环体内代码,所以 C选项、 D选项不会执行循环体内代码,不正确。 A选项中条件语句 IF x0使得循环只执行一次,即跳出循环体,所以也不正确。 B选项当 x 0时,才跳出循环体,答案正确。 26 【正确答案】 C 【试题解析】 VARTYPE(, ):测试 的类型,返回一个大写字母,函数值为字符型。表达式 X 6 DROP COLUMN DROP PRIMARY KEY TAG DROP UNIQUE TAG DROP CHECK 因此,选项 C正确。 30 【正确答案】 B 【试题解析】 删除数据的命令格式为: DELETE FROM 表名 WHERE 条件 。该命令是逻辑
11、删除指定表中满足条件的记录,如果要物理删除记录需要继续使用PACK命令。 WHERE 指定被删除的记 录所满足的条件,如果不使用 WHERE子句,则删除该表中的全部记录。 A、 C、 D均为错误的命令格式。要从 student表删除年龄大于 30的记录,正确的命令应该是 DELETE FROM student WHERE 年龄 30,即 B 选项。 31 【正确答案】 C 【试题解析】 插入数据的操作有两种格式,第一种是标准格式,第二种格式是特殊格式。本题考查插入数据的标准格式为: INSERT INTO (字段名 1,字段名 2, ) VALUES( 字段值 1,字段值 2, ) ,因此,
12、C选项正确 。 32 【正确答案】 A 【试题解析】 简单查询是基于一个表进行的查询,是由 SELECT和 FROM短语构成的无条件查询,或由 SELECT、 FROM和 WHERE短语构成的条件查询。BETWEENAND 表示在 和 之间,其中包含等于,即大于等于 AND前面的数,小于等于 AND后面的数。因此排除 B、 D选项,本题要求成绩是整数,所以A选项正确。 33 【正确答案】 C 【试题解析】 本题主要考查超连接查询和空值查询。超连接查询有四种连接方式,其基本格式为: SELECTFROM 左表 INNER LEFT RIGHT FULL JOIN 右表 ON 连接条件 WHERE
13、 其他条件。要检索还未确定成绩的学生选课信息,应使用 is null,首先排除 B、 D选项。而 A选项的格式不正确, C为正确选项。 34 【正确答案】 D 【试题解析】 TOP短语可以查询满足条件的前几个记录,其命令格式为:SELECT TOP 数字 PERCENT,首先排除 A、 B 选项。显示 “101“号课程成绩中最高的 10%记录信息应该降序排列,使用 DESC,如果不指明升序或降序,默认按升序排列。因此, D选项正确。 35 【正确答案】 A 【试题解析】 数据库表相对于自由表,拥有以上特点: 数据库表可以使用长表名,在表中可以使用长字段名; 可以为数据库表中的字段指定标题和添加
14、注释; 可以为数据库表中的字段指定默认值和输入掩码; 数据库表的字段有默认的控件类; 可以为数据库表规定字段级规则和记录级规则; 数据库表支持主关键字、参照完整性和表之间的联系; 支持 INSERT、 UPDATE、 DELETE 事件的触发器。 所以 B、 C、 D选项错误。 36 【正确答案】 C 【试题解析】 修改表结构的命令是 ALTER TABLE,该命令有以下三种格式。本题用到向表中添加新的字段,其命令格式为: ALTER TABLE ADDCOLUMN, )NULL|NOT NULL CHECK ERROR DEFAULT ADD PRIMARY KEY TAG ADD UNIQ
15、UE TAG 其中: ALTER TABLE 修改指定的表; ADD COLUMN向表中添加新的字段; ADD PRIMARY KEY TAG 向表中添加主索引; ADD UNIQUE TAG 向表中添加候选索引; NULL|NOT NULL 指定字段可以为空或不能为空。 A、 B、 D的格式均不正确, C为正确选项。 37 【正确答案】 C 【试题解析】 SQL的核心是查询。 SQL的查 询命令也称作 SELECT 命令,它的基本形式由 SELECT FROM WHERE 查询块组成。其中 SELECT 说明要查询的字段,如果查询的字段需去掉重复值,则要用到 DISTINCT 短语,因此,
16、C为正确选项。 38 【正确答案】 C 【试题解析】 Show是方法的一种,用于显示表单。 ShowWindow 为表单属性,用于控制表单在屏幕中、悬浮在顶层表单中或作为顶层表单出现。执行MyForm.Show 可以让隐藏的表单在屏幕上显示,因此, C选项正确。 39 【正确答案】 D 【试题解析】 页框是包含 页面的容器对象,且页面本身也是一种容器,可以包含所需的控件。其中, Pagecount属性用于指明一个页框对象所包含的页面数量,最小值为 0,最大值为 99。选项 D正确。 40 【正确答案】 D 【试题解析】 属性用于描述对象的状态,方法用于表示对象的行为,事件是一种由系统预先定义而
17、由用户或系统发出的动作, A选项说法正确。事件作用于对象,对象识别事件并作出相应反应。事件是固定的,用户不能自定义事件,因此, D选项的说法错误。事件代码既能在事件引发时执行,也可以像方法一样被显示调用, C选项说法正确。类是对一 类相似对象的性质描述,这些对象具有相同的性质、相同的种类和方法,基于同一个类产生的两个对象可以分别设置自己的属性值, B选项说法正确。所以本题的正确答案为 D。 二、基本操作题 41 【正确答案】 【操作步骤】 (1)单击工具栏中的 “新建 “按钮,新建一个文本文件,写入如下代码,保存文本文件为 one,在命令窗口输入 “ DO one.txt“,执行代码。 *on
18、e.txt中输入的代码 * SELECT 外币名称 ,现钞买入价 ,卖出价 ; FROM rate_exchange; INTO TABLE rate_ex.dbf * (2)单击工具栏中的 “新建 “按钮,新建一个文本文件,写入下面的代码,保存文本文件为 two。在命令窗口输入 “DO two.txt“,按下回车键执行代码。 *two.txt中输入的代码 * Update Rate_exchange set 卖出价 =829.01 where 外币名称 =美元 * (3)单击工具栏上的 “新建 “按钮 ,打开 “新建 “对话框,文件类型选择 “报表 “,单击 “向导 “按钮。在 “向导取向
19、“对话框中双击 “报表向导 “,在 “报表向导 “步骤 1中选择表rate_exchang,并将 “外币名称 “、 “现钞买入价 “和 “卖出价 “添加到 “选定字段 “,连续单击 “下一步 “直到 “步骤 6完成 “,输入报表标题 “外币汇率 “,保存报表为“rate_exchange“。 (4)双击生成的报表文件 rate_exchange,在报表设计器中,将显示在 “标题 “ 区域的日期拖到 “页注脚 “区,保存报表文件即可 三、简单应用题 42 【正确答案】 (1)【 操作步骤】 步骤 1:在命令窗口输入 “Create form tab“,按下回车键,新建一个表单文件 tab,在表单
20、控件工具栏中单击相应的控件,然后在表单上画出一个页框控件和一个命令按钮。将页框 Pageframe1的 PageCount属性设置为 “3“。 步骤 2:在页框上右击,在弹出的快捷菜单中选择 “编辑 “命令,设置页框各页的标题属性。 Page1 Caption 学生 Page2 Caption 课程 Page3 Caption 成绩 步骤 3:在表单空白处右击,在弹出的快捷菜单中选择 “数据环境 “命令,将表student、 course和 score添加到数据环境中。 步骤 4:在页框控件上右击,在弹出的快捷菜单中选择 “编辑 “命令,在属性窗口选中 Page1,拖拽相应的表 student
21、到页框中,依次选中 Page2, Page3,将对应的表拖拽进去。 步骤 5:将命令按钮的 Caption属性改为 “退出 “,输入其 Click事件代码“ThisForm.Release“。 步骤 6:保存并运行表单查看结果。 (2)【操作步骤】 步骤 1:单击工具栏中的 “打开 “按钮,打开考生文件夹下的表单文件 modi2,修改 “计算 “命令按钮的 Click事件。 *程序提供的代码 * *found* x,s1,s2,s3=0 *found* x=thisform.text1 do while x0 if int(x/2)=x/2 s1=s1+1 else s2=s2+1 endif
22、 *found* if div(x,3)=0 s3=s3+1 endif x=x-1 enddo thisform.text2.value=s1 thisform.text3.value=s2 thisform.text4.value=s3 thisform.text5.value=s1+s2+s3 * 错误 1:改为 STORE 0 TO x,s1,s2,s3。 错误 2:改为 x=val(thisform.text1.value)。 错误 3:改为 if mod(x,3)=0。 步骤 2:以同样的方法修改 “退出 “按 钮的 Click事件代码为 “Thisform.Release“ 四、
23、综合应用题 43 【正确答案】 【操作步骤】 步骤 1:在命令窗口中输入 crea form form_item,然后按回车键,在表单设计器的 “属性 “对话框中设置表单的 Caption属性为 “使用零件情况统计 “, Name属性为form_item。 步骤 2:从 “表单控件 “工具栏向表单添加一个组合框、一个文本框和两个命令按钮,设置组合框的 RowSourceType属性为 “5-数组 “、 Style属性为 “2-下拉列表框 “、RowSource属性为 A,设置命令按钮 Command1的 Caption属性为 “统计 “,设置命令按钮 Command2的 Caption为 “退
24、出 “。 步骤 3:双击表单空白处,在表单的 Init事件中输入如下代码: Public a(3) A(1) = “s1“ A(2) = “s2“ A(3) = “s3“ 步骤 4:分别双击命令按钮 “统计 “和 “退出 “,为它们编写 Click事件代码。其中,“统计 “按钮的 Click事件代码如下: x=allt(bo1.value) SELECT SUM(使用零件 .数量 *零件信息 .单价 ) as je; FROM 使用零件情况 !使用零件 INNER JOIN 使用零件情况 !零件信息 ; ON 使用零件 .零件号 = 零件信息 .零件号 ; WHERE 使用零件 .项目号 = x into array b thisform.text1.value=allt(str(b1) “退出 “按钮的 Click事件代码如下: thisform.release 步骤 5:单击工具栏中的 “保存 “按钮, 再单击 “运行 “按钮运行表单,并依次选择下拉列表框中的项运行表单的所有功能。