1、国家二级( VB)机试模拟试卷 71及答案与解析 一、选择题 1 下列关于控件数组的叙述中,正确的是 ( A)控件数组可以由不同类型的控件组成 ( B)控件数组元素的最小下标值为 1 ( C)在设计阶段,可以改变控件数组元素的 Index属性值 ( D)控件数组的名字由 Caption属性指定 2 判断复选框是否被选中的属性为 ( A) Selected ( B) Checked ( C) Value ( D) Index 3 命令按钮、单选按钮、复选框都可以通过 Picture属性在控件上显示图片,但需事先设置 某一属性,该属性为 ( A) Appearance ( B) Style ( C
2、) DisabledPicture ( D) DownPicture 4 以下不可以作为 “容器 “的控件是 ( A)图片框 ( B)图像框 ( C)框架 ( D)窗体 5 编写如下程序: Private Sub Command1_Click() Dim a As Integer, b As Integer a = 3 b = 2 If a * b 0 End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( A) True ( B) False ( C) 1 ( D) -1 6 编写如下程序: Private Sub Command1_Click() Dim score A
3、s Integer score = 86 If score 85 Then r = 1 ElseIf score 60 Then r = 2 Else r = 0 End If Print r End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( A) 0 ( B) 1 ( C) 2 ( D) 86 7 编写如下程序: Private Sub Command1_Click() Dim n As Integer, t As Long Static s As Integer t = 1 For n = 1 To 3 t = t * n s = s + t Next Print
4、 s End Sub 程序运行后,第二次单击命令按钮 Command1时,输出结果为 ( A) 6 ( B) 9 ( C) 12 ( D) 18 8 编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integer x = 1 y = 1 Do y = x * y If y 10 Then Exit Do Else x = x + 3 End If Loop Until x 10 Then m = n fun1 = m + n End Function 程序运行后,单击命令按钮 Command1,输出结果为 ( A) 30
5、( B) 32 ( C) 34 ( D) 36 11 编写如下程序: Private Sub Command1_Click() Dim num As Integer Dim k As Integer, n As Integer num = InputBox(“请输入一个正整数: “) k = num n = 2 Do Do While num Mod n = 0 Print n; num = num / n Loop n = n + 1 Loop Until n k / 2 End Sub 程序运行后,单击命令按钮 Command1,并输入数值 20,则输出结果为 ( A) 2 2 5 ( B
6、) 2 3 4 ( C) 2 3 4 5 ( D) 2 5 12 编写如下程序: Private Sub Command1_Click() Dim n As Long, s As String n = InputBox(“输入一个数 “) Do While n “ Then For i = Len(x) To 1 Step -1 s = Mid(x, i, 1) If s =5 And x=5 Or x85,所以 r=1。选 B)。 7 【正确答案】 B 【试题解析】 Staic关键字定义的变量退出事件后变量值保持不变。 For循环根据变量的初值进行计算。当第二次点击时, s的初值是第一次事件
7、执行后的结果。选B)。 8 【正确答案】 B 【试题解析】 DoLoop Until 循环当条件为真时循环执行循环体。代入初值进行计算可得结果。选 B)。 9 【正确答案】 A 【试题解析】 第一个 For循环从字符串 s中提取数字,赋值给数组 a的元素。第二个 For循环对数组 a中的元 素实现倒序排列。第三个 For循环实现打印。选A)。 10 【正确答案】 D 【试题解析】 Function fun1 函数中的参数都是引用传递,会改变实参的值,执行完后 Command1_Click 中变量 x的值为 12。选 D)。 11 【正确答案】 A 【试题解析】 Mod 为求余函数。内层 Do
8、While循环在 num Mod n 不等于 0时退出。 Do Loop Until循环满足 n k / 2条件时退出。执行结果选 A)。 12 【正确答案】 A 【试题解析】 &为字符串连接函数。 循环体取 n 的个位数,十位数,百位数组成字符串 s。循环执行后 s字串和输入的字串倒序。选 A)。 13 【正确答案】 B 【试题解析】 第一个 For循环对数组 a和数组 b 的元素赋初值。第二个 For循环实现答应。嵌套循环先执行内循环,条件不满足时退出执行外循环。直到外循环也不满足条件时结束。选 B)。 14 【正确答案】 A 【试题解析】 List1.AddItem可以为列表框添加列表项
9、。 For循环中通过 Mid 函数从字串中倒序取出字符,碰到空格时添加新列表项。选 A)。 15 【正确答案】 B 【试题解析】 算法的效率与问题的规模和数据的存储结构都有关, A错误。算法的时间复杂度,是指执行算法所需要的计算工作量, B 正确。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的, C错误。算法的时间复杂度和空间复杂度没有直接的联系, D错误。 16 【正确答案】 C 【试题解析】 线性表的顺序存储结构具备如下两个基本特征:( 1)线性表中的所有元素所占的存储空间是连续的;( 2)线性表中各数据元素在存储空间中是按逻辑顺序依
10、次存放的。用一组任意的存储单 元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此 C正确。 17 【正确答案】 D 【试题解析】 二叉树中,度为 0的节点数等于度为 2的节点数加 1,即 n2=n0-1,叶子节点即度为 0, n0=1,则 n2=0,总节点数为 12=n0+n1+n2=1+n1+0,则度为 1的节点数 n1=11,故深度为 12,选 D。 18 【正确答案】 D 【试题解析】 快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较 (n-1)+(n-2)+ +1=n(n-1)/2,选 D。 19 【正确答案
11、】 C 【试题解析】 结构化程序设计中,要注意尽量避免 goto语句的使用,故选 C。 20 【正确答案】 B 【试题解析】 软件测试主要包括单元测试、集成测试、确认测试和系统测试。 21 【正确答案】 A 【试题解析】 需求分析阶段的工作可概括为个方面: 需求获取。 需求分析。 编写需求规格说明书。 需求审评。 22 【正确答案】 C 【试题解析】 自然连接是一种特殊的等值连接,它满足下面的条件: 两关系间有公共域; 通 过公共域的等值进行连接,选 C。 23 【正确答案】 A 【试题解析】 由于职员可以再多加公司兼职,表 W的键(码)应为公司关系和职员关系的主码,即公司号和职员号。 24
12、【正确答案】 B 【试题解析】 工程文件的扩展名为 .vbp。 25 【正确答案】 A 【试题解析】 变量的命名规则是: 必须以字母开头,由字母、汉字、数字或下划线组成; 不能在变量名中出现句点 “.“、空格或者嵌入字符,例如!、 、 #、$、 %、 &等; 长度不得超过 255个字符; 不能使用 VB的关键字,关键字是语言的 组成部分,包括预定义语句 (例如 If、 For等 )、函数 (Abs、 Sqr等 )和操作符(Or、 Mod 等 )。 26 【正确答案】 B 【试题解析】 %:整型, #:双精度实型, &:长整型, :货币型。 27 【正确答案】 A 【试题解析】 选项 B)表述的
13、是 x为大于等于 5或者小于 20的数,不符题意;选项 C)、选项 D)的表达式不符合 VB的逻辑表达式方式,是错误的。 28 【正确答案】 C 【试题解析】 运算符的优先顺序是:算术运算符关系运算符逻辑运算符。 算术运算符的优先顺序是: (*与 /) Mod (与 )。 关系运算符的优先顺序是: (或 ) ( ) ( ) ( ) ( ) IsLike。 逻辑运算符的优先顺序是:非 (Not)与 (And)或 (Or)异或 (Xor)等价 (Epv)蕴涵 (Imp)。 29 【正确答案】 C 【试题解析】 Visual Basic 源程序的续行符为下划线( _)。 30 【正确答案】 C 【试
14、题解析】 VB 中变量的作用域分为:局部变量:在过程内用 Dim语句或用Static语句声明的变量,只能在本过程中使用。窗体 /模块级变量:在 “通用声明 “段中用 Dim语句或用 Private语句声明的变量 ,可被本窗体 /模块的任何过程访问。全局变量:在 “通用声明 “段中用 Public语句声明的变量,可被本应用程序的任何过程或函数访问。 31 【正确答案】 B 【试题解析】 打开顺序文件的基本格式为: Open “文件名称 “ For Mode As #文件号。 “文件名称 “表示要打开的文件的路径。 Mode为打开模式: OutPut用于输出; Append 用于追加写入; Inp
15、ut用于读取。 文件号为打开文件时指定的句柄 (即文件号 )。 32 【正确答案】 D 【试题解析】 Visible 属性用来设置窗体或控件的可见性。 33 【正确答案】 B 【试题解析】 由图中所示对话框知 InputBox 方法使用了 3个参数:第一个参数用于显示信息为 “输入界面 “;第二个参数用来显示对话框的标题为 “输入界面 “;第三个参数是默认输入值为 “20“。所以选项 B)正确。 34 【正确答案】 B 【试题解析】 标签可以响应 Click事件和 DblClick 事件。选 B)。 35 【正确答案】 C 【试题解析】 单击 List1中某 个表项时触发 List1_Clic
16、k()事件。标签的 Caption属性用于设置标签中所要显示的内容。列表框的 text属性为 List1 中表项的正文,通过这个属性可以得到被选中的项目。因此选 C)。 36 【正确答案】 D 【试题解析】 计时器控件属性包括 Enabled, Interval 和 Name。 Timer是事件。选 D)。 37 【正确答案】 A 【试题解析】 图片框控件可以作为其他控件的容器,可以使用 Print方法在其中显示文本,而图像框不具有这些功能。选 A)。 38 【正确答案】 B 【试题解析】 命令按钮获取焦点的方法可以通过按 Tab键 ,鼠标单击对象或对对象使用 Setfocus 方法。 A,C
17、,D都让命令按钮获得焦点并触发 Click 事件。选 B)。 39 【正确答案】 A 【试题解析】 与滚动条控件相关的事件主要是 Scroll 事件和 Change事件。当拖动滚动条内的滚动滑块时,触发 scroll 事件,单击滚动条两端的箭头或单击滚动条前后的空白区域不触发 Scroll 事件;当改变活动滑块的位置时,触发 Change事件。选 A)。 40 【正确答案】 D 【试题解析】 组合框 (ComboBox)控件,是列表框和文本框组成的控件,具有列表框和文本框的功能。并具有文本框和列表框的大部分属性。它可以像列表框一样,让用户通过鼠标选择需要的项目,也可以像文本框那样,用键入的方法
18、选择项目。选 D)。 二、基本操作题 41 【正确答案】 (1)【操作步骤】步骤 1:新建一个窗体,在窗体中设置一个命令按钮和一个通用对话框。在属性窗口中设置控件的属性,控件的属性见表 3.14和3.15。步骤 2:编写程序代码。参考答案 Private Sub Command1_Click() CD1.ShowOpenEnd Sub步骤 3:调试并运行程序,保存工程,设置工程文件名为sjt1.vbp,设置窗体文件名为 sjt1.frm。 (2)【操作步骤】步骤 1:新建一个窗体,在窗体中添加一个命令按钮。命令按钮的属性见表 3.16。步骤 2:编写程序代码。参考答案Private Sub C
19、ommand1_Click() Command1.Left = Command1.Left - 100End Sub步骤3:调试并运行程序,保存工程,设置工程文件名为 sjt2.vbp,设置窗体文件名为sjt2.frm。 三、简单应用题 42 【正确答案】 (1)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Option Base 1 Private Sub Command1_Click() Dim arrN(30) As Integer Dim Min As Integer Randomize For i = 1 To 30 arrN(i) = I
20、nt(Rnd * ? ) Next i ? = arrN(1) For i = 2 To 30 If ? Then Min = arrN(i) End If Next i Print Min End Sub 程序结束 参考答案 第 1个?处填入: 1000 第 2个?处填入: Min 第 3个?处填入: arrN(i) arrN(i) 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Sub SaveData() Open App.Path & “ & “outtxt.txt“ For Outp
21、ut As #1 Print #1, Text1.Text Close #1 End Sub Function Fun() End Function Private Sub Command1_Click() d = Fun() Text1.Text = d SaveData End Sub 程序结束 参考答案 Function Fun() Dim s As Integer, i As Integer For i = 0 To 1000 If i Mod 7 0 Then s = s + 1 End If Next i Fun = s End Function 步骤 3:调试并运行程序,关闭程序
22、后按题目要求存盘。 四、综合应用题 43 【正确答案】 【操作步骤】 步骤 1:打开本题工程文件,添加两个名称分别是 Label1和 Label2,标题分别为 “最长单词的长度 “和 “以该长度最后一次出现的单词是 “的标签;再添加两个名称分别为 Text1和 Text2,初始值都为空的文本框。 步骤 2:分析并编写程序代码。 程序提供代码 Option Base 1 Dim s As String Private Sub Command1_Click() Open App.Path & “in5.dat“ For Input As #1 s = Input(LOF(1), #1) Close
23、 #1 End Sub Private Sub Command2_Click() 需考生编写 End Sub Private Sub Form_Unload(Cancel As Integer) Open App.Path & “out5.dat“ For Output As #1 Print #1, Text1.Text, Text2.Text Close #1 End Sub 程序结束 参考答案 Private Sub Command2_Click() For i = 1 To Len(s) J = Asc(Mid(s, i, 1) Select Case J Case 48 To 57,
24、 65 To 90, 97 To 122 Case Else Mid(s, i, 1) = “-“ End Select Next i J = Len(s) - 1 For i = 1 To J If Mid(s, i, 1) = “-“ And Mid(s, i + 1, 1) = “-“ Then s = Left(s, i) + Right(s, J - i) J = J - 1 i = i - 1 End If Next i s = Left(s, Len(s) - 1) R = Split(s, “-“) B = R(0) For i = 1 To UBound(R) If Len(B) Len(R(i) Then B = R(i) Next i For m = UBound(R) To 1 Step -1 If Len(B) = Len(R(m) Then Exit For End If Next Text1.Text = Len(B) Text2.Text = R(m) End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。