1、二级 VISUAL+BASIC-20-2 及答案解析(总分:81.96,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:57.00)1.下面选项中,不能使控件得到焦点的操作是U /U。 A.在程序运行期间,用鼠标单击对象 B.在程序运行期间,用快捷键选择对象 C.在程序运行期间,用 Tab 键 D.在程序运行期间,用 Enter 键(分数:2.00)A.B.C.D.2.以下能够触发文本框 Change 事件的操作是U /U A.文本框失去焦点 B.文本框获得焦点 C.设置文本框的焦点 D.改变文本框的内容(分数:2.00)A.B.C.D.3.Load 事件是在窗体被装入工作区时_触
2、发的事件。 A. 用户 B. 程序员 C. 手工 D. 自动(分数:2.00)A.B.C.D.4.在窗体上画一个命令按钮(名称为 Command1),然后编写如下事件过程:Private Sub Command1_Click()b=5c=6Pdnta=b+cEnd Sub程序运行后,单击命令按钮,输出的结果是_。 A. a=11 B. a=b+c C. a= D. False(分数:2.00)A.B.C.D.5.与传统的程序设计语言相比,Visual Basic 最突出的特点是_。 A.结构化程序设计 B.编写跨平台应用程序 C.程序调试技术 D.事件驱动程序编制(分数:2.00)A.B.C.
3、D.6.下列关于复选框的说法,正确的是U /U。 A. 复选框的 Enabled 属性用于决定该复选框是否可见 B. 复选框的 Value 属性用于决定该复选框是否被选中 C. 复选框的 TabIndex 属性用于决定该复选框在控件数组中的序号 D. 复选框的 Visible 属性用于决定该复选框是否可用(分数:2.00)A.B.C.D.7.有如下程序:Private Sub Form_C1ick()Dim CheCk,CounterCheCk=TrueCounter=0DoDo While Counter20Counter=Counter+1If Counter=10 ThenCheck=F
4、alseExit DoEnd IfLoopLoop Until Check=FalsePtint Counter,CheckEnd Sub程序运行后,单击窗体,输出结果为_。 A. 15 0 B. 20 -1 C. 10 Tree D. 10 False (分数:1.00)A.B.C.D.8.在结构化方法中,软件功能分解属于软件开发中的_阶段。 A. 概要设计 B. 需求分析 C. 详细设计 D. 编程调试(分数:1.00)A.B.C.D.9.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 _。 A. 数据无冗余 B. 数据可共享 C. 专门的数据管理软件 D. 特定
5、的数据模型(分数:1.00)A.B.C.D.10.有如下自定义过程:Sub test(x As Integer)x =X *2+1If x6 ThenCall test(x)End Ifx=x* 2 + 1Print x;End Sub调用该过程的事件过程如下:Private Sub Command1_Click()test 2End Sub则该段程序的执行结果是_ 。 A. 12 B. 23 47 C. 23 D. 5 10(分数:2.00)A.B.C.D.11.假定程序中有如下语句:answerMsgBox(“第一个字符串“,vbAbortRetryIgnore_Or vbCritieal
6、_Or vbDefaultButton3,_“第二个字符串“)执行该语句后,将显示一个信息框,此时如果按回车键,则 answer 的值为 A. “第二个字符串” B. 5 C. 3 D. 7(分数:1.00)A.B.C.D.12.以下叙述中错误的是 A. 在同一窗体的菜单项中,不允许出现标题相同的菜单项 B. 在菜单的标题栏中,“ Max, “Min = “; Min End Sub 以上程序的功能是,由程序产生10 个 100 以内的随机整数,放入数组 arr 中,然后输出这 10 个数的最大值 Max 和最小值 Min,请填空。(分数:1.92)填空项 1:_(6).数据库在经过一定时间运
7、行后,其性能会逐步下降,这时需要对数据库进行数据库U U /U/U。(分数:1.92)填空项 1:_(7).下列程序弹出对话框中按钮的个数为_。 MsgBox“确认!“,vbAbortRetryignore+vbMsgBoxHelpButton+vbinformation,“提示:“(分数:1.92)填空项 1:_(8).创建一个窗体,在该窗体中建立两个按钮,分别命名为 Command1 和 Command2。下列程序代码用于实现以下功能:单击命令按钮 Command1 后,按钮 Command1 变为不可用,而 Cmmnand2 设置为可用。请填空。Private Sub Command1_
8、 Click() Command1._ = False Command1._ = True End Sub(分数:1.92)填空项 1:_(9).如果存在如下过程: Private Function Fun(a() As Integer) Dim First As Integer, Last As Integer,i As Integer First=LBound(a) Last=UBound(a) Max=a(First) For i=First To Last If a(i) Max Then Max=a(i) Next Fun=Max End Function 在窗体上添加一个命令按钮,
9、然后编写如下事件过程: Private Sub Command1_Click() ReDim m(1 To 4)As Integer m(1)=20: m(2)=30: m(3)=50: m(4)=100 c=Fun(m) Print C End Sub 单击命令按钮,其输出结果为U U /U /U。(分数:1.92)填空项 1:_(10).为了使一个标签透明且没有边框,必须把它的 BorderStyle 属性设置为_,并把 Backstyle 属性设置为 0。(分数:1.92)填空项 1:_(11).用户可以用U U /U /U语句定义自己的数据类型。(分数:1.92)填空项 1:_(12)
10、.首先执行循环体,然后再进行条件判断,决定是否结束循环的循环语句是U U /U /U。(分数:1.92)填空项 1:_(13).阅读程序: Option Base 1 Private Sub Form Click() Dim a(3) As Integer Print“输入的数据是:”; For i = 1 To 3 a(i) = InputBox(“输入数据”) Print a(i); Next Print If a(1)a(2) Then t = a(1) a(1) = a(2) a(2)= _ End If If a(2)a(3) Then m = a(2) ElseIf a(1)a(3
11、) Then m= _ Else m= _ End If Print “中间数是:”;m End Sub 程序运行后,单击窗体,在输入对话框中分别输入三个整数,程序将输出三个数中的中间数,如图所示。请填空。 (分数:1.92)填空项 1:_二级 VISUAL+BASIC-20-2 答案解析(总分:81.96,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:57.00)1.下面选项中,不能使控件得到焦点的操作是U /U。 A.在程序运行期间,用鼠标单击对象 B.在程序运行期间,用快捷键选择对象 C.在程序运行期间,用 Tab 键 D.在程序运行期间,用 Enter 键(分数:2.00
12、)A.B.C.D. 解析:2.以下能够触发文本框 Change 事件的操作是U /U A.文本框失去焦点 B.文本框获得焦点 C.设置文本框的焦点 D.改变文本框的内容(分数:2.00)A.B.C.D. 解析:解析 本题考查几个常用的文本框的属性和方法:Text 属性设置控件中显示的文本内容;MaxLength 属性设置文本框中输入的字符串长度是否有限制;Change 事件,当文本框的内容被修改时触发。SetFocus 方法将焦点移动到指定的对象。3.Load 事件是在窗体被装入工作区时_触发的事件。 A. 用户 B. 程序员 C. 手工 D. 自动(分数:2.00)A.B.C.D. 解析:4
13、.在窗体上画一个命令按钮(名称为 Command1),然后编写如下事件过程:Private Sub Command1_Click()b=5c=6Pdnta=b+cEnd Sub程序运行后,单击命令按钮,输出的结果是_。 A. a=11 B. a=b+c C. a= D. False(分数:2.00)A.B.C.D. 解析:解析 在本题中,变量 a 未定义,因此初始值为 0,在表达式 a=b+c 中,a=O,b+c=5+6=11,所以表达式的值为 False,程序的输出结果为 False。5.与传统的程序设计语言相比,Visual Basic 最突出的特点是_。 A.结构化程序设计 B.编写跨平
14、台应用程序 C.程序调试技术 D.事件驱动程序编制(分数:2.00)A.B.C.D. 解析:6.下列关于复选框的说法,正确的是U /U。 A. 复选框的 Enabled 属性用于决定该复选框是否可见 B. 复选框的 Value 属性用于决定该复选框是否被选中 C. 复选框的 TabIndex 属性用于决定该复选框在控件数组中的序号 D. 复选框的 Visible 属性用于决定该复选框是否可用(分数:2.00)A.B. C.D.解析:解析 Enabled 属性用于设置控件是否能够对用户产生的事件作出反应;Value 属性用来返回或设置复选框的状态,是否被选中; TabIndex 属性是指复选框在
15、窗体中获得焦点的顺序:Visible 属性返回或设置复选框可见或隐藏。7.有如下程序:Private Sub Form_C1ick()Dim CheCk,CounterCheCk=TrueCounter=0DoDo While Counter20Counter=Counter+1If Counter=10 ThenCheck=FalseExit DoEnd IfLoopLoop Until Check=FalsePtint Counter,CheckEnd Sub程序运行后,单击窗体,输出结果为_。 A. 15 0 B. 20 -1 C. 10 Tree D. 10 False (分数:1.0
16、0)A.B.C.D. 解析:解析 Do WhileLoop 是先判断条件表达式的值是否为 True,如果为 True,则执行循环体,如果为 False,则执行 Loop 后面的语句。DoLoop Until 是先执行循环体,再判断条件表达式,如果表达式的值为 True,则执行 Loop 后面的语句,如果为 False,则继续执行循环体。而 Exit Do 则是强行退出循环。本题中,当 Counter =10 时,强行退出 DoWhile 循环,而由于此时 Check=False,使得 umil 的条件为 True,结束外层循环。所以最终 Coumer=10。8.在结构化方法中,软件功能分解属于
17、软件开发中的_阶段。 A. 概要设计 B. 需求分析 C. 详细设计 D. 编程调试(分数:1.00)A. B.C.D.解析:解析 概要设计的任务是划分出构成系统的各物理元素以及设计出软件的结构(如确定模块及模块间的关系)。设计过程通常分为以下几步:提出可选择方案、选择合理方案、推荐最佳方案、功能分解、设计软件结构、制定测试计划,最后提交概要设计文档。软件功能分解属于概要设计阶段。本题的正确答案为选项 A。9.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 _。 A. 数据无冗余 B. 数据可共享 C. 专门的数据管理软件 D. 特定的数据模型(分数:1.00)A.B
18、.C.D. 解析:解析 在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。10.有如下自定义过程:Sub test(x As Integer)x =X *2+1If x6 ThenCall test(x)End Ifx=x* 2 + 1Print x;End Sub调用该过程的事件过程如下:Private Sub Command1_Click()test 2End Sub则该段程序的执行结果是_ 。
19、 A. 12 B. 23 47 C. 23 D. 5 10(分数:2.00)A.B. C.D.解析:11.假定程序中有如下语句:answerMsgBox(“第一个字符串“,vbAbortRetryIgnore_Or vbCritieal_Or vbDefaultButton3,_“第二个字符串“)执行该语句后,将显示一个信息框,此时如果按回车键,则 answer 的值为 A. “第二个字符串” B. 5 C. 3 D. 7(分数:1.00)A.B. C.D.解析:解析 本题主要考查了 MsgBox 函数,其格式为: MsgBox (Prompt, Type, Title, HelpFile,C
20、ontext)其中 Type 参数用来指定对话框中显示的按扭类型、数目和图标样式。题中显示的按扭类别有三种,默认按扭为第三个按扭即忽略按扭。如果按回车键,默认按扭生效,相当于用户选择了默认的忽略按扭,故返回值应为 5。MsgBox 函数返回值参照课本中的 MsgBox 函数返回值表。12.以下叙述中错误的是 A. 在同一窗体的菜单项中,不允许出现标题相同的菜单项 B. 在菜单的标题栏中,“ Max, “Min = “; Min End Sub 以上程序的功能是,由程序产生10 个 100 以内的随机整数,放入数组 arr 中,然后输出这 10 个数的最大值 Max 和最小值 Min,请填空。(
21、分数:1.92)填空项 1:_ (正确答案:Max = arr (i) Min = arr(i))解析:(6).数据库在经过一定时间运行后,其性能会逐步下降,这时需要对数据库进行数据库U U /U/U。(分数:1.92)填空项 1:_ (正确答案:重组)解析:解析 进行数据库重新整理,重新调整存储空间的工作称为数据库重组。(7).下列程序弹出对话框中按钮的个数为_。 MsgBox“确认!“,vbAbortRetryignore+vbMsgBoxHelpButton+vbinformation,“提示:“(分数:1.92)填空项 1:_ (正确答案:4)解析:(8).创建一个窗体,在该窗体中建立
22、两个按钮,分别命名为 Command1 和 Command2。下列程序代码用于实现以下功能:单击命令按钮 Command1 后,按钮 Command1 变为不可用,而 Cmmnand2 设置为可用。请填空。Private Sub Command1_ Click() Command1._ = False Command1._ = True End Sub(分数:1.92)填空项 1:_ (正确答案:Enable Enable)解析:(9).如果存在如下过程: Private Function Fun(a() As Integer) Dim First As Integer, Last As In
23、teger,i As Integer First=LBound(a) Last=UBound(a) Max=a(First) For i=First To Last If a(i) Max Then Max=a(i) Next Fun=Max End Function 在窗体上添加一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() ReDim m(1 To 4)As Integer m(1)=20: m(2)=30: m(3)=50: m(4)=100 c=Fun(m) Print C End Sub 单击命令按钮,其输出结果为U U /U /U。(
24、分数:1.92)填空项 1:_ (正确答案:100)解析:解析 在程序 Sub 中定义了一个含 4 个元素的数组,并且分别给它们赋值,数组上界是 4,下界为 1;将数组 m 作为实参调用 Max 事件过程,并将数组 m 的地址传递给数组 a,即此时数组 a 与 m 共用一个存储空间;将数组的上界和下界分别赋给变量 Last 和 First,在赋值表达式中分别调用了 LBound()函数求数组下界及 UBound()函数求数组的上界;在循环语句中,变量的初始值为数组的下界为 1,终值为数组的上界为 4,循环体是一个条件语句,如果 a (i)中的值大于 Max,就将 a(i)的值赋给 Max,当循
25、环结束后,将 Max 作为函数的返回值,所以此事件过程的功能即为求数组中的最大值。(10).为了使一个标签透明且没有边框,必须把它的 BorderStyle 属性设置为_,并把 Backstyle 属性设置为 0。(分数:1.92)填空项 1:_ (正确答案:0)解析:(11).用户可以用U U /U /U语句定义自己的数据类型。(分数:1.92)填空项 1:_ (正确答案:Type)解析:解析 用户可以用 Type 语句来定义数据类型,格式是: Type 数据类型名 数据类型元素名 As 类型名 数据类型元素名 As 类型名 EndType 其中“数据类型名”是要定义的数据类型的名字,其命名
26、规则和变量的命名规则相同;“数据类型元素名”也遵守相同的规则,且不能是数组名;“类型名”可以是任何基本数据类型,也可以是用户定义的类型。(12).首先执行循环体,然后再进行条件判断,决定是否结束循环的循环语句是U U /U /U。(分数:1.92)填空项 1:_ (正确答案:Do-loop)解析:解析 本题考查的是 Do-loop 结构的循环语句,不管是否满足条件,都要先执行一次。(13).阅读程序: Option Base 1 Private Sub Form Click() Dim a(3) As Integer Print“输入的数据是:”; For i = 1 To 3 a(i) =
27、InputBox(“输入数据”) Print a(i); Next Print If a(1)a(2) Then t = a(1) a(1) = a(2) a(2)= _ End If If a(2)a(3) Then m = a(2) ElseIf a(1)a(3) Then m= _ Else m= _ End If Print “中间数是:”;m End Sub 程序运行后,单击窗体,在输入对话框中分别输入三个整数,程序将输出三个数中的中间数,如图所示。请填空。 (分数:1.92)填空项 1:_ (正确答案:t a(3) a(1))解析:解析 本题的关键是要看懂程序代码。第一个 If 语句通过中介变量 t 把 a(1)值与 a(2)值调换,使得 a(1)的值永远大于 a(2)的值,所以此时令 m 值为 a(2)。故第一处填:t。如果不是“a(2)=a(3)”,那么在“a(1)=a(3)”的情况下,由于“a(2)=a(3)”,故此时令 m 的值为 a(3),即第二处填:a(3)。如果以上两种情况都未出现,即意味着“a(2)=a(3)”,“a(3)=a(1)”,又因为 a(1)值永远大于 a(2)值,故此时,“a(2)a(1)a(3)”,所以第三处填:a(1)。