招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 试题答案 - 正文

2004年4月全国计算机等级考试二级VB笔试试卷(附参考答案)

来源:招生考试网 2005-8-26 17:26:32

2004年4月全国计算机等级考试二级Visual Basic笔试试卷(附参考答案)

一、选择题((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("VisualBasic",1,6))后,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, "000.00")
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 = "Visual"
 Me.Text1 = "Basic"
 Text1 = "Program"
End Sub
程序运行后,如果单击命令按钮,则在文本框中显示的是
A) Visual B) Basic C) Program D) 出错
(15) 以下关系表达式中,其值为False的是
A) "ABC">"AbC" B) "the"<>"they"
C) "VISUAL"=UCase("Visual") D) "Integer">"Int"
(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
东方教育网提供 Http://www.eastedu.com.cn
程序运行后,单击命令按钮,如果在输入对话框中输入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 "c:\vbTest.dat" For Random As #1 Len = Len(rec)
 rec.animalName = "Cat"
 rec.aColor = "White"
 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
则在下划线处应填入的内容为
A) Right(c1,i) B) Left(c1,i) C) Mid(c1,i,1) D) Mid(c1,i,i)
(26) 在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程:东方教育网提供 Http://www.eastedu.com.cn
Private Sub Command1_Click()
 n = Val(Text1.Text)
 For i = 2 To n
 For j = 2 To sqr(i)
 If i Mod j = 0 Then Exit For
 Next j
 If j > Sqr(i) Then Print i
 Next i
End Sub
该事件过程的功能是
A) 输出n以内的奇数 B) 输出n以内的偶数
C) 输出n以内的素数 D) 输出n以内能被j整除的数
(27) 在以下描述中正确的是
A) 标准模块中的任何过程都可以在整个工程范围内被调用
B) 在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程
C) 如果工程中包含Sub Main过程,则程序将首先执行该过程
D) 如果工程中不包含Sub Main过程,则程序一定首先执行第一个建立的窗体
(28) 在窗体上画一个名称为Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:
Private Function f(m As Integer)
 If m Mod 2 = 0 Then
 f = m
 Else
 f = 1
 End If
End Function
Private Sub Command1_Click()
 Dim i As Integer
 s = 0
 For i = 1 To 5
 s = s + f(i)
 Next
 Print s
End Sub
程序运行后,单击命令按钮,在窗体上显示的是
A) 11 B) 10 C) 9 D) 8
(29) 在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
 Dim array1(10, 10) As Integer
 Dim i As Integer, j As Integer
 For i = 1 To 3
 For j = 2 To 4
 array1(i, j) = i + j
 Next j
 Next i
 Text1.Text = array1(2, 3) + array1(3, 4)
End Sub
程序运行后,单击命令按钮,在文本框中显示的值是
A) 15 B) 14 C) 13 D) 12
(30) 在窗体上画四个文本框(如图所示),并用这四个文本框建立一个控件数组,名称为Text1(下标从0开始,自左至右顺序增大),然后编写如下事件过程:






Private Sub Command1_Click()
 For Each TextBox In Text1
 Text1(i) = Text1(i).Index
 i = i + 1
 Next
End Sub
程序运行后,单击命令按钮,四个文本框中显示的内容分别为
A) 0 1 2 3 B) 1 2 3 4
C) 0 1 3 2 D) 出错信息
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(1) Visual Basic应用程序中标准模块文件的扩展名是【1】 。
(2) 在菜单编辑器中建立一个菜单,其主菜单项的名称为mnuEdit,Visible属性为False,程序运行后,如果用鼠标右键单击窗体,则弹出与mnuEdit相应的菜单。以下是实现上述功能的程序,请填空。
Private Sub Form 【2】 (Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button=2 Then
 【3】 mnuEdit
End If
End Sub
(3) 为了使计时器控件Timer1每隔0.5秒触发一次Timer事件,应将Timer1控件的【4】属性设置为【5】 。
(4) 与数学表达式 对应的Visual Basic表达式是【6】 。
(5) 将C盘根目录下的图形文件moon.jpg装入图片框Picture1的语句是【7】 。
(6) 在窗体上画一个名称为Text1的文本框,然后画三个单选按钮,并用这三个单选按钮建立一个控件数组,名称为Option1,程序运行后,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,如图所示,请填空。

Private Sub Option1_Click(Index As Integer)
 Select Case 【8】
 Case 0
 a = "宋体"
 Case 1
 a = "黑体"
 Case 2
 a = "楷体_GB2312"
 End Select
 text1. 【9】 =a
End Sub
 (7) 在窗体上画两个组合框,其名称分别为Combo1、Combo2,然后画两个标签,名称分别为Label1、Label2,如图所示,程序运行后,如果在某个组合框中选择一个项目,则把所选中的项目在其下面的标签中显示出来。请填空。

Private Sub Combo1_Click()
 Call ShowItem(Combo1, Label1)
End Sub

Private Sub Combo2_Click()
 Call ShowItem(Combo2, Label2)
End Sub

Public Sub ShowItem(tmpCombo As ComboBox, tmpLabel As Label)
 【10】.Caption =【11】.Text
End Sub
(8)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
 n = 5
 f = 1
 s = 0
 For i = 1 To n
 f = f【12】
 s = s + f
 Next
 Print s
End Sub
该事件过程的功能是计算

的值。请填空。
(9)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Option Base 1
Private Sub Command1_Click()
 Dim a(10) As Integer
 For i = 1 To 10
 a(i) = i
 Next
 Call swap( 【13】 )
 For i = 1 To 10
 Print a(i);
 Next
End Sub
Sub swap(b() As Integer)
 n = 【14】
 For i = 1 To n / 2
 t = b(i)
 b(i) = b(n)
 b(n) = t
 【15】
 Next
End Sub
上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,……,a(5)与a(6)的值互换。请填空。东方教育网提供 Http://www.eastedu.com.cn


参考答案

一、选择题((1)—(20)每小题2分,(21)—(30)每小题2分,共70分)
(1) B (2) D (3) A (4) A (5) C
(6) D (7) C (8) D (9) B (10) C
(11) A (12) B (13) C (14) D (15) A
(16) B (17) D (18) C (19) C (20) A
(21) B (22) A (23) C (24) A (25) B
(26) C (27) A (28) C (29) D (30) A
二、填空题(每空2分,共30分)
(1) 〖1〗 .bas
(2) 〖2〗 mousedown
 〖3〗 popupmenu
(3) 〖4〗 interval
 〖5〗 500
(4) 〖6〗 (cos(a+b))^2/(3*x)+5
(5) 〖7〗 Picture1.picture=loadpicture(“c:\moon.jpg”)
(6) 〖8〗 index
 〖9〗 font
(7) 〖10〗 tmplabel
 〖11〗 tmpCombo
(8) 〖12〗 *(1/i )
(9) 〖13〗a()
 〖14〗ubound(b)
 〖15〗 n=n-1



  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.


    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号