1、二级 VISUAL+BASIC 笔试-49 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.与传统的程序设计语言相比,Visual Basic 最突出的特点是_。(分数:2.00)A.结构化程序设计B.程序开发环境C.程序调试技术D.事件驱动编程机制2.在窗体上画一个命令按钮,其名称为 Command1,然后编写如下程序:Option Base 1Private Sub Command1_Click( )Dim a As Varianta = Array(1, 2, 3, 4)j = 1For i = 4 To 1 Step -1s = s
2、 + a(i)* jj = j * 10Next iPrint sEnd Sub运行上面的程序,单击命令按钮,其输出结果是_。(分数:2.00)A.4321B.12C.34D.12343.下列程序Private Sub Command1_Click( )x = “abcd“y = “1234“For i = 1 To 4z = z + Mid(x, i, 1)+ Left(y, 1)Next iPrint zEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容是_。(分数:2.00)A.abcd1234B.a1b2c3d4C.a1b1c1d1D.1234abcd4.软件开发的结构化生命周
3、期方法将软件生命周期划分成_。(分数:2.00)A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计5.把窗体的 KeyPreview 属性设置为 True,然后编写如下过程:Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)Print Chr(KeyCode)End SubPrivate Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)Print Chr(KeyCode + 2)End Sub程序
4、运行后,如果按“A“键,则输出结果为_。(分数:2.00)A.A AB.A BC.A CD.A D6.在运行时,按 Tab 键跳过了一个可以获得焦点的控件(如文本框),则可能是因为_。(分数:2.00)A.该控件的 TabStop 属性值为 TrueB.该控件的 TabStop 属性值为 FalseC.该控件的 Enabled 属性值为 TrueD.该控件的 Enabled 属性值为 False7.以下叙述中错误的是_。(分数:2.00)A.如果过程被定义为 Static 类型,则该过程中的局部变量都是 Static 类型B.Sub 过程中不能嵌套定义 Sub 过程C.Sub 过程中可以嵌套调
5、用 Sub 过程D.Static 类型用于定义变量,不能定义过程。8.在 VisualBasic 中,要遍历一个对象集合中元素,应使用的语句是_。(分数:2.00)A.ForNextB.ForEachNextC.W ithEnd WithD.DoLoop9.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click( )Dim n As IntegerFor n = 0 To 9 Step 3Print re1(n);Next nEnd SubPrivate Function re1(ByVal i As Integer)As
6、 IntegerDim x As Integerx = 0For j = 1 To iIf i 5 Then re1 = i: Exit Functionx = x + jNext jre1 = xEnd Function程序运行后,单击命令按钮,则窗体上显示的内容是_。(分数:2.00)A.1 3 5 7B.2 8 14 53C.0 3 21 45D.0 5 11 3410.在窗体上画一个文本框,然后编写如下代码:Option Base 1Private Sub Form_Click( )Dim arrDim Start As Integer, Finish As IntegerDim Su
7、m As Integerarr = Array(12, 4, 8, 16)Start = LBound(arr)Finish = UBound(arr)Sum = 0For i = Start To FinishSum = Sum + arr(i)Next ic = Sum / FinishText1.Text = cEnd Sub程序运行后,单击窗体,则在文本框中显示的内容是_。(分数:2.00)A.40B.10C.12D.1611.在窗体上画一个命令按钮(其 Name 属性为 Command1),然后编写如下代码:Option Base 1Private Sub Command1_Clic
8、k( )Dim a(4, 4)For i = 1 To 4For j = 1 To 4a(i, j)= (i - 1)* 3 + jNext jNext iFor i = 3 To 4For j = 3 To 4Print a(j, i);Next jNext iEnd Sub程序运行后,单击命令按钮,在窗体上显示的内容为_。(分数:2.00)A.6 9 7 10B.7 10 8 11C.8 11 9 12D.9 12 10 1312.下面是窗体的四个属性,在界面设计时,改变属性值而看不到窗体变化的是_。(分数:2.00)A.TopB.WidthC.LeftD.Enabled13.Visual
9、 Basic 中的对话框分为 3 种类型,即预定义对话框、自定义对话框和_。(分数:2.00)A.列表框B.图片框C.通用对话框D.文本框14.栈的输入序列为 1,2,3,n-1,n,输出序列的第 1 个元素为 n,则第 i 个输出元素为_。(分数:2.00)A.n-i+1B.n-1C.iD.哪个元素无所谓15.在窗体上画一个名称为 Command1 的命令按钮。有下列程序:Option Base 1Private Sub Command1_Click( )Dim aa = Array(45, 27, 34, 24, 91, 37, 11, 67, 82, 63)For i = 1 To 9F
10、or j = i + 1 To 10If a(i) a(j)Thena1 = a(i)a(i)= a(j)a(j)= a1End IfNext jNext iFor i = 1 To 10Print a(i)Next iEnd Sub程序运行后,单击命令按钮,则窗体上第二行和第三行显示的内容是_。(分数:2.00)A.27 和 34B.34 和 24C.45 和 63D.24 和 2716.已知二叉树 BT 的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是_。(分数:2.00)A.cedbaB.acbedC.decabD.deabc17.语句 Print Sgn(-
11、62)+Abs(62)+Int(-62)的输出结果是_。(分数:2.00)A.-36B.1C.-1D.-7218.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click( )y = 8Print fun1(1 + fun1(fun1(fun1(y)* 10)End SubPrivate Function fun1(分数:2.00)A.fun1 = 1 + asum1End Sub(分数:2.00)填空项 1:_下列程序的功能是计算两个自然数的最大公约数,如图 1 所示。给定的程序不完整,将程序补充完整。(分数:6.00)填
12、空项 1:_填空项 1:_填空项 1:_二级 VISUAL+BASIC 笔试-49 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.与传统的程序设计语言相比,Visual Basic 最突出的特点是_。(分数:2.00)A.结构化程序设计B.程序开发环境C.程序调试技术D.事件驱动编程机制 解析:2.在窗体上画一个命令按钮,其名称为 Command1,然后编写如下程序:Option Base 1Private Sub Command1_Click( )Dim a As Varianta = Array(1, 2, 3, 4)j = 1For
13、i = 4 To 1 Step -1s = s + a(i)* jj = j * 10Next iPrint sEnd Sub运行上面的程序,单击命令按钮,其输出结果是_。(分数:2.00)A.4321B.12C.34D.1234 解析:3.下列程序Private Sub Command1_Click( )x = “abcd“y = “1234“For i = 1 To 4z = z + Mid(x, i, 1)+ Left(y, 1)Next iPrint zEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容是_。(分数:2.00)A.abcd1234B.a1b2c3d4C.a1b1
14、c1d1 D.1234abcd解析:4.软件开发的结构化生命周期方法将软件生命周期划分成_。(分数:2.00)A.定义、开发、运行维护 B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计解析:5.把窗体的 KeyPreview 属性设置为 True,然后编写如下过程:Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)Print Chr(KeyCode)End SubPrivate Sub Form_KeyUp(KeyCode As Integer, Shift As Inte
15、ger)Print Chr(KeyCode + 2)End Sub程序运行后,如果按“A“键,则输出结果为_。(分数:2.00)A.A AB.A BC.A C D.A D解析:6.在运行时,按 Tab 键跳过了一个可以获得焦点的控件(如文本框),则可能是因为_。(分数:2.00)A.该控件的 TabStop 属性值为 TrueB.该控件的 TabStop 属性值为 False C.该控件的 Enabled 属性值为 TrueD.该控件的 Enabled 属性值为 False解析:7.以下叙述中错误的是_。(分数:2.00)A.如果过程被定义为 Static 类型,则该过程中的局部变量都是 St
16、atic 类型B.Sub 过程中不能嵌套定义 Sub 过程C.Sub 过程中可以嵌套调用 Sub 过程D.Static 类型用于定义变量,不能定义过程。 解析:8.在 VisualBasic 中,要遍历一个对象集合中元素,应使用的语句是_。(分数:2.00)A.ForNextB.ForEachNext C.W ithEnd WithD.DoLoop解析:9.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click( )Dim n As IntegerFor n = 0 To 9 Step 3Print re1(n);Next
17、 nEnd SubPrivate Function re1(ByVal i As Integer)As IntegerDim x As Integerx = 0For j = 1 To iIf i 5 Then re1 = i: Exit Functionx = x + jNext jre1 = xEnd Function程序运行后,单击命令按钮,则窗体上显示的内容是_。(分数:2.00)A.1 3 5 7B.2 8 14 53C.0 3 21 45 D.0 5 11 34解析:10.在窗体上画一个文本框,然后编写如下代码:Option Base 1Private Sub Form_Click
18、( )Dim arrDim Start As Integer, Finish As IntegerDim Sum As Integerarr = Array(12, 4, 8, 16)Start = LBound(arr)Finish = UBound(arr)Sum = 0For i = Start To FinishSum = Sum + arr(i)Next ic = Sum / FinishText1.Text = cEnd Sub程序运行后,单击窗体,则在文本框中显示的内容是_。(分数:2.00)A.40B.10 C.12D.16解析:11.在窗体上画一个命令按钮(其 Name 属性
19、为 Command1),然后编写如下代码:Option Base 1Private Sub Command1_Click( )Dim a(4, 4)For i = 1 To 4For j = 1 To 4a(i, j)= (i - 1)* 3 + jNext jNext iFor i = 3 To 4For j = 3 To 4Print a(j, i);Next jNext iEnd Sub程序运行后,单击命令按钮,在窗体上显示的内容为_。(分数:2.00)A.6 9 7 10B.7 10 8 11C.8 11 9 12D.9 12 10 13 解析:12.下面是窗体的四个属性,在界面设计时
20、,改变属性值而看不到窗体变化的是_。(分数:2.00)A.TopB.WidthC.LeftD.Enabled 解析:13.Visual Basic 中的对话框分为 3 种类型,即预定义对话框、自定义对话框和_。(分数:2.00)A.列表框B.图片框C.通用对话框 D.文本框解析:14.栈的输入序列为 1,2,3,n-1,n,输出序列的第 1 个元素为 n,则第 i 个输出元素为_。(分数:2.00)A.n-i+1 B.n-1C.iD.哪个元素无所谓解析:15.在窗体上画一个名称为 Command1 的命令按钮。有下列程序:Option Base 1Private Sub Command1_Cl
21、ick( )Dim aa = Array(45, 27, 34, 24, 91, 37, 11, 67, 82, 63)For i = 1 To 9For j = i + 1 To 10If a(i) a(j)Thena1 = a(i)a(i)= a(j)a(j)= a1End IfNext jNext iFor i = 1 To 10Print a(i)Next iEnd Sub程序运行后,单击命令按钮,则窗体上第二行和第三行显示的内容是_。(分数:2.00)A.27 和 34B.34 和 24C.45 和 63D.24 和 27 解析:16.已知二叉树 BT 的后序遍历序列是 dabec,
22、中序遍历序列是 debac,它的前序遍历序列是_。(分数:2.00)A.cedba B.acbedC.decabD.deabc解析:17.语句 Print Sgn(-62)+Abs(62)+Int(-62)的输出结果是_。(分数:2.00)A.-36B.1C.-1 D.-72解析:18.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click( )y = 8Print fun1(1 + fun1(fun1(fun1(y)* 10)End SubPrivate Function fun1(分数:2.00)A.fun1 = 1 + asum1End Sub(分数:2.00)填空项 1:_ (正确答案:s+1/i)解析:下列程序的功能是计算两个自然数的最大公约数,如图 1 所示。给定的程序不完整,将程序补充完整。(分数:6.00)填空项 1:_ (正确答案:fum1(x, y))解析:填空项 1:_ (正确答案:ab)解析:填空项 1:_ (正确答案:fum1=b)解析: