1、国家二级 VB机试(选择题)模拟试卷 121及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)算法的效率只与问题的规模有关,而与数据的存储结构无关 ( B)算法的时间复杂度是指执行算法所需要的计算工作量 ( C)数据的逻辑结构与存储结构是一一对应的 ( D)算法的时间复杂度与空间复杂度一定相关 2 下列叙述中正确的是 ( A)线性表链式存储结构的存储空间一般要少于顺序存储结构 ( B)线性表链式存储结构与顺序存储结构的存储空间都是连续的 ( C)线性表链式存储结构的存储空间可以是连续的,也可以 是不连续的 ( D)以上说法均错误 3 某二叉树共有 12个结点,其中叶子结点只有 1个。则
2、该二叉树的深度为(根结点在第 1层) ( A) 3 ( B) 6 ( C) 8 ( D) 12 4 对长度为 n的线性表作快速排序,在最坏情况下,比较次数为 ( A) n ( B) n-1 ( C) n(n-1) ( D) n(n-1)/2 5 结构化程序设计中,下面对 goto语句使用描述正确的是 ( A)禁止使用 goto语句 ( B)使用 goto语句程序效率高 ( C)应避免滥用 goto语句 ( D)以上说法均错误 6 下 面不属于软件测试实施步骤的是 ( A)集成测试 ( B)回归测试 ( C)确认测试 ( D)单元测试 7 下面不属于软件需求分析阶段主要工作的是 ( A)需求变更
3、申请 ( B)需求分析 ( C)需求评审 ( D)需求获取 8 一般情况下,当对关系 R和 S进行自然连接时,要求 R和 S含有一个或者多个共有的 ( A)记录 ( B)行 ( C)属性 ( D)元组 9 ( A)选择 ( B)差 ( C)交 ( D)并 10 有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司 C(公司号,公司 名,地址,注册资本,法人代表,员工数),职员 S(职员号,姓名,性别,年龄,学历),工作 W(公司号,职员号,工资),则表 W的键(码)为 ( A)公司号,职员号 ( B)职员号,工资 ( C)职员号 ( D)公司号,职员号,工资 11 以下能对正实数 d
4、的第 3位小数四舍五入的表达式是 ( A) 0.01 * Int(d + 0.005) ( B) 0.01 * Int(100 * (d + 0.005) ( C) 0.01 * Int(100 * (d + 0.05) ( D) 0.01 * Int(d + 0.05) 12 设 A、 B、 C是三角形的 3条边,则以下表示 “任意两边之和大于第三边 “的布尔表达式是 ( A) A + B C Or A + C B Or B + C A ( B) A + B C Or A + C B Or B + C A ( C) Not (A + B = C Or A + C = B Or B + C =
5、 A) ( D) A + B = C And A + C = B And B + C = A 13 语句 Print Format$(23846.5, “000,000.00“) 的输出结果是 ( A) 23846.5 ( B) 23,846.5 ( C) 23,846.50 ( D) 023,846.50 14 为了在运行时能显示窗体左上角的控制框(即系统菜单),应执行的操作是 ( A)把窗体的 ControlBox属性设置为 False,其他属性任意 ( B)把窗体的 ControlBox属性设置为 True,并且把 BorderStyle属性设置为 1到 5中的一个数 ( C)把窗体的
6、ControlBox属性设置为 True,并且把 BorderStyle属性设置为 0 ( D) 把窗体的 ControlBox属性设置为 Fale,并且把 BorderStyle属性设置为 1到 5中的一个数 15 如果要将一个窗体从内存中清除,应使用的语句是 ( A) Unload ( B) Show ( C) Load ( D) Hide 16 以下 Visual Basic不支持的循环结构是 ( A) For.Next ( B) For Each.Next ( C) Do.Loop ( D) Do.End Do 17 假定有如下情况语句: Select Case X 能表示 |X| 5
7、的 Case子句是 ( A) Case Not(-5 To 5) ( B) Case 5 To -5 ( C) Case Is -5, Is 5 ( D) Case Abs(X) 5 18 设子程序过程定义的首部为: Public Sub S(X As Integer, Y As Single) 则以下正确的调用形式为 ( A) Call S 5, 4.8 ( B) Call Sub(5, 4.8) ( C) Sub 5, 4.8 ( D) S 5, 4.8 19 如果一个顶级菜单项的访问键为 D, 则以下等同于单击该菜单项的操作为 ( A)按 Ctrl + D键 ( B)按 Alt + D键
8、 ( C)按 D键 ( D)按 Shift + D键 20 以下不属于 Visual Basic数据文件的是 ( A)顺序文件 ( B)随机文件 ( C)数据库文件 ( D)二进制文件 21 在设计阶段,如果双击窗体上的一个文本框控件,则在代码窗口中显示该控件的事件过程所对应的事件是 ( A) Click ( B) DblClick ( C) Change ( D) GotFocus 22 要使标签中的文本靠右显示,应将 其 Aligment属性设置为 ( A) 0-Left Justify ( B) 1-Right Justify ( C) 2-Center ( D) 3 23 为了删除列表
9、框中的一个列表项,应使用的列表框方法是 ( A) Move ( B) Remove ( C) Clear ( D) RemoveItem 24 通过一个属性可以获得文件列表框中当前被选中文件的文件名,这个属性是 ( A) Dir ( B) Path ( C) Drive ( D) FileName 25 在设计阶段,假定在图片框 Picture1中装入 了一个图形,为了删除该图片框控件,应采用的正确操作是 ( A)选择图片框,然后按 Del键 ( B)执行语句 Picture1.Picture = LoadPicture(“) ( C)执行语句 Picture1.Picture = “ ( D
10、)选择图片框,在属性窗口中选择 Picture属性,然后按回车键 26 以下不能用形状控件画出的图形是 ( A)矩形 ( B)圆形 ( C)椭圆 ( D)扇形 27 为了暂时关闭计时器,应把它的一个属性设置为 False,这个属性是 ( A) Visible ( B) Timer ( C) Enabled ( D) Interval 28 假定在窗体上添加了一个通用对话框控件,其名称为 CD1,并有如下程序段: CD1. ShowOpen CD1.DefaultExt = “doc“ 在打开文件的对话框中选择了 “c:file1.txt“文件,则 FileTitle属性的值是 ( A) fil
11、e1.doc ( B) file1.txt ( C) c:file1.txt ( D) c:file1.doc 29 以下能接收焦点的控件是 ( A)图像框 ( B) 框架 ( C)命令按钮 ( D)标签 30 以下不能设置 Picture属性的控件是 ( A)窗体 ( B)列表框 ( C)复选框 ( D)命令按钮 31 假定有如下程序: Private Sub Form_Click() Dim N As Integer, J As Integer N = 0 J = 1 Do Until N 2 N = N + 1 J = J + N * (N + 1) Loop Print N; J En
12、d Sub 运行程序,单击窗体,输出结果是 ( A) 3 21 ( B) 3 7 ( C) 0 1 ( D) 3 13 32 在窗体上画一个组合框,其名称为 Combo1,然后编写如下事件过程: Private Sub Form_Load() Combo1.Text = “1“ For i = 1 To 10 Sum = Sum + i Next i Combo1.Text = Sum End Sub 程序运行后,输出结果为 ( A)在组合框的编辑 区中显示 1 ( B)在组合框的编辑区中显示不定值 ( C)在组合框的编辑区中显示 55 ( D)出错信息 33 假定有如下程序: Private
13、 Sub Form_Click() Dim a(4) As Integer, b(4) As Integer For k = 0 To 2 a(k + 1) = Val(InputBox(“请输入一个整数: “) b(3 - k) = a(k + 1) Next k Print b(k) End Sub 运行程序,单击窗体,依次输入 3、 6、 9,输出结果为 ( A) 3 ( B) 6 ( C) 9 ( D) 1 34 设窗体上有一个 Command1命令按钮,还有以下程序代码: Private Sub Command1_Click() Static x As Integer x = x +
14、 1 Call proc(x) Print x, End Sub Private Sub proc(a As Integer) Static x As Integer x = x + a a = x End Sub 程序运行后, 3次单击命令按钮,则产生的输出是 ( A) 1 2 3 ( B) 1 3 5 ( C) 1 3 7 ( D) 2 4 6 35 设有如下程序: Private Sub sV(ByVal m As Integer, n As Integer) m = m * 2 n = n - 5 Print m; n End Sub Private Sub Form_Click()
15、Dim x As Integer, y As Integer x = 10 y = 15 sV x, y Print x; y End Sub 运行程序,单击窗体,输出结果为 ( A) 20 10 10 10 ( B) 10 15 20 10 ( C) 20 15 10 15 ( D) 20 10 20 10 36 阅读程序: Option Base 1 Private Sub Form_Click() Dim a(3, 3) As Integer For i = 1 To 3 For j = 1 To 3 a(i, j) = _ Print a(i, j); Next j Print Nex
16、t i End Sub 运行上面的程序,单击窗体,输出结果如下: 1 4 7 2 5 8 3 6 9 则在横线处应填入的内容为 ( A) i + j ( B) i * j ( C) (i -1) * 3 + j ( D) i + (j - 1) * 3 37 有如下程序: Private Sub Form_Click() Dim S As String S = InputBox(“请输入一个字符串: “) For i = 1 To Len(S) 2 If Mid(S, i, 1) Mid(S, Len(S) - i + 1, 1) Then Print “No“ Exit Sub End If
17、 Next i Print “Yes“ End Sub 运行程序,单击窗体,在输入对话框中输入 abcscba,则输出结果为 ( A) abc ( B) Yes ( C) cba ( D) No 38 阅读程序: Option Base 1 Sub P(b() As Integer) For i = 1 To 4 b(i) = 2 * i Next i End Sub Private Sub Form_Click() Dim a(4) As Integer For i = 1 To 4 a(i) = i + 4 Next i P a For i = 1 To 4 Print a(i) Next
18、 i End Sub 运行上面的程序,单击窗体,输出结果为 ( A) 2 4 6 8 ( B) 5 6 7 8 ( C) 10 12 14 16 ( D) 4 8 12 16 39 有如下程序: Function fun(ByVal num As Integer) As Integer Dim k As Integer k = 1 num = Abs(num) Do While num k = k * (num Mod 10) num = num 10 Loop fun = k End Function Private Sub Form_Click() Dim n As Integer Dim
19、 r As Integer n = InputBox(“请输入一个数: “) n = Int(n) r = fun(n) Print r End Sub 程序运行后,单击窗体,在输入对话框中输入 246,输出结果为 ( A) 120 ( B) 48 ( C) 24 ( D) 60 40 在窗体上画一个命令按钮,然后编写如下程序: Option Base 1 Private Sub Command1_Click() Dim Arr(10) As Integer For i = 1 To 10 Arr(i) = 11 - i Next i x = InputBox(“输入一个整数( 3 10) “
20、) Print Arr(2 + Arr(x) End Sub 程序运行后,单击命令按钮,在输入对话框中输入 7,则输出结果为 ( A) 3 ( B) 4 ( C) 5 ( D) 6 国家二级 VB机试(选择题)模拟试卷 121答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 算法的效率与问题的规模和数据的存储结构都有关, A错误。算法的时间复杂度,是指执行算法所需要的计算工作量, B正确。 由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的, C错误。算法的时间复杂度和空间复杂度没有直接的联系, D错误。 2 【正确答案】 C 【试
21、题解析】 线性表的顺序存储结构具备如下两个基本特征:( 1)线性表中的所有元素所占的存储空间是连续的;( 2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此 C正确。 3 【正确答案】 D 【试题解析】 二叉树中,度为 0的节点数等于度为 2的节点数加 1,即 n2=n0-1,叶子节点即度为 0, n0=1,则 n2=0,总节点数为 12=n0+n1+n2=1+n1+0,则度为 1的节点数 n1=11,故深度为 12,选 D。 4 【正确答案】 D 【试题
22、解析】 快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较 (n-1)+(n-2)+1=n(n -1)/2,选 D。 5 【正确答案】 C 【试题解析】 结构化程序设计中,要注意尽量避免 goto语句的使用,故选 C。 6 【正确答案】 B 【试题解析】 软件测试主要包括单元测试、集成测试、确认测试和系统测试。 7 【正确答案】 A 【试题解析】 需求分析阶段的工作可概括为个方面: 需求获取。 需求分析。 编写需求规格说明书。 需求审评。 8 【正确答案】 C 【试题解析】 自然连接是一种特殊的等值连接,它满足下面的条件: 两关系间有公共域; 通过公共域的等值进行连接,选 C。 9
23、 【正确答案】 B 【试题解析】 关系 T是关系 R的一部分,并且是关系 R去掉 R和 S相同的元素,符合差操 作。 10 【正确答案】 A 【试题解析】 由于职员可以再多加公司兼职,表 W的键(码)应为公司关系和职员关系的主码,即公司号和职员号。 11 【正确答案】 B 【试题解析】 Int函数,返回的是不大于该数的一个整数。 d+0.005,是让第三位小数进位,达到四舍五入,再乘 100,放大 100倍,保留小数位, 取整后乘 0.01还原为原数。如: 5.333+0.005=5.338,乘 100后为 533.8,取整后为 533,乘 0.01后还原为 5.33。 12 【正确答案】 C
24、 【试题解析】 任意两边之和必须大于第 3边, A)中三个条件是 Or关系,是错误的; B)中两边之和小于第三边是错误的; D)中出现两边之和等于第三边,是错误的。所以答案为选项 C。 13 【正确答案】 D 【试题解析】 格式输出函数 Format可以使数值、日期或字符串按指定的格式输出。格式输出函数一般用于 Print方法中,其形式如下: Format$(表达式 ,格式字符串 ) 表达式:要格式化的数值、日期和字符串类型表达式。 格式字符串:表示按其指定的格式输出表达式的值。格式字符串有三类:数值格式 、日期格式和字符串格式。格式字符串要加引号。 此题中的格式字符串为数值格式,符号是 0,
25、显示一位数字或是零。如果数值的位数少于格式表达式中零的位数(无论是小数点的左方或右方),那么就把前面或后面的零补足。故本题答案为选项 D)。 14 【正确答案】 B 【试题解析】 ControlBox属性:运行程序时该属性有效。在窗体标题栏左边设置一个任务列表,点击窗体图标左上角显示系统菜单。 True:能显示系统菜单,False:不能显示系统菜单。 BorderStyle属性:为窗体等对象设置边框的式样。 0-None:窗体无边框。 1-FixeSingle:程序运行后窗体大小不被改变,单线边框。 2-Sizable:程序运行后窗体大小可以被改变,双线边框。 3-FixedDouble:程序
26、运行后窗体大小不被改变,双线窗体。 4-FixedToolWindow:程序运行后窗体大小可以被改变,单线边框。 5-SizableToolWindow:程序运行后窗体大小可以被改变。 故本题答案为选项 B)。 15 【正确答案】 A 【试题解析】 Unload语句用来将指定窗体从内存中清除。格式: Unload 窗体名称。 16 【正确答案】 D 【试题解析】 Visual Basic支持的循环结构不包括 Do.End Do。 17 【正确答案】 C 【试题解析】 在 Select判断语句中,如果是判断区间变量值,可以用 “表达式 To表达式 “的形式;如果不是判断区间变量值,则关系运算表达
27、式前面要加上 Is。 |X| 5的 VB表达式为 X-5 Or X 5,故本题答案为选项 C)。 18 【正确答案】 D 【试题解析】 ( 1)用 Call语句调用 Sub过程:语法: Call 过程名( 实参表列 ),实参 的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔。( 2)把过程名作为一个语句来用:语法:过程名 实参1,实参 2 ,它与( 1)的不同点是:去掉了关键字和实参列表的括号。 19 【正确答案】 B 【试题解析】 访问键是菜单、菜单项或控件(如按钮)标签的文本中带下划线的字符。访问键允许用户通过同时按 Alt 键和预先定义的访问键来 “单击 “
28、按钮。 20 【正确答案】 C 【试题解析】 可以从不同的角度对文件进行分类:按照文件的内容,可分成程序文件和数据文件; 按照文件存储信息的形式,可分为 ASCII文件和二进制文件;按照文件的组织形式,可分成顺序文件和随机文件;按照存储介质,又可以分为光盘文件、磁盘文件、磁带文件、打印文件等。 21 【正确答案】 C 【试题解析】 在设计阶段,双击窗体上的一个文本框控件,在代码窗口中显示该控件的事件过程所对应的事件是 Change事件。 22 【正确答案】 B 【试题解析】 0-Left Justify:文本靠左显示; 1-Right Justify:文本靠右显示; 2-Center:文本居中
29、显示。 23 【正 确答案】 D 【试题解析】 RemoveItem方法用来删除列表中指定的项目,格式为:列表框 .RemoveItem 索引值。 24 【正确答案】 D 【试题解析】 FileName属性用来设置或返回程序运行过程中当前选中的文件名称。 Path属性用来设置或返回程序运行过程中当前选中的文件的路径。 25 【正确答案】 A 【试题解析】 删除图片框控件,先选择图片框,然后按 Del键。 26 【正确答案】 D 【试题解析】 形状控件 (Shape)提供了显示一些规则图形的简易方法 ,通过设置形状控件 Shape属性值,可显示 6种图形: 0矩形、 1正方形、 2椭圆、 3圆、
30、 4圆角矩形、 5圆角正方形。 27 【正确答案】 C 【试题解析】 Enabled是用来设置控件是否可用,而 Visible是用来设置控件是否可见。计时器控件的 Enabled属性设置为 False,则停止计数;设置为 True,则开始计数。 28 【正确答案】 B 【试题解析】 FileTitle属性用来指定文件对话框中所选择的文件名 (不包括路径 )。该属性与 FileName属性的区别是: FileName属性用来指定完整的路径,如“d:progvbftest.frm“;而 FileTitle只指定文件名,如 “test.frm“。 29 【正确答案】 C 【试题解析】 标签、框架、菜
31、单、直线、形状、图像框、计时器都不能接收焦点,能接收焦点的控件为命令按钮。 30 【正确答案】 B 【试题解析】 不能设置 Picture属性的控件是列表框。 31 【正确答案】 A 【试题解析】 Do UntilLoop 语句在条件满足的前提下会一直执行中间的循环语句。 N的初值为 0,因此循环会 执行 3次。在循环体内 N每次被加 1。因此结束时N=3。同样的方法可算出 J=21。选 A)。 32 【正确答案】 C 【试题解析】 For循环实现 1到 10的累加,结束循环后 Sum=55。选 C)。 33 【正确答案】 A 【试题解析】 For循环对数组 a和 b赋值。 b(3) = a(
32、1), b(2) = a(2), b(1) = a(3),循环结束时 k=3。因此选 A)。 34 【正确答案】 C 【试题解析】 注意 Static关键字修饰的变量,在过程退出后,变量值保持不变。选 C)。 35 【正确答案】 A 【试题解析】 函数传递参数有值传递和引用传递。默认是引用传递。 sV(ByVal m As Integer, n As Integer)函数中 m为值传递, n为引用传递。值传递不改变实参值。即在 Form_Click()过程中调用 sV不会改变 x的值。选 A)。 36 【正确答案】 D 【试题解析】 该程序段是个两重嵌套循环给数组 a元素赋值。下标用变量 i表
33、示,上标用 j表示。按循环执行顺序依次代入变量值计算,需要得出如题的打印结果,计算公式为 i + (j - 1) * 3,选 D)。 37 【正确答案】 B 【试题解析】 程序实现从输入的字符串中查找前半截和后半截中不同的字符,找到后打印 No,并退出过程。如果没有找到,则打印 Yes。题目中输入字符串abcscba,则 Len( S) =7, For循环的上限是 Len(S) 2 = 3,代入循环变量,当i=1时 Mid(S, i, 1)=a, Mid(S, Len(S) - i + 1, 1)=a,以此类推,每个字符都相等。选B)。 38 【正确答案】 A 【试题解析】 Form_Clic
34、k过程中首先对 a数组用 For循环赋值。然后 调用过程P。注意 P参数传递是引用传递,因此数组 a的元素值在执行 P过程后会被改变。之后的 For换输出变量值是过程 P中对数组元素的赋值。选 A)。 39 【正确答案】 B 【试题解析】 程序从对话框中获得 n的初值并转换成数字进行计算。 Do WhileLoop 循环对传过来的数值进行处理。 Mod为取余函数。代入变量和初值进行计算可得退出循环时 k=48。选 B)。 40 【正确答案】 C 【试题解析】 For循环对数组 Arr赋初值。得到的结果是元素值从 10到 1的倒序。 Arr( 7) = 4。 Arr(2 + Arr(x)= Arr(2 + 4)=5。选 C)。