2002-2010二级VB题及答案

更新时间:2024-05-08 01:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2002年9月全国计算机等级考试二级VB语言笔试试题及答案

一、选择题(每题2分,共70分)

下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 在设计阶段,当双击窗体上的某个控件时,所打开的窗口是 A) 工程资源管理器窗口 B) 工具箱窗口 C) 代码窗口 D) 属性窗口 (2) 以下叙述中正确的是

A) 窗体的Name属性指定窗体的名称,用来标识一个窗体 B) 窗体的Name属性的值是显示在窗体标题栏中的文本 C) 可以在运行期间改变对象的Name属性的值

D) 对象的Name属性值可以为空

(3) 刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是 A) 单选按钮 B) 图片框 C) 通用对话框 D) 文本框 (4) 设有如下变量声明

 Dim TestDate As Date

为变量TestDate正确赋值的表达方式是

A) TextDate=#1/1/2002# B) TestDate=#“1/1/2002”#

C) TextDate=date(“1/1/2002”) D) TestDate=Format(“m/d/yy”,“1/1/2002”) (5) 设有如下声明:

 Dim X As Integer

 如果Sgn(X) 的值为-1,则X的值是

A) 整数 B) 大于0的整数 C) 等于0的整数 D) 小于0的数

(6) 在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序: Private Sub Command1_Click() Static X As Integer Static Y As Integer Cls Y=1 Y=Y+5 X=5+X Print X,Y End Sub

程序运行时,三次单击命令按钮Commandl后,窗体上显示的结果为 A) 15 16 B) 15 6 C) 15 15 D) 5 6

(7) 设a=3,b=5,则以下表达式值为真的是

A) a>=b And b>10 B) (a>b)Or(b>0) C) (a<0)Eqv(b>0) D) (-3+5>a)And(b>0) (8) 设有语句

x=InputBox(“输入数值”,“0”,“示例”)

程序运行后,如果从键盘上输入数值10并按回车键,则下列叙述中正确的是 A) 变量X的值是数值10 B) 在InputBox对话框标题栏中显示的是“示例” C) 0是默认值 D) 变量X的值是字符串“10”

(9) 从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是 A) Left B) Mid C) String D) Instr (10) 设a=“Visual Basic”,下面使b=“Basic”的语句是 A) b=Left(a,8,12) B) b=Mid(a,8,5)

C) b=Rigth(a,5,5) D) b=Left(a,8,5)

(11) 以下能够触发文本框Change事件的操作是 A) 文本框失去焦点 B) 文本框获得焦点

C) 设置文本框的焦点 D) 改变文本框的内容

(12) 在窗体上有一个文本框控件,名称为TxtTime:一个计时器控件,名称为Timerl,要求每一秒钟在文本框中显示一次当前的时间。程序为: Private Sub Timer1_ () TxtTime.text=Time End Sub

在下划线上应填入的内容是

A) Enabled B) Visible C) Interval D) Timer

(13) 在窗体上画两个单选按钮,名称分别为Option1、Option2,标题分别为“宋体”和“黑体”;一个复选框,名称为Check1,标题为“粗体”;一个文本框,名称为Text1,Text属性为“改变文字字体”。要求程序运行时,“宋体”单选按钮和“粗体”复选框被选中(窗体外观如下图) ,则能够实现上述要求的语句序列是 A) Option1.value=True B) Option1.Value=True

Check1.Value=False Check1.Value=True

C) Option2.Value=False D) Option1.Value=True Check1.Value=True Check1.Value=1

(14) 为了在按下Esc键时执行某个命令按钮的Click事件过程,需要把该命令按钮的一个属性设置为True,这个属性是

A) Value B) Default C) Cancel D) Enabled

(15) 在窗体上画一个命令按钮,名称为Command1。然后编写如下程序: Private Sub Command1_Click()  For I=1 To 4  For J=0 To 1  Print Chr$(65+I);  Next J  Print  Next I End Sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是 A) BB B) A C) B D) AA CC BB CC BBB

DDDD CCC DDD CCCC EEEEE DDDD EEEE DDDDD

(16) 图像框有一个属性,可以自动调整图形的大小,以适应图像框的尺寸,这个属性是

A) Autosize B) Stretch

C) AutoRedraw D) Appearance

(17) 在窗体上画两个名称分别为Text1、Texte2的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim x As Integer,n As Integer x=1 n=0

Do While x<20 x=x*3 n=n+1 Loop

Text1.Text=Str(x) Text2.Text=Str(n) End Sub

程序运行后,单击命令按钮,在两个文本框中显示的值分别是 A) 15和1 B) 27和3 C) 195和3 D) 600和4

(18) 在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() Dim i As Integer,n As Integer For I=0 To 50 i=i+3 n=n+1

If i>10 Then xit for Next

Text1.Text=Str(n) End Sub

程序运行后,单击命令按钮,在文本框中显示的值是 A) 2 B) 3 D) 4 D) 5

(19) 在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() Dim array1(10,10) As Integer Dim i,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) 12 B) 13 C) 14 D) 15

(20) 在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:

Private Sub Command1_Click() Dim i As Integer,j As Integer Dim a(10,10)As Integer For i=1 To 3 For j=1 To 3 a(i,j)=(i-1)*3+j Print a(i,j); Next j Print Next j End Sub

程序运行后,单击命令按钮,窗体上显示的是 A) 123 B) 234 C) 147 D) 123  246 345 258 456  369 456 369 789

 (21) 设有如下程序: Option Base 0

Private Sub Form_Click() Dim a

Dim i As Integer a=Array(1,2,3,4,5,6,7,8,9) For i=0 To 3 Print a(5-i); Next

 End Sub

程序运行后,单击窗体,则在窗体上显示的是

A) 4 3 2 1 B) 5 4 3 2 C) 6 5 4 3 D) 7 6 5 4 (22) 下列叙述中正确的是

A) 在窗体的Form_Load事件过程中定义的变量是全局变量

B) 局部变量的作用域可以超出所定义的过程

C) 在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程

D) 在调用过程时,所有局部变量被系统初始化为0或空字符串

