2004年4月全国计算机等级考试二级VB语言笔试试题及答案 ??
??一、选择题((1)—(20)每小题2分,(21)—(30)每小题3分,共70分)
??下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
??(1) 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: ?? Private Sub Command1_Click() ?? Move 500,500 ?? End Sub
?? 程序运行后,单击命令按钮,执行的操作为
??A) 命令按钮移动到距窗体左边界、上边界各500的位置 ??B) 窗体移动到距屏幕左边界、上边界各500的位置 ??C) 命令按钮向左、上方向各移动500
??D) 窗体向左、上方向各移动500
??(2) 在窗体上有若干控件,其中有一个名称为Text1的文本框。影响Text1的Tab顺序的属性是
??A) TabStop B)Enabled ??C) Visible D)TabIndex
??(3) 以下定义数组或给数组元素赋值的语句中,正确的是
??(4) 在窗体上画一个名称为List1的列表框,为了对列表框中的每个项目都能进行处理,应使用的循环语句为
??A) For i=0 To List1.ListCount-1 ???? ??Next
??B) For i=0 To ListCount-1 ????
??Next
??C) For i=1 To List1.listCount ????
??Next
??D) For i=1 To ListCount ???? ??Next
??(5) 以下Case语句中错误的是 ??A) Case 0 To 10 B) Case Is>10
??C) Case Is>10 And Is<50 D) Case 3,5,Is>10 ??(6) 以下关于图片框控件的说法中,错误的是 ??A) 可以通过Print方法在图片框中输出文本
??B) 清空图片框控件中图形的方法之一是加载一个空图形 ??C) 图片框控件可以作为容器使用
??D) 用Stretch属性可以自动调整图片框中图形的大小 ??(7) 执行语句s=Len(Mid(\后,s的值是 ??A) Visual B) Basic C) 6 D) 11
??(8) 以下叙述中错误的是
??A) 下拉式菜单和弹出式菜单都用菜单编辑器建立
??B) 在多窗体程序中,每个窗体都可以建立自己的菜单系统 ??C) 除分隔线外,所有菜单项都能接收Click事件
??D) 如果把一个菜单项的Enabled属性设置为False,则该菜单项不可见 ??(9) 在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: ?? Private Sub Command1_Click() ?? a = 12345
??Print Format$(a, \??End Sub
??程序运行后,单击命令按钮,窗体上显示的是 ??A) 123.45 B) 12345.00 C) 12345 D)00123.45 ??(10) 以下叙述中错误的是
??A) 一个工程可以包括多种类型的文件
??B) Visual Basic应用程序既能以编译方式执行,也能以解释方式执行 ??C) 程序运行后,在内存中只能驻留一个窗体
??D) 对于事件驱动型应用程序,每次运行时的执行顺序可以不一样
??(11) 以下关于函数过程的叙述中,正确的是
??A) 函数过程形参的类型与函数返回值的类型没有关系 ??B) 在函数过程中,过程的返回值可以有多个
??C) 当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递 ??D) 如果不指明函数过程参数的类型,则该参数没有数据类型 ??(12) 以下关于变量作用域的叙述中,正确的是
??A) 窗体中凡被声明为Private的变量只能在某个指定的过程中使用 ??B) 全局变量必须在标准模块中声明
??C) 模块级变量只能用Private关键字声明
??D) Static类型变量的作用域是它所在的窗体或模块文件 ??(13) 确定一个控件在窗体上的位置的属性是 ??A) Width和Height B) Width或Height
??C) Top和Left D) Top或Left
??(14) 在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程
?? Private Sub Command1_Click() ?? Text1.Text = \?? Me.Text1 = \?? Text1 = \
??End Sub
??程序运行后,如果单击命令按钮,则在文本框中显示的是 ??A) Visual B) Basic C) Program D) 出错
??(15) 以下关系表达式中,其值为False的是 ??A) \
??C) \??(16) 语句Print 5/4*6\\5 Mod 2的输出结果是
??A) 0 B) 1 C) 2 D) 3
??(17) 在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个事件过程: ??Private Sub Command1_Click()
?? strText = InputBox(\请输入\?? Text1.Text = strText ??End Sub
??
??Private Sub Text1_Change()
?? Label1.Caption = Right(Trim(Text1.Text), 3) ??End Sub
??程序运行后,单击命令按钮,如果在输入对话框中输入abcdef,则在标签中显示的内容是
??A)空 B) abcdef C) abc D) def
??(18) 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: ??Private Sub Command1_Click() ??x = -5
??If Sgn(x) Then ?? y = Sgn(x ^ 2) ??Else
?? y = Sgn(x) ??End If ??Print y ??End Sub
??程序运行后,单击命令按钮,窗体上显示的是 ??A) -5 B) 25 C) 1 D) -1
??(19) 一个工程中含有窗体Form1、Form2和标准模块Model1,如果在Form1中有语句Pubilc X As Integer,在Model1中有语句Pubilc Y As Integer,则以下叙述中正确的是 ??A) 变量X、Y的作用域相同 B) Y的作用域是Model1
??C) 在Form1中可以直接使用X D) 在Form2中可以直接使用X和Y
??(20) 在窗体上画一个名称为Drive1的驱动器列表框,一个名称为Dir1的目录列表框。当改变当前驱动器时,目录列表框应该与之同步改变。设置两个控件同步的命令放在一个事件过程中,这个事件过程是
??A)Drive1_Change B) Drive1_Click ??C) Dir1_Click D) Dir1_Change
??(21) 在窗体上画一个命令按钮(其NAME属性为Command1),然后编写如下代码: ??Option Base 1
??Private Sub Command1_Click() ?? Dim a
?? s = 0
?? a = Array(1,2,3,4) ?? j = 1
?? For i = 4 To 1 Step -1 ?? s = s + a(i) * j ?? j = j * 10 ?? Next i ?? Print s
??End Sub
??运行上面的程序,单击命令按钮,其输出结果是
??A) 4321 B) 1234 C) 34 D) 12
??(22) 在窗体上画一个名称为Text1的文本框,要求文本框只能接收大写字母的输入。以下能实现该操作的事件过程是
??A) Private Sub Text1_KeyPress(KeyAscii As Integer) ?? If KeyAscii < 65 Or KeyAscii > 90 Then ?? MsgBox \请输入大写字母\?? KeyAscii = 0 ?? End If ??End Sub
??B) Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) ?? If KeyCode < 65 Or KeyCode > 90 Then ?? MsgBox \请输入大写字母\?? KeyCode = 0 ?? End If
??End Sub
??C) Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
?? If Asc(Text1.Text) < 65 Or Asc(Text1.Text) > 90 Then ?? MsgBox \请输入大写字母\?? End If
??End Sub
??D) Private Sub Text1_Change()
?? If Asc(Text1.Text) > 64 And Asc(Text1.Text) < 91 Then ?? MsgBox \请输入大写字母\?? End If
??End Sub
??(23) 假定在窗体(名称为Form1)的代码窗口中定义如下记录类型: ??Private Type animal
?? AnimalName As String*20 ?? AColor As String*10
??End Type
??在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: ??Private Sub Command1_Click() ?? Dim rec As animal
?? Open \?? rec.animalName = \?? rec.aColor = \
?? Put #1, , rec
?? Close #1 ??End Sub
??则以下叙述中正确的是
??A) 记录类型animal不能在Form1中定义,必须在标准模块中定义 ??B) 如果文件c:\\vbTest.dat不存在,则Open命令执行失败
??C) 由于Put命令中没有指明记录号,因此每次都把记录写到文件的末尾
??D) 语句“Put #1, , rec”将animal类型的两个数据元素写到文件中 ??(24) 在窗体上画一个名称为Text1的文本框,一个名称为Command1的命令按钮,然后编写如下事件过程和通用过程: ??Private Sub Command1_Click() ?? n = Val(Text1.Text) ?? If n\\2 = n/2 Then ?? f = f1(n) ?? Else ?? f = f2(n) ?? End If ?? Print f; n ??End Sub
??
??Public Function f1(ByRef x) ?? x=x*x ?? f1=x+x
??End Function ??
??Public Function f2(ByVal x) ?? x=x*x
?? f2=x+x+x ??End Function
??程序运行后,在文本框中输入6,然后单击命令按钮,窗体上显示的是 ??A) 72 36 B) 108 36 C) 72 6 D) 108 6
??(25) 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: ??Private Sub Command1_Click() ?? c = 1234 ?? c1 = Trim(Str(c)) ?? For i = 1 To 4 ?? Print ?? Next ??End Sub
??程序运行后,单击命令按钮,要求在窗体上显示如下内容 ??1 ??12 ??123 ??1234