第一篇:全国计算机二级VB笔试试题总结
2002年4月二级VB笔试试题
一、选择题1~35题每题2分,共70分。
下列各题A)、B)、C)、D)四个选项中,只有一个选择是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.下列不能打开属性窗口的操作是()。
A)执行“视图”菜单中的“属性窗口”命令
B)按F4键
C)按Ctrl+T
D)单击工具栏上的“属性窗口”按钮。
2.下列可以打开立即窗口的操作是()。
A)Ctrl+D
B)Ctrl+E
C)Ctrl+F
D)Ctrl+G 3.InputBox函数返回值的类型为()。
A)数值 B)字符串 C)变体 D)数值或字符串(视输入的数据而定)
4.可以同时删除字符串前导和尾部空白的函数是()。
A)Ltrim
B)Rtrim
C)Trim
D)Mid 5.表达式4+5 6 * 7 / 8 Mod 9 的值是()。
A)4
B)5
C)6
D)7 6.如果在立即窗口中执行以下操作:
a=8
b=9
print a>b
A)-1
B)0
C)False
D)True 7.以下语句的输出结果是()。
Print Format $(32548.5,“000,000.00”)
A)32548.5
B)32,548.5 C)032,548.50
D)32,548.50 8.执行以下程序段后,变量c$的值为()。
a$=“Visual Basic Programing” b$=“Quick”
c$=b$ & UCase(Mid$(a$,7,6))& Right $(a$,11)
A)Visual BASIC Programing B)Quick Basic Programing C)QUICK Basic Programing
D)Quick BASIC Programing
9.为了在按下回车键时执行某个命令按钮的事件过程,需要把该命令按钮的一个属性设置为True,这个属性是()。
A)Value
B)Default C)Cancel
D)Enabled 10.为了把焦点移到某个指定的控件,所使用的方法是()。
A)SetFocus
B)Visible C)Refresh
D)GetFocus 11.设a=6,则执行 x=IIf(a>5,-1,0)后,x 的值为()。
A)5 B)6 C)0
D)-1
12.执行下面的程序段后,x 的值为()。
x=5
For i=1 To 20 Step 2 x=x+i5 Next i A)21
B)22 C)23
D)24
13.在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()For i=1 To 4 x=4
For j =1 To 3 x=3
For k=1 To 2 x=x+6 Next k Next j Next i Print x End Sub
程序运行后,单击命令按钮,输出结果是()。
A)7 B)15 C)157 D)538
14.在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()x=0
Do Until x=-1
a = InputBox(“请输入A的值”)a = Val(a)
b = InputBox(“请输入B的值”)b = Val(b)
x = InputBox(“请输入x的值”)x = Val(x)a = a+b+x Loop Print a End Sub
程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为()。
A)2 B)3
C)14
D)15
15.在窗体(Name属性为Form1)上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程:
Private Sub Command1_Click()a=Text1.Text+Text2.Text Print a End Sub
Private Sub Form_Load()Text1.Text=”“ Text2.Text=”“ End sub
程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入123和321,然后单击命令按钮,则输出结果为()。
A)444 B)321123 C)123
321 D)132231 16.阅读下面的程序段:
For i=1 To 3 For j=1 To i For k=j To 3 a=a+1 Next k Next j Next i
执行上面的三重循环后,a 的值为()。
A)3 B)9 C)14
D)21
17.在窗体上画一个文本框(其中Name属性为Text1),然后编写如下事件过程:
Private Sub Form_Load()Text1.Text=”“ Text1.SetFocus For i=1 To 10 Sum=Sum+i Next i
Text1.Text=Sum End Sub
上述程序的运行结果是()。
A)在文本框Text1中输出55 B)在文本框Text1中输出0 C)出错
D)在文本框Text1中输出不定值
18.在窗体上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下事件过程: Private Sub Command1_Click()x=0
Do While x<50 x=(x+2)*(x+3)n=n+1 Loop
Text1.Text=Str(n)Text2.Text=Str(x)End Sub
程序运行后,单击命令按钮,在两个文本框中显示的值分别为()。
A)1和0 B)2和72 C)3和50
D)4和168 19.用下面语句定义的数组的元素个数是()。
Dim A(-3 To 5)As Integer
A)6 B)7 C)8
D)9 20.以下程序的输出结果是()。
Option Base 1
Private Sub Command1_Click()Dim a(10),p(3)As Integer k=5 For i=1 To 10 a(i)=i Next i
For i=1 To 3 p(i)=a(i*i)Next i
For i=1 To 3 k=k+p(i)*2 Next i Print k End sub
A)33 B)28 C)35 D)37
21.在窗体上画一个命令按钮,然后编写如下事件过程:
Option Base 1
Private Sub Commandl_Click()Dim a
a = Array(1,2,3,4)j = 1
For i = 4 To Step-1 s = s + a(i)*j j =j*10 Next i Print s End Sub
运行上面的程序,单击命令按钮,其输出结果是()。
A)4321 B)12 C)3D)1234
22.在窗体上画一个命令按钮(其Name属性为Commandl),然后编写如下代码:
Option Base 1
Private Sub Commandl_Click()Dim a(4,4)For i =1 To 4 For j =1 To 4 a(i,j)=(i-1)*3+j Next j Next i
For i =3 To 4 For j =3 To 4 Print a(j,i);Next j Print Next i End Sub
程序运行后,单击命令按钮,其输出结果为()。
A)6 9
B)7 10
7&n
bsp;10 11
C)8 11
D)9 12 12
23.假定有如下的Sub过程:
Sub S(x As Single,y As Single)
t = x x =t/y
y =t Mod y End Sub
在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Commandl_Click()Dim a As Single Dim b As Single a =5 b =4 S a,b Print a,b End Sub
程序运行后,单击命令按钮,输出结果为()。
A)5 4 B)1 1 C)1.25 4
D)1.25 1 24.阅读程序:
Function F(a As Integer)b = 0 Static c b = b+1 c = c+1 F = a+b+c End Function
Private Sub Commandl_Click()Dim a As Integer a =2
For i =1 To 3 Print F(a)Next i End Sub
运行上面的程序,单击命令按钮,输出结果为()。
A)4 B)4
C)4
D)4
7
25.阅读程序:
Sub subP(b()As Integer)For i =1 To 4 b(i)=2*i Next i End Sub
Private Sub Commandl_Click()Dim a(1 To 4)As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 subP a()For i =1 To 4 Print a(i)Next i End Sub
运行上面的程序,单击命令按钮,输出结果为()。
A)2 B)5
C)10 D)出错
26.下列不能打开菜单编辑器的操作是()。
A)按Ctrl+E B)单击工具栏中的“菜单编辑器”按钮
C)执行“工具”菜单中的“菜单编辑器”命令 D)按Shift + Alt + M
27.假定有一个菜单项,名为MenuItem,为了在运行时使该菜单项失效(变灰),应使用的语句为()。
A)MenuItem.Enabled=False B)MenuItem.Enabled=True C)MenuItem.Visible=True
D)MenuItem.Visible=False
28.在程序运行期间,如果拖动滚动条上的滚动块,则触发的滚动条事件是()。
A)Move B)Change C)Scroll
D)GetFocus
29.假定窗体上有一个标签,名为Labell,为了使该标签透明并且没有边框,则正确的属性设置为()。
A)Label1.BackStyle=0
Label1.Borderstyle=0
B)Label1.BackStyle=1
Label1.Borderstyle=1
C)Label1.BackStyle=True
Label1.BorderStyle=True
D)Label1.BackStyle=False
Label1.Borderstyle=False
30.在窗体上画一个列表框和一个文本框,然后编写如下两个事件过程:
Private Sub Form_Load()List1.AddItem”357“ List1.AddItem”246“ List1.AddItem”123“ Listl.AddItem”456“ Text1.Text=”“ End Sub
Private Sub List1_ DblClick()a =List1.Text
Print a+Text1.Text End Sub
程序运行后,在文本框中输入“789”(见图附录-1),然后双击列表框中的“456”,则输出结果为()。
图附录-1
A)1245
B)456789
C)789456
D)0
31.为了暂时关闭计时器,应把该计时器的某个属性设置为False,这个属性是()。
A)Visible
B)Timer
C)Enabled
D)Interval
32.为了把一个记录型变量的内容写入文件中指定的位置,所使用的语句的格式为()。
A)Get文件号,记录号,变量名
B)Get文件号,变量名,记录号
C)Put文件号,变量名,记录号
D)Put文件号,记录号,变量名
33.对窗体编写如下事件过程:
Private Sub Form _MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button =2 Then Print ”AAAAA“ End If End Sub
Private Sub Form _ MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Print ”BB BBB“ End Sub
程序运行后,如果右击鼠标,则输出结果为()。
A)AAAAA B)BBBBB
BBBBB
C)AAAAA D)BBBBB
AAAAA
34.为了在运行时能显示窗体左上角的控制框(系统菜单),必须()。
A)把窗体的Contro1Box属性设置为False,其他属性任意
B)把窗体的ControlBox属性设置为True,并且把Boder Style属性设置为1-5
C)把窗体的ControlBox属性设置为False,同时把BoderStyle属性调协为非0值
D)把窗体的ControlBox属性设置为True,同时把BoderStyle属性设置为0值
35.对窗体编写如下代码:
Option Base 1 Private Sub Form_KeyPress(KeyAscii As Integer)a = Array(237,126,87,48,498)m1 = a(1)m2 = 1
If KeyAscii = 13 Then For i =2 To 5 If a(i)>ml Then m1 =a(i)m2 =i End If Next i End If Print m1 Print m2 End Sub
程序运行后,按回车键,输出结果为()。
A)48
B)237
C)498
D)498
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡[1]~[15]序号的横线上,答在试卷上不得分。
1.设有如下的Visual Basic表达式: 5 * x^2 – 3 * x – 2 * Sin(a)/3 它相当于代数式 [1]。
2.执行下面的程序段后,s的值为 [2]。
s = 5
For i = 2.6 To 4.9 Step 0.6 s = s+1 Next i
3.表达式Fix(-32.68)+Int(-23.02)的值为 [3]。
4.为了在运行时把图形文件picfile.jpg装入图片框Picture1,所使用的语句为 [4]。
5.在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()a = InputBox(”请输入一个整数“)b = InputBox(”请输入一个整数“)Print a + b End Sub
程序运行后,单击命令按钮,在输入对话框中分别输入321和456,输出结果为 [5]。
6.执行下面的程序段后,b的值为 [6]。
a=300 b=20 a=a+b b=a-b a=a-b
7.以下程序段的输出结果是 [7]。num=0 &nb sp;
While num<=2 num=num+1 Print num Wend
8.在窗体画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()Dim a(1 To 10)Dim p(1 To 3)k=5
For i=1 To 10 a(i)=i Next i
For i=1 To 3 p(i)=a(i*i)Next i
For i=1 To 3 k=k+p(i)*2 Next i Print k End Sub
程序运行后,单击命令按钮,输出结果是 [8]。
9.下面的程序用“冒泡”法将数组a中的10个整数按升序排列,请在 [9]、处将程序补充完整。
Option Base 1
Private Sub Command1_Click()Dim a
a=Array(678,45,324,528,439,387,87,875,273,823)For i= [9] For j= [10]
If a(i)[11] a(j)Then a1=a(i)a(i)=a(j)a(j)=a1 End If Next j Next i
For i=1 To 10 Print a(i)Next i End Sub
10.在窗体上画一个命令按钮,然后编写如下过程:
Function fun(ByVal num As Long)As Long
[10]、[11] Dim k As Long k=1
num=Abs(num)Do While num k=k*(num Mod 10)num=num10 Loop fun=k
End Function
Private Sub Command1_Click()Dim n As Long Dim r As Long
n=InputBox(”请输入一个数“)n=CLng(n)r=fun(n)Print r End Sub
程序运行后,单击命令按钮,在输入对话框中输入234,输出结果为 [12]。
11.如果要将某个菜单项设计为分隔线,则该菜单项的标题应设置为 [13]。
12.假定建立了一个工程,该工程包括两个窗体,其名称(Name属性)分别为Form1和Form2,启动窗体为Form1。在Form1上画一个命令按钮Command1,程序运行后,要求当单击该命令按钮时,Form1窗体消失,显示窗体Form2,请在 [14] 和 [15] 处将程序补充完整。
Private Sub Command1_Click();[14] Form1 Form2.[15] End Sub
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/200
2# 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 1D)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
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和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)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)1D)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
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
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_C1ick()
a$=”software and hardware“
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”,,“Day before 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 “c:Test.Dat” For OutPut As#1
则以下错误的叙述是()。
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)显示当前驱动器或指定驱动器上的某目录下的文件名
D)显示根目录下的文件名
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!的程序是()。
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的标签,然后编写如下程序代码:
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
(27)在窗体上画一个名称为Drivel的驱动器列表框,一个名称为Dirl的目录列表框,一个名称为Filel的文件列表框,两个名称分别为Labell、Label2,标题分别为空白和“共有文件”的标签。编写程序,使得驱动器打开一个保存文件的通用对话框。该窗口的标题为“Save”,缺省文件名为“SaveFile”,在“文件类型”栏中显示*.txt。则能够满足上述要求的程序是()。
A)Private Sub Command_C1ick()
Commondialogl.FileName=“Savefile”
Commondialogl.filter=“All Files|*.*|(*.txt)|*.txt|(*.doc).|*.doc”
CommonDialogl.Filterindex=2
CommonDialogl.Dial0g.title=“Save”
CommonDialogl.Action=2
End Sub B)Private Sub Commandl-Click()
CommonDialogl.FileName=“SaveFile”
CommonDiaLogl.Filter=“A11 Files|*.*|(*.txt)|*.txt|*.doc|*.doc”
C0mmonDialogl.FilterIndex=1
CommonDialogl.DialogTitle=“Save”
CommonDialogl.Action=2
End Sub C)Private Sub Cmmandl_C1ick()
COmmonDialogl.FileName=“Save”
CommonDialogl.FiLter=“A11Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc”
CommonDialogl.Filterindex=2
C0mmonDialogl.DialogTitle=“SaveFile”
CommonDialogl.Action=2
End Sub D)Private Sub Commandl_C1ick()
CommonDialogl.FileName=“SaveFile”
CommonDialogl.Filter=“All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc”
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
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=50R>
p2a,b
p3a,b
Print“a=”;a,“b=”;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)
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年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)
1D)出错信息
(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” For Random As #1 Len = 50后,对文件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)1C)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)2D)77
(26)在窗体上画两个滚动条,名称分别为Hscroll1、Hscroll2;六个标签,名称分别为Label1、Label2、Label3、Label4、Label5、Label6,其中标签Label 4~ Label6分别显示“A”、“B”、“A*B”等文字信息,标签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)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 ”Visual Basic“;End Sub 程序运行后,如果按”A“键,然后单击窗体,则在窗体上显示的内容是(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/
5D)1+1/2+1/3+1/4+1/5
(30)以下有关数组定义的语句序列中,错误的是()。
A)Static arr1(3)
arr1(1)= 100
arr1(2)= ”Hello“
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
程序运行后,如果直接按键盘上的”A“键(即不按住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
程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串”VisualBasic“,则在标签中显示的内容是 〖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)
(资料来源:东方教育网 http://www.xiexiebang.com)
〖12〗 = arr1(1)
For i = 1 To 8
If arr1(i)> Max Then 〖13〗
Next i
Print ”最大值是: “;Max
End Sub
以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值。请填空。
(7)以下程序的功能是:把当前目录下的顺序文件smtext1.txt的内容读入内存,并在文本框Text1中显示出来。请填空。
Private Sub Command1_Click()
Dim inData As String
Text1.Text = ”“
Open ”.smtext1.txt“ 〖14〗 As #1
Do While 〖15〗
Input #1, inData
Text1.Text = Text1.Text & inData
Loop
Close #1
End Sub
04年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(”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*65 Mod 2的输出结果是()。
A)0
B)1
C)2
D)3
(17)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1Label1和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 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 n2 = 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
Next
End Sub
程序运行后,单击命令按钮,要求在窗体上显示如下内容
123
1234
则在下划线处应填入的内容为()。A)Right(c1,i)B)Left(c1,i)C)Mid(c1,i,1)D)Mid(c1,i,i)
(26)在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程:
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)的值互换。请填空。
04年9月全国计算机等级考试二级VB笔试试卷
一、选择题((1)—(20)每小题2分,(21)—(30)每小题3分,共70分)
(1)设窗体上有一个文本框,名称为text1,程序运行后,要求该文本框不能接受键盘输入,但能输出信息,以下属性设置正确的是:()。A)text1.maxlength=0 B)text1.enabled=flase C)text1.visible=flase D)text1.width=0
(2)以下能在窗体Form1的标题栏中显示“VisualBasic窗体”的语句是()。A)Form1.Name=“VisualBasic窗体” B)Form1.Title=“VisualBasic窗体” C)Form1.Caption=“VisualBasic窗体” D)Form1.Text=“VisualBasic窗体”
(3)在窗体上画一个名称为Text1的文本框,然后画一个名称为HScroll1的滚动条,其Min和Max属性分别为0和100。程序运行后,如果移动滚动框,则在文本框中显示滚动条的当前值,如图所示:
以下能实现上述操作的程序段是()。A)Private Sub HScroll_Change()Text1.Text=HScroll1.value End Sub B)Private Sub HScroll_Click()Text1.Text=HScroll1.value End Sub C)Private Sub HScroll_Change()Text1.Text=HScroll.Caption D)Private Sub HScroll_Click()Text1.Text=HScroll.Caption End Sub
(4)设菜单中有一个菜单项为”Open“。若要为该菜单命令设计访问键,即按下Alt及字母O时,能够执行”Open“命令,则在菜单编辑器中设置“Open”命令的方式是()。A)把Caption属性设置为&Open B)把Caption属性设置为O&pen C)把Name属性设置为&Open D)把Name属性设置为O&pen
(5)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click()x=InputBox(“Input”)Select Case x Case 1,3 Print “分支 1” Case Is >4 Print “分支 2” Case Else Print “Else 分支 ” End Select End Sub 程序运行后,如果在输入对话框中输入2,则窗体上显示的是()。A)分支1 B)分支2 C)Else分支
D)程序出错
(6)以下关于MsgBox的叙述中,错误的是()。A)MsgBox函数返回一个整数
第二篇:2005年4月二级VB笔试试题
无忧考网
www.xiexiebang.command1的命令按钮,然后编写一个事件过程。程序运行以后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的事件过程是:
A)Private Sub Text1_Change()
Command1.Caption=”计算机等级考试”
End Sub
B)Private Sub Command1_Click()
Caption=”计算机等级考试”
End Sub
C)Private Sub Form1_Click()
Text1.Caption=”计算机等级考试”
End Sub
D)Private Sub Command1_Click()
Text1.Text=”计算机等级考试”
End Sub
(12)设a=5,b=4,c=3,d=2,下列表达式的值是 3>2*b Or a=c And b<>c Or c>d
A)1
B)True
C)False
D)2
(13)设a=”MicrosoftVisualBasic”, 则以下使变量b的值为”VisualBasic”的语句是
A)b=Left(a,10)
B)b=Mid(a,10)
C)b=Right(a,10)
D)b=Mid(a,11,10)
(14)假定有如下的窗体事件过程:
Private Sub Form_Click()
a$ = “Microsoft Visual Basic”
b$ = Right(a$, 5)
c = Mid(a$, 1, 9)
MsgBox a$, 34, b$, c$, 5
End Sub
程序运行后单击窗体,则在弹出的信息框中的标题栏中显示的信息是:
A)Microsoft Visual
B)Microsoft
C)Basic
D)5
无忧考网
www.xiexiebang.command1)右移200,应使用的语句是
A)Command1.Move-200
B)Command1.Move 200
C)Command1.Left= Command1.Left+200
D)Command1.Left= Command1.Left-200
(17)在窗体上画一个文本框,然后编写如下事件过程:
Private Sub Form_Click()
x = InputBox(“请输入一个整数”)
Print x + Text1.Text
End Sub
程序运行时,在文本框中输入456,然后单击窗体,在输入对话框中输入123,单击“确定”按钮后,在窗体上显示的内容是:
A)12
3B)456
C)579
D)123456
(18)在窗体上画一个文本框和一个计时器控件,名称分别为Text1和Timer1,在属性窗口中把计时器的Interval属性设置为1000,Enabled属性设置为False,程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序:
Private Sub Command1_Click()
Timer1._________
End Sub Private Sub Timer1_Timer()Text1.Text = Time End Sub 在______处应填入的内容是
A)Enabled=True
B)Enabled=False
C)Visible=True
D)Visible=False
(19)假定在图片框Picture1中装入了一个图形,为了清除该图形(不删除图片框),应采用的正确方法是:
A)选择图片框,然后按Del键
B)执行语句Picture1.Picture=LoadPicture(“”)
C)执行语句Picture1.Picture=””
D)选择图片框,在属性窗口中选择Picture属性,然后按回车键
(20)在窗体上画一个List1的列表框,一个名称为Label1的标签,列表框中显示若干个项目,当单击列表框中的某个项目时,在标签中显示被选中的项目的名称,下列能正确实现上述操作的程序是
A)Private Sub List1_Click()
Label1.Caption = List1.ListIndex
End Sub
B)Private Sub List1_Click()
Label1.Name = List1.ListIndex
End Sub
C)Private Sub List1_Click()
Label1.Name = List1.Text
End Sub
D)Private Sub List1_Click()
Label1.Caption = List1.Text
End Sub
(21)在窗体上画一个命令按钮,名称为Command1,然后编写如下事件过程:
Private Sub Command1_Click()
无忧考网
www.xiexiebang.command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
c = “ABCD”
For n = 1 To 4
Print _________
Next
End Sub
程序运行后,单击命令按钮,要求在窗体上显示如下内容:
D
CD
BCD
ABCD
则在________处应填入的内容为
A)Left(c,n)
B)Right(c,n)
C)Mid(c,n,1)
D)Mid(c,n,n)
(23)执行以下程序段
Dim x As Integer, i As Integer
x=0
For i = 20 To 1 Step-2
x = x + i 5
Next I
后,x的值为
A)16
B)17
C)18
D)19
(24)在Visual Basic工程中,可以作为启动对象的程序是
A)任何窗体或标准模块
B)任何窗体或过程
C)Sub Main过程或其他任何模块
D)Sub Main过程或任何窗体
无忧考网
www.xiexiebang.command1的命令按钮数组,则以下说法中错误的是
A)数组中每个命令按钮的名称(名称属性)均为Command1 B)数组中每个命令按钮的标题(Caption属性)都一样 C)数组中所有命令按钮可以使用同一个时间过程
D)用名称Command1(下标)可以访问数组中的每个命令按钮
(26)把窗体的KeyPreview属性设置为True,然后编写如下事件过程:
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim ch As String
ch = Chr(KeyAscii)
KeyAscii = Asc(UCase(ch))
Print Chr(KeyAscii + 2)
End Sub
程序运行后,按键盘上的”A”键,则在窗体上显示的内容是
A)A
B)B
C)C
D)D
(27)在窗体上画一个命令按钮和一个文本框,名称分别为Command1和Text1,然后编写如下程序:
Private Sub Command1_Click()
a = InputBox(“请输入日期(1~31)”)
t = “旅游景点:” _
& IIf(a > 0 And a <= 10, “长城”, “")_
& IIf(a > 10 And a <= 20, ”故宫“, ”“)_
& IIf(a > 20 And a <= 30, ”颐和园“, ”“)
Text1.Text = t
End Sub
程序运行后,如果从键盘输入16,则在文本框中显示的内容是:
A)旅游景点:长城故宫
B)旅游景点:长城颐和园
C)旅游景点:颐和园
D)旅游景点:故宫
(28)在窗体上画一个名称为Label1的标签,然后编写如下事件过程:
Private Sub Form_Click()
Dim arr(10, 10)As Integer
Dim i As Integer, j As Integer
For i = 2 To 4
For j = 2 To 4
arr(i, j)= i * j
Next j
Next i
Label1.Caption = Str(arr(2, 2)+ arr(3, 3))
End Sub
程序运行后,单击窗体,在标签中显示的内容是
无忧考网
www.xiexiebang.comamnd1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:
Private Function fun(ByVal m As Integer)
If m Mod 2 = 0 Then
fun = 2
Else
fun = 1
End If
End Function
Private Sub Command1_Click()
Dim i As Integer, s As Integer
s = 0
For i = 1 To 5
s = s + fun(i)
Next
Print s
End Sub
程序运行后,单击命令按钮,则窗体上显示的是:
A)6
B)7
C)8
D)9
(30)阅读程序:
Option Base 1
Dim arr()As Integer
Private Sub Form_Click()
Dim i As Integer, j As Integer
ReDim arr(3, 2)
For i = 1 To 3
For j = 1 To 2
arr(i, j)= i * 2 + j
Next j
Next i
ReDim Preserve arr(3, 4)
For j = 3 To 4
arr(3, j)= j + 9
Next j
Print arr(3, 2)+ arr(3, 4)
无忧考网
www.xiexiebang.command1的命令按钮,然后编写如下程序:
Option Base 1
Private Sub Command1_Click()
Dim c As Integer, d As Integer
d = 0
c = 6
x = Array(2, 4, 6, 8, 10, 12)
For i = 1 To 6
If x(i)> c Then
d = d + x(i)
c = x(i)
Else
d = d1
Loop While n > 0
Print s
End Sub
以上程序的功能是【10】,程序运行后,单击窗体,输出结果为【11】
(10)设有如下程序:
Option Base 1
Private Sub Command1_Click()
Dim arr1
Dim Min As Integer, i As Integer
arr1 = Array(12, 435, 76,-24, 78, 54, 866, 43)
Min = 【12】
For i = 2 To 8
If arr1(i)< Min Then 【13】
Next i
Print ”最小值是:“;Min
End Sub
以上程序的功能是用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中的最小值,请填空
(11)在名称为Form1的窗体上画一个文本框,其名称为Text1,在属性窗口中把文本框的MultiLine属性设置为True,然后编写如下事件过程:
Private Sub Form_Click()
Open ”d:testsmtext1.txt“ For Input As #1
Do While Not 【14】
Line Input #1, aspect$
whole$ = whole$ + aspect$ + Chr(13)+ Chr(10)
Loop
Text1.Text = whole$
Close #1
Open ”d:testsmtext2.txt" For Output As #1
Print #1, 【15】
Close #1
End Sub
上述程序的功能是,把磁盘文件smtext1.txt 的内容读到内存并在文本框中显示出来,然后
无忧考网
www.51test.net 把该文本框中的内容存入磁盘文件smtext2.txt.请填空
以下答案仅供参考
选择题:
1---5DBDCA
6---10 CBDDC
11--15 ABBCD
16--20 CDABD
21--25 ABCDB
26--30 CDBBA
31--35 CDDDA
填空题:
【1】19
【2】 对象
【3】
程序调试
【4】 关系
【5】 算法
【6】12345.68
【7】VB程序设计
【8】 VB Programming
【9】 10
【10】 求1-8的和
【11】36
【12】 arr1(1)
【13】min=arr1(i)
【14】 EOF(1)
【15】text1.text(或whole$)12
第三篇:2011河南省全国计算机等级考试二级VB笔试试卷及参考答案理论考试试题及答案
1、对建立良好的程序设计风格,下面描述正确的是(A)A.程序应简单、清晰、可读性好 B.符号名的命名要符合语法 C.充分考虑程序的执行效率 D.程序的注释可有可无
2、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A.内模式 B.外模式 C.概念模式 D.逻辑模式
3、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A)A.控制流 B.加工 C.数据存储 D.源和潭
4、下列关于栈的叙述中正确的是(D)A.在栈中只能插入数据 B.在栈中只能删除数据
C.栈是先进先出的线性表 D.栈是先进后出的线性表
5、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A.模拟现实世界中不同事物之间的联系 B.强调模拟现实世界中的算法而不强调概念 C.使用现实世界的概念抽象地思考问题从而自然地解决问题 D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
6、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A.概要设计 B.详细设计 C.可行性分析 D.需求分析
7、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)A.调用语句 B.命令 C.口令 D.消息
8、程序流程图(PFD)中的箭头代表的是(B)A.数据流 B.控制流 C.调用关系 D.组成关系
9、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B)注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A.349 B.350 C.255 D.351
10、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C)注:总体设计也就是概要设计
A.详细设计 B.需求分析 C.总体设计 D.编程调试
11、对建立良好的程序设计风格,下面描述正确的是(A)A.程序应简单、清晰、可读性好 B.符号名的命名要符合语法 C.充分考虑程序的执行效率 D.程序的注释可有可无
12、在一棵二叉树上第5层的结点数最多是(B)注:由公式2(k-1)得 A.8 B.16 C.32 D.15
13、数据库系统的核心是(B)A.数据模型 B.数据库管理系统 C.软件工具 D.数据库
14、将E-R图转换到关系模式时,实体与联系都可以表示成(B)A.属性 B.关系 C.键 D.域
15、将E-R图转换到关系模式时,实体与联系都可以表示成(B)A.属性 B.关系 C.键 D.域
16、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)A.阶段性报告 B.需求评审 C.总结 D.都不正确
17、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B)注:要牢记 A.N+1 B.N C.(N+1)/2 D.N/2
18、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C)注:总体设计也就是概要设计
A.详细设计 B.需求分析 C.总体设计 D.编程调试
19、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A.概要设计 B.详细设计 C.可行性分析 D.需求分析
20、下列叙述中正确的是(A)A.线性表是线性结构 B.栈与队列是非线性结构 C.线性链表是非线性结构 D.二叉树是线性结构
21、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A.内模式 B.外模式 C.概念模式 D.逻辑模式
22、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)A.自顶向下 B.由底向上 C.由内向外 D.由整体到局部
23、算法一般都可以用哪几种控制结构组合而成(D)A.循环、分支、递归 B.顺序、循环、嵌套 C.循环、递归、选择 D.顺序、选择、循环
24、下面不属于软件工程的3个要素的是(D)A.工具 B.过程 C.方法 D.环境
25、下列关于队列的叙述中正确的是(C)A.在队列中只能插入数据 B.在队列中只能删除数据 C.队列是先进先出的线性表 D.队列是先进后出的线性表
26、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A)A.控制流 B.加工 C.数据存储 D.源和潭
27、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A.概要设计 B.详细设计 C.可行性分析 D.需求分析
28、下面描述中,符合结构化程序设计风格的是(A)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B.模块只有一个入口,可以有多个出口 C.注重提高程序的执行效率 D.不使用goto语句
29、算法的空间复杂度是指(D)A.算法程序的长度 B.算法程序中的指令条数 C.算法程序所占的存储空间 D.算法执行过程中所需要的存储空间
30、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A.概要设计 B.详细设计 C.可行性分析 D.需求分析
31、下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致
32、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)A.调用语句 B.命令 C.口令 D.消息
33、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(A)A.数据库系统 B.文件系统 C.人工管理 D.数据项管理
34、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C)注:总体设计也就是概要设计
A.详细设计 B.需求分析 C.总体设计 D.编程调试
35、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(A)A.数据库系统 B.文件系统 C.人工管理 D.数据项管理
36、在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A.确定性 B.可行性 C.无穷性 D.拥有足够的情报
37、在一棵二叉树上第5层的结点数最多是(B)注:由公式2(k-1)得 A.8 B.16 C.32 D.15
38、算法的空间复杂度是指(D)A.算法程序的长度 B.算法程序中的指令条数 C.算法程序所占的存储空间 D.算法执行过程中所需要的存储空间
39、设有下列二叉树:图见书P46 对此二叉树中序遍历的结果为(B)A.ABCDEF B.DBEAFC C.ABDECF D.DEBFCA
第四篇:【考试大论坛】-全国计算机二级VB要点总结
VB程序设计的初步知识
1.VB的概述
VB是一种可视化、面向对象和采用事件驱动方式的结构化高级程序设计语言。特点:▲ 可视化编程
▲ 面向对象程序设计 ▲ 结构化的程序设计语言 ▲ 事件驱动编程机制 ▲ 访问数据库 2.VB的程序开发环境
(1)窗口设计器窗口。简称,窗体
(2)工程资源管理器窗口
▲ 工程文件和工程文件组
工程文件的扩展名是vbp,每个工程对应一个工程文件。▲ 窗体文件
扩展名是frm,每一个窗体对应一个窗体文件,一个应用程序可以有多个窗体。▲ 标准模块文件
扩展名bas,不属于任何一个窗体。▲ 类模块文件
(3)属性窗口和工具箱窗口 3.VB常用对象及操作
(1)对象事件的名称Name是由VB预定的,不可以由编程者设定。
可以在运行期间改变窗体的Name属性的值。(?)(2)控件
4.VB应用程序通常有3类模块组成,即窗体模块、标准模块和类模块。VB应用程序以解释和编译方式执行。
5.VB中的变量和常量(1)常量
▲ 文字常量:字符串和数值常量 ▲ 符号常量
格式:Const 变量名=表达式(2)变量
▲ 命名规则:名字只能由字母、数字和下划线组成。
第一个字符必须是英文字母,最后一个字符可以是类型说明符。
▲变量的类型和定义
①类型说明符放在变量名的尾部。A#b(错)%:整型 &:长整型!:单精度型 #:双精度型 $:字符串型 ②在定义变量时指定类型。
格式:Declare 变量名 as 类型
Declare 可以是 Dim、Static、Public或Private(3)变量的作用域
变量分为:局部变量、模块变量和全局变量
① 局部变量
在事件过程或通用过程内定义的变量叫局部变量。② 模块变量
窗体变量可用于窗体内的所有过程.当同一个窗体内的不同过程使用相同的变量时,必须定义窗体层变量,在使用窗体层变量前,必须先声明。
③ 全局变量
全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。用Public 声明。
1.VB常用内部函数
⑴ 转换函数
◐ 取整函数Int和fix ◐ 数值转换函数 ◐ 类型转换函数 ◐ 格式转换函数
⑵数学函数 ◐ 三角函数
◐ 绝对值函数(Abs)◐ 符号函数(Sgn)◐平方根函数(Sqr)
◐ 指数和对数函数(Exp和Log)
⑶随机数函数
◐ 随机数函数(Rnd)◐ Randomize语句 ⑷ 时间函数
2.VB字符串处理
◐左、中、右部截取 Left(字符串,n)Mid(字符串,n)Right(字符串,n)◐字符串长度测量函数 Len(字符串)◐Strings函数 Strings(n,ASCII码)Strings(n,字符串)
◐查找某个字符串函数 InStr(首字符位置,字符串1,字符串2[,n] ◐字母大小转换函数 Ucase(字符串)Lcase(字符串)◐插入字符串语句 Mid(字符串,位置)=字符串 ◐SetFocus语句
8.VB运算符与表达式(1)算术运算符
◐求模运算 Mod求余.◐算术运算符优先级 ^>>& 如:7^2 Mod 5^23=1(1)关系运算符和逻辑运算符(2)表达式的执行顺序
▴ 关系运算(=,>,<,<>,≦,≧)
▴ 最后进行逻辑运算,顺序为: Not→And→Or→Xor→Eqv
如:表达式: Not a<=c Or 4*c=b^2 And b<>a+c的值是(Flase)a=2,b=3,c=4
9.VB常用标准控件(1).标签
●Alignment 确认标签中标题放置的位置,可设置0、1、2,作用分别为标题设置在左、右、中。
●AutoSize 标题自动调整标签的大小,可设置为True和False.●Borderstyle 设置标签的边框,可设置为0和1,0表示为无边框。●Enabled 用于确定一个窗体或控件能否对用户产生的事件作出反应。●BackStyle 设置标签是否覆盖背景,0表示为透明,1表示标签覆盖背景。●WordWrap 决定标签的标题文本能否自动换行。
●其他:Height、Left、Top、Visible、Width等等。
(2)文本框
属性:
●MaxLength 设置文本框中输入的最大字符数。
●MultiLine 设置是否允许多行显示。
●Passwordchar 用于口令输入。
●Scrollbars 用来设置文本框中的滚动条。
事件:
◎ Change 事件 当用户输入新信息或把Text属性设置为新值从而改变文本框的属性时,将可触发此事件。
◎ GotFocus事件 当文本框有输入焦点时,键盘上输入的字符都将在文本框中显示出来,只有当一个文本框被激活并且可见性为TRUE是才能收到焦点。
◎ Setfocus 事件 该方法可以把输入的光标(焦点)移到指定的文本框中。
格式: [对象.] Setfocus
(3)图形控件
图片框和图像框:
▲ CurrentX和CurrentY属性 ▲ Picture属性
▲ Stretch属性
用于自动调整图像框中图形内容的大小。
▲ 区别:① 图片框是“容器”控件,可作为父控件,而图像框不能。③ 图片框可接受文本和图片,图像框不能。④ 图像框占用内存少,显示速度快。⑤ 图片框更灵活,且适用于动态环境。▲ 运行期间装入图片
格式:[对象.] Picture=LoadPicture(”文件名”)
直线和形状:
△ BorderColor属性 △ Borderstyle
1—实线
2—虚线
3—点线
4—点划线
△ BackStyle 设置标签是否覆盖背景,0表示为透明,1表示标签覆盖背景。
△ Shape 属性
0—矩形 1—正方形 2—椭圆形 3—圆形 4—四角圆化的矩形 △ BorderWidth 指定线宽或界宽
(3)复选框和单选按钮
Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width
单选按钮:Value=True,表示选择了该单选按钮.Value=False, 表示没有选择该单选按钮.复选框:Value=0,表示没有选择该复选框。
Value=1,表示选择该复选框。
Value=2,表示该复选框被禁用。
(6)列表框和组合框
列表框方法:AddItem 添加文本内容到列表框中。
Clear
清除列表框中所有内容。
RemoveItem 删除列表框中指定的项目。组合框(ComboBox):AddItem、Clear、RemoveItem同样适用。
Style是组合框的一个重要属性,其值可取0、1、2,决定组合框的3个类型。
注意: 属性ListIndex和 ListCout的区别 108(7)
滚动条 属性:
除Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width外,还有以下属性: ▴ Max和Min ▴ LargeChange和SmallChange ▴ Value 表示滚动框在滚动条的位置。
事件:主要有Scroll和Change.当在滚动条内拖动滚动框时会触发Scroll事件,而改变滚动框的位置时会触发Change事件。
(8)
计时器
可以用Enabled和Name属性,其最重要的是Interval属性,取值范围0~65535.(9)框架
(10)焦点与Tab顺序
◐设置焦点
格式: [对象.] Setfocus ◐ Tab顺序
Tab顺序是在按Tab键时焦点在控件间移动的顺序。影响Tab顺序的属性是TabIndex。
数据输入输出
1.数据的输出方法: ⑴ print方法
与print方法有关的函数:tab(n)函数 【print tab(24);800】
spc(n)函数
【print “china”;spc(4);”中国” 】用于跳出n个空格输出
tab函数从第一列开始计数,n是绝对偏移量。spc(n)函数则是从前面的输出内容开始计数,n是相对偏移量。⑵ 格式输出()
#:表示数字,不补零
0:表示数字,在数字的前或后补零.:指定小数点的位置,:指定千分分隔符的位置
如:print format$(12345.6,”####,#.##”)12,345.(3)msgbox函数
信息框→ 返回值→标题 2.数据输出方法(1)inputbox方法
Inputbox函数的返回值默认为字符串。如:a=inputbox(“Enter an integer”)b= inputbox(“Enter an integer”)
text1.text=b+a
如果在输入对话框中输入8和10,则文本框中显示的内容为108
VB的控制结构
1.循环控制结构(1)For循环控制结构
使用Exit for 语句,可以在循环变量到达终值前就退出循环。(2)当循环结构
While 条件 [语句块] Wend(3)Do循环结构
Do While……Loop
Do ……loop While(4)多分支控制结构
测试表达式=????→Select case 测试表达式(5)IIf函数
A=IIf(条件,true部分,false部分)
数组与过程
1.默认数组
默认数组就是数据类型为Variant的数组。
Static A(4)即为定义了四个默认数组。2.动态数组
▴ 用变量作为下标定位的数组时动态数组
▴ 用数值常量或符号常量作为下标定维的数组是静态数组。
动态数组定义分两步:首先在窗体层、标准模块或过程中用DIM或Public声明一个没有下标的数组,然后再过程中在用ReDimd定义。3.数组的清除和重定义 Erase 数组名
Erase用于动态数组中,将删除整个数组结构并释放数组所占用的内存,即动态数组以后就
不复存在。用于静态数组中只是内容清空,数组依然存在。4.数组元素的输入及输出
输入:一般通过For循环和Inputbox函数输出
如: Option base 1 Dim s()as string Sub Form_Click()
Redim s(4)as string For i= 1 to 4 Temp$=Inputbox(“Enter Name”)S(i)= Temp$
Next i End Sub 输出:用Print方法结合For循环实现
Option base 1 Dim s(4,4)as Integer For i= 1 to 4 For j= 1 to 4 Print s(i,j);“ ” ;
Next j Next i
5.控件数组
控件数组是一组相同类型的控件组成,这些控件有一个相同的控件名称,具有相同的属性设置,所有元素的Name属性相同,但Index属性不同。6.Sub过程
● 通用过程:多个事件过程需要使用同一个程序代码,他可以单独建立,供事件过程或其他过程调用。
● 事件过程:当发生某个事件时,对事件作出响应的程序段。函数过程的返回值只能有一个。
调用Sub过程:① Call语句调用过程。
如:Call Tryout(a,b)② 把过程名作为一个语句使用。
如:Try out a,b 去掉call关键字,去掉“实际参数”括号。
7.通用sub过程和事件过程
◐重点◐难点◐
事件过程是一种特殊的sub过程,他附加在窗体和控件上。窗体的事件过程不能由用户任意定义,而是由系统指定。通常是在事件过程中调用通用过程,同时事件过程也可以被其他过程调用。
通用过程可以放在标准模块中,也可以放在窗体模块中,而事件过程只能放在窗体模块中,不同模块中的过程可以互相调用。
8.Function过程 ◐重点◐难点◐
Sub过程不直接返回值,可以作为单独的基本语句使用,而Function过程要返回一个值,通常出现在表达式中。
9.过程中的参数 ⑴ 形参与实参
形参:在Sub过程、Function过程的定义中出现的变量名。
实参:在调用Sub过程、Function过程中传送给Sub过程、Function过程的常数、变量、表达式或数组。
⑵传送方式:按位置传送和指名传送
▼ 按位置传送(常考)
实际参数的次序必须和形式参数的次序相匹配 例如:
Private sub proc1(a as integer, b as string, optional x as boolean)„„„ End sub 正确调用此过程的语句是:proc1 5,”asd”
或
call proc1(5,”asd”,FALSE)▼ 指名传送(3)引用
参数通过地址和传值两种方式传送,其中传送地址称为引用。通过关键字ByRef实现。默认情况下,变量都是通过引用传送给Sub过程、Function过程的。例如: Sub tryout(x as integer, y as integer)
X=x+100
Y=y*6
Print “x=”;x, ”y=”;y End sub Sub form_click()
Dim a as integer,b as integer
A=10;b=20 Tryout a,b
Print “a=”;a, ”b=”;b End sub 运行后输出结果为: x=110
y=120
A=110
b=120
(4)传值
由于通用过程没有访问实参的原始地址,因而不会改变原来变量的值,所用的变化都是在变量的副本上进行的。传值方式通过关键字ByVal实现。例如:
Sub tryout(ByVal x as integer, ByVal y as integer)
X=x+100
Y=y*6
Print “x=”;x, ”y=”;y End sub Sub form_click()
Dim a as integer,b as integer
A=10;b=20 Tryout a,b
Print “a=”;a, ”b=”;b End sub 运行后输出结果为: x=110
y=120
A=10
b=20 函数过程形参的类型与函数返回值的类型没有关系。
键盘与鼠标事件
1.键盘事件 ⑴KeyPress事件
当压下键盘上的某个键时,将发生KeyPress事件。该事件可以用于各控件。比如用在文本框上的格式:Private Sub Text-KeyPress(KeyAscii as integer)
KeyPress事件带有一个参数,参数有两种形式,第一种形式:Index As Integer,只用在控件数组。第二种形式是:KeyAscii As integer,用于单个控件。
KeyPress事件用于识别按键的Ascii码,捕捉击键动作,KeyAscii参数不能省略。
控件的键盘事件优先于窗体的键盘事件 ⑵KeyDown和KeyUP事件
KeyDown和KeyUP事件返回的是键盘的直接状态。
KeyPress事件返回的是Ascii码。当按键“A”时,KeyDown事件所得到的Keycode码与键“a”的相同。2.鼠标事件
可视化程序设计
1.当窗体为活动窗体时,可以使用“工具”菜单中的“菜单编辑器”打开菜单编辑器。2.弹出式菜单:建立弹出式菜单首先用菜单编辑器建立菜单,然后用PopupMenu方法弹出显示。
各级菜单中的所有菜单项的名称必须唯一。
3.通用对话框: 对话框的类型可以通过Action属性设置,也可以用相应的方法设置。可以通过DialogTitle属性设置有实际意义的标题。
通用对话框,Action=1 打开文件;
=2 保存文件
方法:showopen;showsave 4.文件对话框: 格式:【窗体】对话框名,Fliter=描述符1|过滤器1| 描述符2|过滤器2|„
FliterIndex 用来指定默认的过滤器。
文件类型 5.多重窗体程序设计
Show方法:用来将指定的窗体装入内存并显示该窗体。
6.VB工程中,可以作为启动对象的程序是Sub main 过程或任何窗体。
一个工程中可以包括多个窗体文件。
数据文件
1基本文件操作语句与函数
⑴ 打开文件 ◐重点◐难点◐
格式:Open文件名【for 方式】 as #文件号
如果省略【for 方式】,则打开文件的存取方式是随机存取方式。方式指文件的输出方式,可以是Output(顺序输出)以写的方式打开、input(顺序输入)、append(添加)。
使用open语句打开文件时,如果为输入input打开的文件不存在,则产生“文件未找到”的错误;如果为Output(顺序输出)、append(添加)访问方式打开的文件不存在,则建立相应的文件。(2)关闭文件(3)EOF函数
用来测试文件的结束状态。利用EOF函数,可以避免在文件输入时出现“输入超出尾”错误。
DO While Not EOF 2.顺序文件与随机文件 ⑴ 顺序文件写操作 Print #文件号,表达式 Write #文件号, 表达式(2)顺序文件读操作 Input #文件号,变量表
(3)随机文件的打开与读写操作
随机文件的记录是定长记录。在用open语言打开文件时必须指定记录的长度。
打开随机文件: Open”文件名” for random As #文件号
对文件的操作既可以读也可以写。
第五篇:全国VB二级操作试题及答案2016
一、基本操作题
(1)在名称为Forml,标题为“输入”、最大化按钮不可用的窗体上画1个名称为Framel的框架控件,其标题为“选择性别”;再向框架内画两个名称分别为Optionl和Option2的单选按钮,其标题分别为“男”和“女”,并将单选按钮Option2设置为选中状态。请设置相应属性使得程序执行时,窗体界面如图所示。
注意:存盘时,将文件保存至考生文件夹下,窗体文件名为sjtl.frm,工程文件名为sjtl.vbp。
(2)在名称为Forml的窗体上画1个名称为Labell的标签,其标题为“计算机等级考试”,且能根据标题内容自动调整大小,有边框(如图所示);再在窗体上画1个名称为HScrolll的水平滚动条,并将滚动条所能表示的最小值设置为
10、最大值设置为20。
要求:编写适当的事件过程,使得程序运行时,当单击水平滚动条两端的箭头时,能将标签中的文字大小设置为滚动框当前位置值,程序运行后的界面如图所示。
注意:程序中不得使用变量,每个事件过程中只能写一条语句(不得使用选择语句或循环语句)。存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。
二、简单应用题
(1)考生文件夹中有工程文件sjt3.vbv。窗体上显示有一个列表框和一个文本框,且列表框中已有若干列表项。程序的功能是,程序运行时,当用户在列表框中单击并选中某个列表项时,该项的内容将显示到文本框中,用户可以在文本框中对相关内容进行编辑,按回车键后,能够用编辑好的内容替换被选中的列表项,并自动清空文本框;当双击某个列表项时,则从列表框中删除该列表项;当用户直接在文本框中键入文本并按回车键后,则把该文本添加为列表框的一个新列表项,添加完成后,将文本框清空。运行窗体如图所示。
要求:程序已经给出,但不完整,请将其中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。
注意:考生不得修改窗体文件中已经存在的控件和程序。最后程序按原文件名存盘。
(2)考生文件夹中有一个工程文件sjt4.vbp。窗体上有两个文本框和一个标题为“运算”的命令按钮。程序的功能是,当程序运行时,单击“运算”按钮,能够产生10个1~100之间的随机整数,并显示在上面一个文本框中,然后,程序从中找出一个最大值,并将最大值与第1个数互换位置,最后把结果显示在下面一个文本框中。下图为程序某次运行的结果。程序已经给出,但不完整,请将其中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。
注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。
三、综合应用题
考生文件夹下有工程文件sjt5.vbp,窗体界面如图所示。考生文件夹下的in5.dat文件中有某次歌睦大奖赛10位选手的得分,文件中的每一行数据包含选手的编号及5位评委的打分。程序运行时,单击“显示数据”按钮,则将in5.dat文件的内容读入二维数组a中,并将数组a各元素的值显示在Textl文本框中;单击“计算并排序”按钮,则先计算每位选手的平均分作为最后得分,再按最后得分从高到低排序,最后按序在Listl列表框中显示各选手的编号和最后得分(每组编号和最后得分用空格隔开作为一行)。单击“保存”按钮,则保存结果。“显示数据”和“保存”按钮的Click事件过程已经给出,请编写“计算并排序”按钮的Click事件过程实现上述功能。
注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须单击“计算并排序”按钮后,再单击“保存”按钮保存结果,否则无成绩。最后,程序按原文件名存盘。
参考答案及解析
一、基本操作题
(1)【解题思路】新建一个空白窗体,添加一个框架控件和两个单选按钮控件,设置窗体和控件的相关属性值。
【操作步骤】
步骤1:新建一个“输入”、最大化按钮不可用的窗体,相关属性设置如表4.1所示。
步骤2:向窗体中添加一个框架控件和两个选项按钮,并设置好相关属性,如表4.2所示。
设置完成后效果如图4.1所示。
步骤3:调试并运行程序,关闭程序后按题目要求存盘。
(2)【解题思路】新建一个空白窗体,添加一个标签控件和一个水平滚动条控件,设置好该控件的相关属性,最后通过水平滚动条的change事件,将标签控件的fontSize属性设置为滚动条的value值。
步骤3:添加一个水平滚动条,设置控件的相关属性,如
表4.4所示。
设置完成后,窗体运行效果如图4.2所示。
步骤5:调试并运行程序,关闭程序后按题目要求存盘。
二、简单应用题
(1)【解题思路】本题主要考查对列表框控件的使用,包括向列表框中增加项目,从列表框中删除项目。修改列表框中选中项目的值。
第一个空使用列表框的Text属性,该属性的值为最后一次选中的表项的文本。
第二个空使用列表框的Lisflndex属性,该属性的值是已选中的表项的位置。
第三个空判断Text1文本框中的内容是否为空。
第四个空表示当列表框中无选中项目时,将Text1中的内容添加到列表框的最后。
第五个空表示将Text1文本框中的文本替换为列表框中选中的项目,使用列表框的List和ListIndex属性。
步骤3:调试并运行程序,关闭程序后按题目要求存盘
(2)【解题思路】本题主要考核对数组中元素的基本操作,利用循环语句找出数组中的最大值,并将保存最大值和其所对应的下标,然后将最大值与数组中的第一个元素进行互换操作。
三、综合应用题
【解题思路】本题主要考核列表框控件的基本操作,在事件过程中利用循环结构对二维数组中的元素求平均值,并将结果添加到列表框中,然后利用二重循环结构对列表框中的元素进行降序排列。
步骤3:调试并运行程序,关闭程序后按题目要求存盘。