(23) 在窗体上画一个命令按钮,名称为Command1。程序运行后,如果单击命令按钮,则显示一个输入对话框,在该对话框中输入一个整数,并用这个整数作为实参调用函数过程F1。在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回1,否则返回0。能够正确实现上述功能的代码是

A) Private Sub Command1_Click() x=InputBox(“请输入整数”) a=F1(Val(x)) Print a End Sub 

Function F1(ByRef b As Integer) If b Mod 2=0 Then Return 0 Else Return 1 End If

End Function

B) Private Sub Command1_Click() x=InputBox(“请输入整数”) a=F1(Val(x)) Print a End Sub



Function F1(ByRef b As Integer) If b Mod 2=0 Then F1=0 Else F1=1 End If

End Function

C) Private Sub Command1_Click() x=InputBox(“请输入整数”) F1(Val(x)) Print a End Sub



Function F1(ByRef b As Integer) If b Mod 2=0 Then F1=1 Else F1=0 End If

End Function

D) Private Sub Command1_Click() x=InputBox(“请输入整数”) F1(Val(x)) Print a End Sub 

Function F1(ByRef b As Integer) If b Mod 2=0 Then Return 0 Else Return 1

End If

End Function

(24) 在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下程序:

Private Sub Command1_Click() Dim x,y,z As Integer x=5 y=7 z=0

Text1.text=“” Call P1(x,y,z) Text1.Text=Str(x)

End Sub

Sub P1(ByVal a As Integer,ByVal b As Integer,c As Integer) c=a+b End Sub

程序运行后,如果单击命令按钮,则在文本框中显示的内容是 A) 0 B) 12 C) Str(z) D) 没有显示 (25) 以下叙述中错误的是

A) 如果过程被定义为Static类型,则该过程中的局部变量都是Static类型 B) Sub过程中不能嵌套定义Sub过程

C) Sub过程中可以嵌套调用Sub过程

D) 事件过程可以像通用过程一样由用户定义过程名 (26) 以下叙述中错误的是

A) 在KeyUp和KeyDown事件过程中,从键盘上输入A或a被视作相同的字母(即具有相同的KeyCode)

B) 在KeyUp和KeyDown事件过程中,将键盘上的“1”和右侧小键盘上的“1”视作不同的数字(具有不同的KeyCode)

C) KeyPress事件中不能识别键盘上某个键的按下与释放 D) KeyPress事件中可以识别键盘上某个键的按下与释放 (27) 以下叙述中错误的是

A) 在同一窗体的菜单项中,不允许出现标题相同的菜单项

B) 在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键 C) 程序运行过程中,可以重新设置菜单的Visible属性

D) 弹出式菜单也在菜单编辑器中定义

(28) 设在菜单编辑器中定义了一个菜单项,名为menu1。为了在运行时隐藏该菜单项,应使用的语句是

A) menu1.Enabled=True B) Munu1.Enabled=False C) Menu1.Visible=True D) Menu1.Visible=False (29) 以下叙述中错误的是

A) 在程序运行时,通用对话框控件是不可见的

B) 在同一个程序中,用不同的方法(如ShowOpen或ShowSave等)打开的通用对话框具有不同的作用

C) 调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文

D) 调用通用对话框控件的ShowColor方法,可以打开颜色对话框

(30) 在用通用对话框控件建立“打开”或“保存”文件对话框时,如果需要指定文件列表框所列出的文件类型是文本文件(即.txt文件),则正确的描述格式是 A) “text (.txt)|(*.txt)” B)“文本文件( .txt) | (.txt)” C) “text(.txt)||(*.txt)” D)“text(.txt)(*.txt)” (31) 以下叙述中错误的是

A) 一个工程中只能有一个Sub Main过程

B) 窗体的Show方法的作用是将指定的窗体装入内存并显示该窗体 C) 窗体的Hide方法和Unload方法的作用完全相同

D) 若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体 (32) 以下叙述中错误的是

A) 一个工程中可以包含多个窗体文件

B) 在一个窗体文件中用Private定义的通用过程能被其他窗体调用

C) 在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件

D) 全局变量必须在标准模块中定义

(33) 设在工程中有一个标准模块,其中定义了如下记录类型 Type Books

Name As String *10

TelNum As String *20 End Type

在窗体上画一个名为Command1的命令按钮。要求当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条记录。下列能够完成该操作的事件过程是 A) Private Sub Command1_Click() Dim B As Books

Open “c:\\Person.txt”For Output As #1 B.Name=InputBox(“输入姓名”)

B.TelNum=InputBox(“输入电话号码”) Write #1,B.Name,B.TelNum Close #1

End Sub

B) Private Sub Command1_Click() Dim B As Books

Open “c:\\Person.txt”For Input As #1 B.Name=InputBox(“输入姓名”) B.TelNum=InputBox(“输入电话号码”) Print #1,B.Name,B.TelNum Close #1 End Sub

C) Private Sub Command1_Click() Dim B As Books

Open “c:\\Person.txt”For Output As #1

B.Name=InputBox(“输入姓名”) B.TelNum=InputBox(“输入电话号码”) Write #1,B Close #1 End Sub

D) Private Sub Command1_Click()

Open “c:\\Person.txt”For Input As #1 Name=InputBox(“输入姓名”)

TelNum=InputBox(“输入电话号码”) Print #1,Name,TelNum Close #1 End Sub

(34) 以下叙述中正确的是

A) 一个记录中所包含的各个元素的数据类型必须相同 B) 随机文件中每个记录的长度是固定的

C) Open命令的作用是打开一个已经存在的文件 D) 使用Input #语句可以从随机文件中读取数据 (35) 目录列表框的Path属性的作用是

A) 显示当前驱动器或指定驱动器上的目录结构

B) 显示当前驱动器或指定驱动器上的某目录下的文件名 C) 显示根目录下的文件名

D) 显示该路径下的文件

二、填空题( 每空2分,共40分)

 请将每空的正确答案写在答题卡( 1)至( 15) 的横线上,答在试卷上不得分。

