1、国家二级( VB)机试模拟试卷 29及答案与解析 一、选择题 1 要求如果 x被 7除余 2,则输出 x的值,下列语句中不能实现此功能的语句是( )。 ( A) If x mod 7 2 Then Print x ( B) If x (x7)* 7 2 Then Print x ( C) If x (x / 7)* 7 2 Then Print x ( D) If x Int(x / 7)* 7 2 Then Print x 2 表达式 Sgn(0.25)的值是 ( )。 ( A) 1 ( B) 0 ( C) 1 ( D) 0.5 3 如下关于变体类型变量的叙述中,错误的是 ( )。 ( A)
2、变体类型数组中只能存放同类型数据 ( B)使用 Array初始化的数组变量,必须是 Variant类型 ( C)没有声明而直接使用的变量其默认类型均是 Variant ( D)在同一程序中,变体类型的变量可以被多次赋以不同类型的数据 4 满足下列条件之一的年份是闰年: 1)年份能被 4整除但不能被 100整除 2)年份能被 400整除 若 y代表年份,下面判断闰年的正确表达式是 ( )。 ( A) y Mod 4 And y Mod 100 Or y Mod 400 ( B) y Mod 4 0 Or y Mod 1000 And(y Mod 4 0 Or y Mod 400 0) ( D)
3、y Mod 4 0 And y Mod 1000, x 1, IIf(x0, x 1, x 1) ( C) y IIf(x0, x 1, IIf(xb a a b Wend fun a End Function 在调试时发现函数是错误的。为使函数能产生正确的返 回值,应做的修改是( )。 ( A)把 a a b改为 a b a ( B)把 a a b 改为 a ab ( C)把 While ab 改为 While ab 改为 While a b 22 在窗体上画 1个命令按钮和 1个文本框,其名称分别为 Command1和 Text1,再编写如下程序: Dim ss As String Pri
4、vate Sub Text1_KeyPress(KeyAscii As Integer) If Chr(KeyAscii)0时, x 1,否则 x 1,所以应该是IIf(x0, x 1, x 1)。 C选项中,内层的 IIf函数中,当 x、 和键等,其他键 KeyPress事件不能识别。 D选项错误原因:窗体也有 KeyPresss 事件。故 C选项正确。 18 【正确答案】 C 【试题解析】 程序中 flag 被定义为 Static变量,它的值只在第一次执行事件过程时为 0,以后每次执行计时器事件过程它的值都会保留上次过程中运算后的值,之后它 的值是 1或 1。文本框控件的 ForeColo
5、r属性表示文本框中文字的颜色,计时器控件的 Interval 属性为 5000,即计时器间隔为 5秒钟一次,每次调用就会交替改变文本框中文字的颜色。因此 C选项正确。 19 【正确答案】 D 【试题解析】 程序应该计算的是 2的 0次方到 2的 10次方的和,程序少计算了 2的 1次方,应该先累加,再执行 a a*2,并且将 For k 2 to 10 改为 For k 1 to 10 ,这样最后一次循环 2的 10次方的值能正确累加,然后循环结束。因此答案为D。 20 【正确答案】 B 【试题解析】 在标准模块中定义的使用 Public定义的变量是全局变量,全局变量可以在工程的每个模块、每个
6、过程中使用。如果在过程中有与全局变量同名的过程变量则优先使用过程变量。在命令按钮事件中定义了局部变量 x,与全局变量同名,因此在此事件中使用局部变量,而变量 y在此过程中没有定义,则仍使用全局变量。因此输出时 x值为 100, y值为 120。 21 【正确答案】 D 【试题解析】 程序中没有考虑余数为 0的情况,即,条件中应该有 a b,则 aa b,这样才能正确得到余数 0。因此程序中应该修改 While的条件 ab 为 ab。 22 【正确答案】 D 【试题解析】 题目中程序是将 ss字符串进行反向排列,并放到 m中去。其中Number空格后的 100被当成字符串来处理,最后结果是将 “
7、Number 100“反向排列,并通过 UCase()函数将所有字母转换成大写,得到 001 REBMUN。 23 【正确答案】 B 【试题解析】 在计时器事件中不应再设置步长为 100的 For循环,应该把 For循环去掉,只留下循环体的语句,计时器每秒激发一次,每次判断小球是否移到Line2处,不到就改变自己的 Left值即继续移动。因此 B 正确。 24 【正确答案】 A 【试题解析】 错误原因:每一次删除列表框满足项,列表框的项目数目就会相应地减少,所以就出现了漏删内容,如果把循环变量 k改成从 List1.ListCout 1到0,从最后一个项目往第一个项目查找,满足条件就删除该项目
8、,从而不会出现遗漏现象,所以正确答案为 A。 25 【正确答案】 D 【试题解析】 本题考查的是动态变量与静态变量。原来的程序中无法使变量 n的值保持到下一次的使用,只有 D选项符合要求,将 n定义为静态局部变量,在程序执行到 该对象的声明处时被首次初始化,每次执行后 n的值都会被保存到内存中,所以答案 D是正确的;而 A选项只是对 n 赋初值,所以 A选项没有意义; B选项和 C选项都没有达到改进的目的。 26 【正确答案】 A 【试题解析】 在 Do循环语句中程序大致执行过程如下: s 103, a 9; s103 93, a 8; s 10 93 83, a 7; ,依此类推,因此正确的
9、答案为A。 27 【正确答案】 C 【试题解析】 在通用对话框控件中, Filter 属性指定了在对话框中显示的文件类型,该属性可以设置多 个文件类型,每种文件类型由文件描述和文件通配符与扩展名组成,并由 “|“隔开。 FilterIndex 属性用来指定默认的过滤器, Filter属性中设置了多个过滤器后,每个过滤器的对应的值按从左到右顺序是 1、 2 ,FilterIndex 属性默认为 1,即第一个过滤器,因此程序中会显示 C: 下的所有文件。应该在通话框打开之前 (CD1.Action 1之前 )添加 CD1.FilterIndex 3,即使默认过滤器为第 3个过滤器。 28 【正确答
10、案】 B 【试题解析】 原程序的执行流程为,当按下一个键后,激活 KeyPress 事件,事件中隐藏 Form1和显示 From2的语句与判断是否按了回车键的语句是顺序的,即不论按了什么键,都会执行隐藏 Form1和显示 From2的语句。这两句应该上移到第二个 EndIf前面,也就是放在判断是否按了回车键的 If 语句块中。因此 B选项正确。 29 【正确答案】 D 【试题解析】 算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A)错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。 30 【正确答案】 B 【试题解析】 线 性结构应满足:有
11、且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以 B)正确。所以有一个以上根结点的数据结构一定是非线性结构,所以 A)错误。循环链表和双向链表都是线性结构的数据结构。 31 【正确答案】 B 【试题解析】 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0的叶子结点总是比度为 2的结点多一个。所以选择 B。 32 【正确答案】 A 【试题解析】 软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计, 软件实现,软件测试,运行和维护,所以选择 A。 33 【正确答案】 C 【试题解析】 根据总体结构图可以看出该
12、树的深度为 3,比如: XY系统 -功能2-功能 2.1,就是最深的度数的一个表现。 34 【正确答案】 D 【试题解析】 程序调试的任务是诊断和改正程序中的错误。 35 【正确答案】 A 【试题解析】 数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。 36 【正确答案】 D 【试题解析】 数据库系统的三级模式是概念模式、外模式和内模式,所以 选择D。 37 【正确答案】 A 【试题解析】 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据 T 中元组可以判断 R和 S做的是自然连接操作。 38 【正
13、确答案】 A 【试题解析】 面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择 A。 39 【正确答案】 D 【试题解析】 VB 中变量的命名规则为: 必须以字母或汉字开头 由字母、汉字、数字或下划线组成 不能使用 VB已经占用的关键字。 #_1中 #是类型符号,变量名中不能用 VB 保留符号。故不合法。 123_a以数字开头不合法。 string是VB 的关键字,也不合法。故 D选项正确。 40 【正确答案】 D 【试题解析】 VB 中一个对象可以对应一个或多个事件,事件可由用户或系统触发,触发后执行相应的事件过程。不过,不一定一个对象的所有事件过程都执行,响应哪个事件
14、过程就执行哪个。故 D选项错误。 二、基本操作题 41 【正确答案】 (1)【操作步骤】步骤 1:建立界面,在窗体中添加一个图片框并设置图片框的属性,属性见表 3.71。 步骤 2:编写程序 代码。参考答案 Private Sub Form_Click() Pic.Print “VB等级考试“End Sub步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】步骤 1:建立界面,添加一个名称为 Command1的命令按钮,标题设置为 “命令按钮 “。 菜单编辑的相关属性见表 3.72。步骤 2:编写程序代码。参考答案 Private Sub submenu1_Click()
15、Command1.Visible = TrueEnd SubPrivate Sub submenu2_Click() Command1.Visible = FalseEnd Sub步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 三、简单应用题 42 【正确答案】 (1)【操作步骤】步骤 1:打开本题工程文件,并设置控件的属性。程序中用到的控件及属性见表 3.150。步骤 2:分析并编写程序代码。程序提供代码 Private Sub Form_Unload(Cancel As Integer)Open App.Path & “out3.txt“ For Output As #1Print
16、#1, Op1.Value, Op2.Value, Text1.TextPrint #1, Ch1.Value, Ch2.Value, Text2.TextClose #1End Sub程序结束参考答案 Private Sub C1_Click() If Ch2.Value And Ch1.Value Then Text2 = “我的爱好是体育音乐 “ ElseIf Ch2.Value And Ch1.Value = False Then Text2 = “我的爱好是音乐 “ ElseIf Ch1.Value And Ch2.Value = False Then Text2 = “我的爱好是体
17、育 “ Else Text2 = “ End If If Op1.Value Then Text1 = “我是男生 “ ElseIf Op2.Value Then Text1 = “我是女生 “ Else Text1 = “ End IfEnd Sub步骤 3:调试并运行程序,关闭程序后按题目要求存盘。(2)【操作步骤】步骤 1:打开本题工程文件,通过属性窗口向列表框添加四个项目,分别是: “第一项 “、 “第二项 “、 “第三项 “、 “第四项 “。步骤 2:分析并编写程序代码。程序 提供代码 Dim i As IntegerPrivate Sub Form_Load()i = ?Timer
18、1.Interval = ?Timer1.Enabled = TrueEnd SubPrivate Sub Timer1_Timer()Label1.Caption = ?If i = 3 Then i = 0Else i = i + 1End IfEnd Sub程序结束参考答案第 1个?处填入: 0第 2个?处填入: 1000第 3个?处填入: List1.List(i)步骤 3:调试并运行程序, 关闭程序后按题目要求存盘。 四、综合应用题 43 【正确答案】 【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Private arr(100) As I
19、nteger Private n As Integer Private Sub Command2_Click() Open App.Path & “out5.txt“ For Output As #1 Print #1, Text1.Text Print #1, Text2.Text Print #1, Text3.Text Print #1, Text4.Text Print #1, Text5.Text Print #1, Text6.Text Close #1 MsgBox “保存成功! “ End Sub Private Sub Form_Load() Open App.Path &
20、“in5.txt“ For Input As #1 n = 0 Do While Not EOF(1) Input #1, x n = n + 1 arr(n) = x Loop Close #1 End Sub Private Sub Command1 Click() 以下考生编写程序开始 “考生编写程序结束 “ End Sub 程序结束 参考答案 Private Sub Command1_Click() For i = 1 To n If arr(i) = 60 And arr(i) = 70 And arr(i) = 80 And arr(i) = 90 And arr(i) = 100 Then Text6 = Val(Text6) + 1 End If Text1 = Val(Text1) + 1 Next End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。