(1) 在窗体上画两个标签,其名称分别为Label1和Label2,Caption属性分别为“数值”及空白;然后画一个名称为Hscoll1的水平滚动条,其Min的值为0,Max的值为100。程序运行后,如果单击滚动条两端的箭头,则在标签Lable2中显示滚动条的值,如图所示。请在 [1] 和 [2] 处填入适当的内容,将程序补充完整。 

Private Sub HScroll1_ [1] () Labl2.Caption=HScroll1. [2]

End Sub

(2) 在窗体上画一个名称为Command1、标题为“计算”的命令按钮;画两个文本框,名称分别为Text1和Text2;然后画4个标签,名称分别为Label1、Label2、Label3和Label4,标题分别为“操作数1”、“操作数2”、“运算结果”和空白;再建立一个含有4个单选按纽的控件数组,名称为Option1,标题分别为“+”、“-”、“*”和“/”。程序运行后,在Text1、Text2中输入两个数值,选中一个单选按钮后单击命令按钮,相应的计算结果显示在Label4,程序运行情况如图所示。请在 [3] 、 [4] 和 [5] 处填入适当的内容,将程序补充完整。  

Private Sub Command1_Click() For i=0 To 3 If [3] =True then

opt=Option1(i).Caption End If Next

Select Case [4] Case”+”

Result=Val(Text1.Text)+Val(Text2.Text) Case”-”

Result=Val(Text1.Text)-Val(Text2.Text) Case”*”

Result=Val(Text.Text)*Val(Text2.Text) Case”/”

Result=Val(Text1.Text)/Val(Text2.Text) End Select  [5] =Result End Sub

(3) 在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框。程序运行后,Command1为禁用(灰色) 。当向文框中输入任何字符时,命令按钮Command1变为可用。请在 [6] 处填入适当的内容,将程序补充完整。 Private Sub Form_Load() Command1.Enabled=False End Sub

Private Sub Text1_ [6] ( )

Command1.Enabled=True

End Sub

(4) 在菜单编辑器中建立了一个菜单,名为pmenu,用下面的语句可以把它作为弹出式菜单弹出,请填空。  Form1. [7] Pmenu

(5) 以下程序的功能是:从键盘上输入若干个学生的考试分数,当输入负数时结束输入,然后输出其中的最高分数和最低分数。请在 [8] 和 [9] 处填入适当的内容,将程序补充完整。

Private Sub Form_Click()

Dim x As Single,amax As Single,amin As Single x=InputBox(“Enter a score”) amax=x amin=x Do While [8] If x>amax Then Amax=x End If If [9]Then Amin=x End If

x=InputBox(“Enter a score”)

Loop

Print”Max=”;amax,”Min=”;amin End Sub

(6) 在窗体上画一个文本框和一个图片框,然后编写如下两个事件过程: Private Sub Form_Load() Text1.Text=”计算机” End Sub

Private Sub Text1_Change() Picture1.Print“等级考试” End Sub

 程序运行后,在文本框中显示的内容是 [10] ,而在图片框中显示的内容是 [11] 。 (7) 在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序: Function M(x As Integer,y As Integer)As Integer M=IIf(x>y,x,y) End Function

Private Sub command1_Click() Dim a As Integer,b As Integer a=100 b=200

Print M(a,b)

End Sub

 程序运行后,单击命令按钮,输出结果为 [12] 。

(8) 为了改变计时器控件的时间间隔,应该修改该控件的 [13] 属性。

(9) 在窗体上画一个名称为Lable1的标签和一个名称为List1的列表框。程序运行后,在列表框中添加若干列表项。当双击列表框中的某个项目时,在标签Label1中显示所选中的项目,如图所示。请在 [14] 和 [15] 处填入适当的内容将程序补充完整。 Private Sub Form_load() List1.AddItem”北京” List1.AddItem”上海” List1.AddItem”湖北” End Sub

Private Sub [14] () Label1.Caption= [15]

End Sub

2002年9月全国计算机等级考试二级 VB 试卷答案 

一、选择题:

1—10 C A C A D B B D D B 11—20 D D D C A B B B A D 21—30 C C B B D C A D C A 31—35 C B A D A 

二、填空题:



1、CHANGE 2、VALUE 3、OPTION1(I).VALUE 4、OPT

5、LABEL4。CAPTION 6、CHANGE 7、 POPUPMENU 8、X>=0 9、X14、LIST1_DBLCLICK 15、LIST1.TXT

2003年4月全国计算机等级考试二级VB语言笔试试题及答案

一、选择题((1)一(20)每小题2分,(21)一(30)每小题3分,共30题,70分)

 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂  在答题卡的相应位置上,答在试卷上不得分。

 (1)以下不能在“工程资源管理器”窗口中列出的文件类型是  A).bas B).res C).fnn D).ocx  (2)以下关于窗体的描述中,错误的是

 A)执行UnloadFoMl语句后,窗体Fonnl消失,但仍在内存中

 B)窗体的Ioad事件在加载窗体时发生

 C)当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止  D)窗体的Height、width属性用于设置窗体的高和宽  (3)下列可作为V2sualBasic变量名的是  A)A#A B)4A C)?xY D)constA  (4)设有如下的记录类型  Type Student  numberAs string  name As String

 age As Integer  End Type

 则正确引用该记录类型变量的代码是

 A) Student.name=”张红” B) Dim As Student  s.name=”张红”

 C) Dim s As Type Student D) Dim s As Type  S.name=”张红” s.Dame=”张红” 

 (5)函数String(n,“str”)的功能是  A)把数值型数据转换为字符串  B)返回由n个字符组成的字符串

 C)从字符串中取出n个字符

 D)从字符串中第n个字符的位置开始取子字符串

 (6)将数学表达式Cos2(a+b)+5e2写成Visual Basic的表达式,其正确的形式是  A)Cos(a+b)A2十5。exp(2) B)Cos^2(a+b)+5*exp(2)  C)Cos(a+b)^2十5*ln(2) D)Cos^2(a+b)+5*ln(2)

 (7)在窗体上画一个命令按钮,名称为Commandl。单击命令按钮时,执行如下事件过  程:

 PrlVate Sub Commandl—C1icko  a$=\ b$=Right(a$,8)  c$=Mid(a$,1,8)  Msgbox a$,,b$,c$,1

 End Sub

 则在弹出的信息框的标题栏中显示的信息是

 A)softWare and hardware B)software C)hardwafe D)1  (8)执行如下语句:  a=inutBox(”Today”,”TomorroW,”Yesterday”,,,\,5)  将显示一个输入对话框,在对话框的输入区中显示的信息是  A)Today B)Tomorrow C)Yesterday D)Day before yesterday  (9)表示滚动条控件取值范围最大值的属性是  A)Max B)LargeChange C)Value D)Max—Min

 (10)在窗体上画一个名称为Listl的列表框,一个名称为Labell的标签。列表框中显示  若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的名称。  下列能正确实现上述功能的程序是

 A) Private Sub listl_Click() B)Private Sub Listl_C1ick()

 Labell.Caption=list1.listlndex Labell.Nanle=Listl.listindex  End Sub .End Sub

 程序运行后,如果单击命令按钮,则在窗体上显示的内容是  A)空白 B)错误提示 C)北京 D)上海

 (15)假定有以下函数过程:  Function Fun(S As String) As String  Dim s1 As String

 For i=1 To Len(S)

 s1=UCase(Mid(S,i,1))十s1  Next i  Fun=s1

 End Function

 在窗体上画一个命令按钮,然后编写如下事件过程:  Prlvate Sub Commmldl_Click()  Dim Str1 As String,Str2 As String

 Strl=inputbox(”请输入一个字符串”)  Str2=Fun(Strl)  Print Str2

 End Sub

 程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确  定”按钮后在窗体上的输出结果为

 A)abcdefg B)ABCDEFG C)gfedcba D)GFEDCBA  (16)设有语句

 open \:\\Test.Dat\ 则以下错误的叙述是

 A)该语句打开C盘根目录下一个己存在的文件Test.Dat  B)该语句在C盘根目录下建立一个名为Test.Dat的文件

 C)该语句建立的文件的文件号为1

 D)执行该语句后,就可以通过Print#语句向文件Test.Dat中写入信息  (17)以下叙述中错误的是

 A)用Shell函数可以调用能够在Windows下运行的应用程序

 B)用Shell函数可以调用可执行文件,也可以调用VisualBasic的内部函数  C)调用Shell函数的格式应为:<变量名>=Shell(??)  D)用Shell函数不能执行DoS命令

 (18)以下关于过程及过程参数的描述中,错误的是  A)过程的参数可以是控件名称

 B)用数组作为过程的参数时,使用的是“传地址”方式  c)只有函数过程能够将过程中处理的信息传回到调用的程序中  D)窗体可以作为过程的参数

 (19)在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:  Private Sub Txta_KeyPress(keyascii as integer)  End Sub

 若焦点位于文本框中,则能够触发KeyPress事件的操作是  A)单击鼠标 B)双击文本框

 C)鼠标滑过文本框 D)按下键盘上的某个键  (20)目录列表框的Path属性的作用是

 A)显示当前驱动器或指定驱动器上的路径

 B)显示当前驱动器或指定驱动器上的某目录下的文件名  c)显示根目录下的文件名  D)只显示当前路径下的文件

 (21)假定有如下事件过程:

 PriVate Sub Form_MouseDown(button As Integer,Shift As Integer, x As Single,Y As  Single)

 If Button=2 then  PopupMenu popForm  End if

 End Sub

 则以下描述中错误的是

 A)该过程的功能是弹出一个菜单

 B)popForm 是在菜单编辑器中定义的弹出式菜单的名称  C)参数X、Y指明鼠标的当前位置  D)Button=2 表示按下的是鼠标左键  (22)以下能够正确计算n!的程序是

 二级Visual Basic语言程序设计试卷第5页 (共15页)  A) Private Sub Commandl_ClicK()  n=5:x=1  Do  X=x*1

 i=i十1

 Loop While i<n

 Print x  End Sub

 B) Private Sub Commandl_Click()

 n=5: x=1:i=1  Do  X=X*1  i=i十1

 Loop While i<n  Print x  End Sub

 C)Private Sub Commandl_Click()  n=5:x=1:i=1  Do  X=X*1  i=i十1  Loop while i<=n  Print x

 End Sub

 D)Private Sub Commandl_C1ick()  n=5:x=1:i=1  Do  X=X*l

 i=i十1

 loop While i>n

 Print x  End Sub

 (23)在窗体上画一个名称为Commandl的命令按钮,再画两个名称分别为Labell、Label2  的标签,然后编写如下程序代码:

 . 二级vlsudBM5c语言程序设计试卷第6页 (共15页)  Private x As Integer

 Private Sub Commandl—Click()  X=5:Y=3  Call proc(x,Y)  Labell.Caption=X  Label2.Caption=Y

 End Sub

 Private Sub proc(ByVal a As Integer,ByVal b As hteger)  x=a* a  Y=b十b  End Sub

 程序运行后,单击命令按钮,则两个标签中显示的内容分别是  A)5和3 B)25和3 C)25和6 D)5和6

 (24)在窗体上画一个名称为Commandl的命令按钮,一个名称为Labell的标签,然后  编写如下事件过程:  Private Sub Commandl_C1ick()  S=0

 For i=1 T0 15

 x=2*i一1

 1f x Mod 3=0 Then s=s十1  Nexti

 Labell.Caption=s  End Sub

 . 程序运行后,单击命令按钮,则标签中显示的内容是  A)1 B)5 C)27 D)45

 (25)在窗体上画一个名称为Commandl的命令按钮和三个名称分别为Labell、Label2、  Label3的标签,然后编写如下代码:  Private x As Integer

 Private Sub Command1_C1ick()  Static y As Integer  Dimz As Integer  n=10  z=n十z  y=y十z

 X=X十Z

 Labell.Caption=x  Label2.Caption=y  Label3.Caption=z  End Sub

 运行程序,连续三次单击命令按钮后,则三个标签中显示的内容分别是

 A)10 10 10 B)30 30 30 C)30 30 10 D)10 30 30(26)设在窗体上有一个名称为Commandl的命令按钮,并有以下事件过程:  PriVate Sub Commandl_C1ick()  Static b As Variant  b=Array(1,3,5,7,9)

 End Sub

 此过程的功能是把数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功  能,省略号处的程序段应该是  A)For i=0 To 5-1\2  tmp=b(i)  b(i)=b(5-i-1)  b(5-i-1)=tmp  Next

 B)for i=0 To 5  tmp=b(i)  b(i)=b(5-i-1)  b(5-i-1)=tmp  Next

 C) For i=0 T0 5\2  tmp=b(i)  b(i)=b(5-i-1)  b(5-i-1);tmp

 Next

 D)For i=1 T0 5\2  tmp=b(i)

 b(i)=b(5一i一1)  b(5—i—1)=tmp

 Next

 二级VlsualBM5c语言程序设计试卷第8页 (共15页)

 (27)在窗体上画一个名称为Drivel的驱动器列表框,一个名称为Dirl的目录列表框,一个名称为Filel的文件列表框,两个名称分别为Labell、Label2,标题分别为空白和“共有文件”的标签。编写程序,使得驱动器列表框与目录列表框、目录列表框与文件列表框同步变化,并且在标签Labell中显示当前文件夹中文件的数量。如图所示。  能够正确实现上述功能的程序是

 A) Private Sub Dirl_Change() B)Private Sub Dir1_Change()  Filel.Path=Dir1.path Filel.path=dir1.Path  End Sub End Sub

 Private Sub Drivel_Change() Private Sub Drive1_Change()  Dirl.Path=Drivel.Drive Dirl.Path=Drivel.Drive

 Labell.Caption=Filel.listCount Labell.Captlon=file1.list  End Sub End Sub

 C)Private Sub Dirl_Change() D) Private Sub Dirl_Change()  Filel.Path=Dirl.Path filel.Path=Dir1.Path

 Labell.Caption=Filel.ListCount Labell.Caption=Filel.List  End Sub End Sub

 Private Sub Drivel_Change() Private Sub Drivel_Change()  Dirl.Path=Drivel.Drlve Dir1.Path=Drivel.DrlVe

 Labell.Caption=Filel.ListCount Labell.Caption=Filel.list

 End Sub End Sub

 (28)一个工程中包含两个名称分别为Forml、Form2的窗体,一个名称为mdlFunc的标准

 模块。假定在Forml、Form2和mdlFunc中分别建立了自定义过程,其定义格式为:  Forml中定义的过程:  PriVate Sub frmfunctionl()  End Sub

 Form2中定义的过程:  Public Sub frmffunction2()  End Sub

 mdlFunc中定义的过程:  PubliC Sub mdlFunction()  End Sub

 在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是  A)上述三个过程都可以在工程中的任何窗体或模块中被调用

 B)frmfunction2和mdlfunction过程能够在工程中各个窗体或模块中被调用

 C)上述三个过程都只能在各自被定义的模块中调用

 D)只有mdlFunction过程能够被工程中各个窗体或模块调用(29)窗体上有两个名称分别为Textl、Text2的文本框,一个名称为Commandl的命令按钮。运行后的窗体外观如图所示。  设有如下的类型声明  Type Person  name As String*8  major As String*20

 End Type

 当单击“保存”按钮时,将两个文本框中的内容写入一个随机文件Test29.dat中。设文本框中的数据已正确地赋值给Person类型的变量p。则能够正确地把数据写入文件的程序段是

 A)0pen”c:\Test29.dat\ Put #1,1,p  Close #1

 B)Open \\Test29.dat\ Get#1,1,p

 C10se #1

 C)open \\Test29.dat\=Len(p)  Put #1,1,p

 Close #1

 D)Open \:\Test29.dat \

 Get #1,1,p  CloSe #1

 (30)在窗体上画一个名称为CommonDialogl的通用对话框,一个名称为Commandl的命令按钮。要求单击命令按钮时,打开一个保存文件的通用对话框。该窗口的标题为\,缺省文件名为“SaveFile”,在“文件类型”栏中显示*.txt。则能够满足上述要求的程序是  A)Private Sub Command_C1ick()

 Commondialogl.FileName=“Savefile”

 Commondialogl.filter=\.|*.doc\ CommonDialogl.Filterindex=2  CommonDialogl.Dial0g.title=\ CommonDialogl.Action=2  End Sub

 B)Private Sub Commandl—Click()

 CommonDialogl.FileName=\

 CommonDiaLogl.Filter=\.doc|*.doc\ C0mmonDialogl.FilterIndex=1  CommonDialogl.DialogTitle=\ CommonDialogl.Action=2  End Sub

 C)Private Sub Cmmandl_C1ick()

 COmmonDialogl.FileName=\

 CommonDialogl.FiLter=\ CommonDialogl.Filterindex=2

 C0mmonDialogl.DialogTitle=\ CommonDialogl.Action=2  End Sub

 D)Private Sub Commandl_C1ick()

 CommonDialogl.FileName=\

 CommonDialogl.Filter=\ CommonDialogl.FilterIndex=1  CommonDialogl.DialogTitle=“Save”  CommonDialogl.Action=1  End Sub

二、填空题(每空2分,共30分)

 请将每空的正确答案写在答题卡[1]一[15序号的横线上,答在试卷上不得分。  (1)visual Basic中有一种控件组合了文本框和列表框的特性,这种控件是________  (2)Visual Basic提供的对数据文件的三种访问方式为随机访问方式_____和二进制访问方式。

 (3)执行下面的程序段后,变量S的值为_______。  S=5

 For i =2.6 To 4.9 Step 0.6  S=S十1  Next i

 (4)为了在运行时把d:\\pic文件夹下的图形文件a.jpg装入图片框Picturel,所使用的语句为_______。

 (5)计时器控件能有规律的以一定时间间隔触发_______事件,并执行该事件过程中的程序代码。

 (6)以下程序的功能是:生成20个200到300之间的随机整数,输出其中能被5整除的数并求出它们的和。请填空。  Private Sub Commandl_C1ick()  Fori=1To 20

 x=Int(____________*200+100)  If_______[7] =0 Then  Print x

 二级VIsualBMic语言程序设计试卷第12页 (共15页)  S=S十 _________ [83  End If Next i

 Print “Sum=”:S  End Sub

 (7)设有如下程序

 Private Sub Form_Click()

 Dim a AS Integer,b As integer  a=20:b=50  pla,b  p2a,b

 p3a,b

 Print\=\;a,\=\;b  End Sub

 Sub pl(x As Integer,ByVal y As Integer)  x=x十10.  v=v十20  End Sub

 Sub p2(byVal x As Integer, y As Integer)  x=x十10  y=y十20  End Sub

 Sub p3(ByValx As Integer, ByVal y As Integer)  x=x十10  y=y十20

 End Sub

 该程序运行后,单击窗体,则在窗体上显示的内容是:a=______和b=______。  (8)在窗体上画一个名称为Commandl的命令按钮,编写如下事件过程  PRiVate Sub Commandl_C1icK()  Dim As String  a=_____[11]  For i =1 To 5

 Print Space(6—i);Mid$3(a,6—i,2*i—1)

 二级V1sualBMic语言程序设计试卷第13页 (共15页)  Nexti  End Sub

 程序运行后,单击命令按钮,要求窗体上显示的输出结果为  456  34567  2345678  123456789

 请填空。(9)在窗体上画一个名称为Combo1的组合框,画两个名称分别Label1和Label2及Caption

 属性分别为“城市名称”和空白的标签。程序运行后,当在组合框中输入一个新项  后按回车键(ASCII码为13)时,如果输入的项在组合框的列表中不存在,则自动  添加到组合框的列表中,并在Label2中给出提示“已成功添加输入项”如图所示;  如果存在,则在Label2中给出提示“输入项已在组合框中”。请在[12>、[13]和  [14>处将程序补充完整。

 Private Sub Combol_________<12> (KeyAscii As integer)  1f KeyAscii=13 Then

 Fori=0 To Combo1.listCount—1  1f Combo1.Text=______ [13] Ihen  Label2.Caption=”输入项己在组合框中”  ExIt Sub  End lf

 Next i

 Label2.Caption=“已成功添加输入项”  Combo1.______ [14] CombO1.Text  End lf  End Sub

 (10)设有如下程序

 Private sub search(a()As variant,ByVal key As Variant,index%)  Dim I%

 ForI=LBound(a)To UBound(a)  If key=a(I) Then  index=I  Exit Sub  End If  Next I  Index=-1

 End Sub

 Private Sub Form_Load()  Show

 Dtm b() As Variant  Dim n As Integer

 b=Array(1,3,5,7,9,11,13,15)  Call search(b,11,n)  Printt n  End Sub

 程序运行后,输出结果是________。

2003年4月全国计算机等级考试二级Visual Basic笔试答案 

一、选择题

1-5:DADBB 6-10:ACCAD 11-15:DBBDD 16-20:ABCDA 21-25:DCBBC 26-30:CCDCA 二、填空题 (1) 组合框 (2) 顺序访问方式 (3) 9

(4) Picture1.picture=LoadPicture(\(5) Timer

(6) Rnd和x Mod 5和x (7) 30和70 (8) \

(9) KeyPress和Combo1.List(i)和AddItem (10) 5

2003年9月全国计算机等级考试二级VB语言笔试试题及答案

(考试时间90分钟,满分100分)  一、 选择题((1)~(20)每小题2分,(21)~(30)每小题3分,共70分) (1)以下叙述中错误的是

A)Visual Basic 是事件驱动型可视化编程工具 B)Visual Basic应用程序不具有明显的开始和结束语句

C)Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性 D)Visual Basic中控件的某些属性只能在运行时设置

(2)以下叙述中错误的是

A)在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件 B)以.BAS为扩展名的文件是标准模块文件 C)窗体文件包含该窗体及其控件的属性 D)一个工程中可以含有多个标准模块文件 (3)以下叙述中错误的是

A)双击鼠标可以触发DblClick事件

B)窗体或控件的事件的名称可以由编程人员确定 C)移动鼠标时,会触发MouseMove事件 D)控件的名称可以由编程人员设定

(4)以下不属于Visual Basic系统的文件类型是 A).frm B).bat C).vbg D).vbp (5)以下叙述中错误的是

A)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件 B)保存Visual Basic程序时,应分别保存窗体文件及工程文件 C)Visual Basic应用程序只能以解释方式执行 D)事件可以由用户引发,也可以由系统引发 (6)以下能正确定义数据类型TelBook的代码是 A)Type TelBook B)Type TelBook Name As String*10 Name As String*10 TelNum As Integer TelNum As Integer End Type End TelBook

C)Type TelBook D)Typedef TelBook Name String*10 Name String*10 TelNum Integer TelNum Integer End Type TelBook End Type

(7)以下声明语句中错误的是 A)Const var1=123 B)Dim var2 = 'ABC' C)DefInt a-z D)Static var3 As Integer

(8)设窗体上有一个列表框控件List1,且其中含有若干列表项。则以下能表示当前被选中的列表项内容的是

A)List1.List B)List1.ListIndex C)List1.Index D)List1. Text

(9)程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是

A)MouseDown B)MouseUp C)Load D)Click

(10)设a=10,b=5,c=1,执行语句Print a > b > c后,窗体上显示的是 A)True B)False C)1 D)出错信息

(11)如果要改变窗体的标题,则需要设置的属性是 A)Caption B)Name C)BackColor D)BorderStyle (12)以下能判断是否到达文件尾的函数是 A)BOF B)LOC C)LOF D)EOF

(13)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是 A)如果工程中含有Sub Main过程,则程序一定首先执行该过程 B)不能把标准模块设置为启动模块

C)用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体 D)任何时刻最多只有一个窗体是活动窗体

(14)窗体的MouseDown事件过程

Form_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single) 有4个参数,关于这些参数,正确的描述是

A)通过Button参数判定当前按下的是哪一个鼠标键 B)Shift参数只能用来确定是否按下Shift键 C)Shift参数只能用来确定是否按下Alt和Ctrl键 D)参数x,y用来设置鼠标当前位置的坐标

(15)设组合框Combo1中有3个项目,则以下能删除最后一项的语句是 A)Combo1.RemoveItem Text B)Combo1.RemoveItem 2 C)Combo1.RemoveItem 3

D)Combo1.RemoveItem Combo1.Listcount (16)以下关于焦点的叙述中,错误的是

A)如果文本框的TabStop属性为False,则不能接收从键盘上输入的数据 B)当文本框失去焦点时,触发LostFocus事件

C)当文本框的Enabled属性为False时,其Tab顺序不起作用 D)可以用TabIndex属性改变Tab顺序

(17)如果要在菜单中添加一个分隔线,则应将其Caption属性设置为

A)= B)* C)& D)-

(18)执行语句Open \后,对文件Tel.dat中的数据能够执行的操作是

A)只能写,不能读 B)只能读,不能写 C)既可以读,也可以写 D)不能读,不能写

(19)在窗体上画一个名称为Command1的命令按钮和两个名称分别为Text1、Text2的文本框,然后编写如下事件过程: Private Sub Command1_Click() n = Text1.Text Select Case n Case 1 To 20 x = 10

Case 2, 4, 6 x = 20

Case Is < 10 x = 30 Case 10 x = 40 End Select Text2.Text = x End Sub

程序运行后,如果在文本框Text1中输入10,然后单击命令按钮,则在Text2中显示的内容是

A)10 B)20 C)30 D)40 (20)设有以下循环结构 Do

循环体

Loop While <条件>

则以下叙述中错误的是

A)若\条件\是一个为0的常数,则一次也不执行循环体 B)\条件\可以是关系表达式、逻辑表达式或常数 C)循环体中可以使用Exit Do语句

D)如果\条件\总是为True,则不停地执行循环体

(21)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim num As Integer num = 1

Do Until num > 6 Print num;

num = num + 2.4 Loop

End Sub

程序运行后,单击命令按钮,则窗体上显示的内容是 A)1 3.4 5.8 B)1 3 5 C)1 4 7 D)无数据输出

(22)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim a As Integer, s As Integer a = 8 s = 1 Do

s = s + a

a = a-1

Loop While a <= 0 Print s; a

End Sub

程序运行后,单击命令按钮,则窗体上显示的内容是 A) 7 9 B) 34 0 C) 9 7 D)死循环

(23)设有如下通用过程: Public Function f(x As Integer) Dim y As Integer x = 20 y = 2 f = x * y End Function

在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Static x As Integer x = 10 y=5 y = f(x) Print x; y End Sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是 A)10 5 B)20 5

C)20 40 D)10 40

(24)设有如下通用过程:

Public Sub Fun(a(), ByVal x As Integer) For i = 1 To 5 x = x + a(i) Next

End Sub

在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下的事件过程:

Private Sub Command1_Click() Dim arr(5) As Variant For i = 1 To 5 arr(i) = i Next n = 10

Call Fun(arr(), n) Text1.Text = n End Sub

程序运行后,单击命令按钮,则在文本框中显示的内容是 A)10 B)15 C)25 D)24

(25)在窗体上画一个名称为Command1的命令按钮,然后编写如下代码: Option Base 1

Private Sub Command1_Click()

d = 0

c = 10

x = Array(10, 12, 21, 32, 24) For i = 1 To 5 If x(i) > c Then d = d + x(i) c = x(i) Else d = d-c End If Next i Print d

End Sub

程序运行后,如果单击命令按钮,则在窗体上输出的内容为

A)89 B)99 C)23 D)77

(26)在窗体上画两个滚动条,名称分别为Hscroll1 、Hscroll2;六个标签,名称分别为Label1、Label2、Label3、Label4、Label5、Label6,其中标签Label 4~ Label6分别显示\、\、\等文字信息,标签Label1、Label2分别显示其右侧的滚动条的数值,Label3 显示A*B的计算结果。如图所示。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮\计算\时,对标签Label1、Label2中显示的两个值求积,并将结果显示在Label3中。以下不能实现上述功能的事件过程是

A)Private Sub Command1_Click()

Label3.Caption = Str(Val(Label1.Caption )*Val( Label2.Caption)) End Sub

B)Private Sub Command1_Click()

Label3.Caption = HScroll1.Value * HScroll2.Value End Sub

C)Private Sub Command1_Click() Label3.Caption = HScroll1 * HScroll2 End Sub

D)Private Sub Command1_Click()

Label3.Caption = HScroll1. Text * HScroll2.Text

End Sub

(27)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() For n = 1 To 20

If n Mod 3 <> 0 Then m = m + n \\ 3 Next n Print n

End Sub

程序运行后,如果单击命令按钮,则窗体上显示的内容是 A)15 B)18 C)21 D)24

(28)在窗体上画一个名称为Text1的文本框,并编写如下程序: Private Sub Form_Load()

Show

Text1.Text = \Text1.SetFocus End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Print \程序设计\End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Print \End Sub

程序运行后,如果按\键,然后单击窗体,则在窗体上显示的内容是 A)Visual Basic B)程序设计

C)A程序设计 D)Visual Basic程序设计 (29)设有如下程序: Private Sub Command1_Click() Dim sum As Double, x As Double sum = 0 n = 0

For i = 1 To 5 x = n / i n = n + 1

sum = sum + x Next End Sub

该程序通过For循环计算一个表达式的值,这个表达式是 A)1+1/2+ 2/3+3/4+4/5 B)1+1/2+2/3+3/4 C)1/2+2/3+3/4+4/5 D)1+1/2+1/3+1/4+1/5

(30)以下有关数组定义的语句序列中,错误的是 A) Static arr1(3) arr1(1) = 100 arr1(2) = \ arr1(3) = 123.45 B)Dim arr2() As Integer  Dim size As Integer

 Private Sub Command2_Click()  size = InputBox(\输入:\ ReDim arr2(size) ...... End Sub

C)Option Base 1

Private Sub Command3_Click() Dim arr3(3) As Integer ...... End Sub

D)Dim n As Integer Private Sub Command4_Click() Dim arr4(n) As Integer ...... End Sub

二、填空题(每空2分,共30分)

(1)执行下面的程序段后,i的值为 〖1〗 ,s的值为 〖2〗 。 s = 2

For i = 3.2 To 4.9 Step 0.8 s = s + 1 Next i

(2)把窗体的KeyPreview属性设置为True,然后编写如下两个事件过程: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Print Chr(KeyCode) End Sub

Private Sub Form_KeyPress(KeyAscii As Integer) Print Chr(KeyAscii) End Sub

程序运行后,如果直接按键盘上的\键(即不按住Shift键),则在窗体上输出的字符分别是 〖3〗 和 〖4〗 。

(3)在窗体上画一个标签(名称为Label1)和一个计时器(名称为Timer1),然后编写如下几个事件过程:

Private Sub Form_Load() Timer1.Enabled = False Timer1.Interval = 〖5〗 End Sub

Private Sub Form_Click() Timer1.Enabled = 〖6〗 End Sub

Private Sub Timer1_Timer() Label1.Caption = 〖7〗

End Sub

程序运行后,单击窗体,将在标签中显示当前时间,每隔1秒钟变换一次(见图)。请填空。

——————————————————————  14:54:41

—————————————————————— 

(4)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个事件过程: Private Sub Command1_Click()

S$ = InputBox(\请输入一个字符串\Text1.Text = S$

End Sub

Private Sub Text1_Change()

Label1.Caption = UCase(Mid(Text1.Text, 7)) End Sub

程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串\,则在标签中显示的内容是 〖8〗 。 (5)在窗体上画一个列表框、一个命令按钮和一个标签,其名称分别为List1、Command1和Label1,通过属性窗口把列表框中的项目设置为:\第一个项目\、\第二个项目\、\第三个项目\、\第四个项目\。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图所示(选择\第三个项目\的情况)。下面是实现上述功能的程序,请填空。 Private Sub Command1_Click() If List1.ListIndex >= 〖9〗 Then List1.RemoveItem 〖10〗 Label1.Caption = 〖11〗 Else

MsgBox \请选择要删除的项目\End If End Sub

—————————————————————  第一个项目

 第二个项目 COMMAND1  第三个项目 3

————————————————————— 

(6)设有程序: Option Base 1

Private Sub Command1_Click() Dim arr1, Max as Integer

arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43) 〖12〗 = arr1(1) For i = 1 To 8

If arr1(i) > Max Then 〖13〗 Next i

Print \最大值是: \End Sub

以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值。请填空。

(7)以下程序的功能是:把当前目录下的顺序文件smtext1.txt的内容读入内存,并在文本框Text1中显示出来。请填空。 Private Sub Command1_Click() Dim inData As String Text1.Text = \

Open \〖14〗 As #1

Do While 〖15〗

Input #1, inData

Text1.Text = Text1.Text & inData Loop Close #1 End Sub 

2003年9月全国计算机等级考试二级VB语言笔试试卷参考答案 一、 选择题

(1) C (2) A (3) B (4) B (5) C (6) A (7) B (8) D (9) C (10)B (11)A (12)D (13)A (14)A (15)B (16)A (17)D (18)C (19)A (20)A (21)B (22)C (23)C (24)A (25)C (26)D (27)C (28)D (29)C (30)D 二、 填空题

(1) 〖1〗 5.6 〖2〗 5 (2) 〖3〗 A 〖4〗 a

(3) 〖5〗 1000 〖6〗 True 〖7〗 Time

(4) 〖8〗 BASIC

(5) 〖9〗 0 〖10〗 List1.ListIndex 〖11〗 List1.ListCount (6) 〖12〗 Max 〖13〗 Max = arr1(i) (7) 〖14〗 For Input 〖15〗 Not EOF(1)

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

则在下划线处应填入的内容为

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)的值互换。请填空。 

2004年4月全国计算机等级考试二级VB语言笔试试题答案 

参考答案 

一、选择题((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

2004年9月全国计算机等级考试二级VB语言笔试试题及答案

一、选择题 ((1)~(20)每小题2分,(21)~(30)每小题3分,共70分下列各题 A)、 B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)设窗体上有一个文本框,名称为text1,程序运行后,要求该文本框只能显示信息,不能接受输入的信息,以下能实现该操作的语句是 A.Text1.MaxLength=0 B.Text1.Enabled=Flase C.Text1.Visible=Flase

D.Text1.Width=0

(2)以下能在窗体Form1的标题栏中显示“VisualBasic窗体\的语句是 A.Form1.Name=\窗体\ B.Form1.Title=\窗体\

C.Form1.Caption=\窗体\ D.Form1.Text=\窗体”

(3)在窗体上画一个名称为Text1的文本框,然后画一个名称为HScroll1的滚动条,其Min和Max属性分别为0和100。程序运行后,如果移动滚动框,则在文本框中显示滚动条的当前值,如图所示。

以下能实现上述操作的程序段是 A.Private Sub Hscroll1_Change() Text1.Text=HScroll1.Value End Sub

B.Private Sub Hscroll1_Click() Text1.Text=HScroll1.Value End Sub

C.Private Sub Hscroll1_Change() Text1.Text=Hscroll1.Caption End Sub

D.Private Sub Hscroll1_Click() Text1.Text=Hscroll1.Caption End Sub

(4)设菜单中有一个菜单项为\。若要为该菜单命令设置访问键,即按下Alt及字母O时,能够执行\命令,则在菜单编辑器中设置“Open\命令的方式是 A.把Caption属性设置为&Open B.把Caption属性设置为O&pen C.把Name属性设置为&Open

D.把Name属性设置为O&pen

(5)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() x=InputBox(\ Select Case x

本文来源:https://www.bwwdw.com/article/n2og.html

Top