省二级考试VB试题汇总
Function fun(a As Integer) c是静态变量,属于过程级变量,但是过程执行完毕的时 b = 0 候,其值仍被保留,直到整个程序运行结束才会被清除 Static c b = b + 1 ' 第一次执行本语句后,c=1;第二次执行本语 c = c + 1 句后,c=2; 第二次执行完本语句,c=3 fun = a + b + c ' End Function
Private Sub Command1_Click() Dim a As Integer a = 2 For i = 1 To 3
Sum = Sum + fun(a) Next i Print Sum End Sub
A. 24 B. 12 C. 15 D. 32 66 阅读程序:
按地址传送参数 Sub subp(b() As Integer) For i = 1 To 4
对参数进行赋值,会改变 b(i) = 2 * i 相应实际参数的值 Next i
End Sub
Private Sub Command1_Click() Dim a(1 To 4) As Integer
a(1) = 5: a(2) = 6: a(3) = 7: a(4) = 8 a作为实参调用过程subp subp a a的值将被改变 For i = 1 To 4 Print a(i); Next i End Sub
程序运行时,单击命令按钮得到的结果是_______。 A A. 2 4 6 8 B. 5 6 7 8 C. 10 12 14 16 D. 出错 67 假定有以下两个过程:
Sub s1(ByVal x As Integer, ByVal y As Integer) x、y都是按值传送参数 Dim t As Integer
t = x x = y 改变了参数(交换两个参数的值)不会对 y = t 两个参数有影响 End Sub Sub s2(x As Integer, y As Integer) x、y都是按地址传送参数 Dim t As Integer t = x 改变了参数(交换两个参数的值) x = y 对两个参数有影响 y = t End Sub 则以下说法中正确的是_______。 B
A. 用过程S1可以实现交换两个变量的值的操作,S2不能实现
第 11 页 共 74 页
省二级考试VB试题汇总
B. 用过程S2可以实现交换两个变量的值的操作,S1不能实现 C. 用过程S1和S2都可以实现交换两个变量的值的操作 D. 用过程S1和S2都不能实现交换两个变量的值的操作
68 在窗体上添加一个命令按钮Command1和两个名称分别为Label1和Label2的标签,在通用声明段声明变量x,并编写如下事件过程和SUB过程: 全局变量 Private x As Integer Private Sub Command1_Click() x = 5: y = 3
调用自定义过程(代码见下) Call proc(x, y)
Label1.Caption = x Label2.Caption = y 按值传送参数 End Sub 因为y是局部变量,proc过程Sub proc(ByVal a As Integer, ByVal b As Integer) 又是对第二个参数按值传送,所以proc()对y没有任何影 x = a * a
响,输出的y还是原来的值 y = b + b End Sub
程序运行后,单击命令按钮,则两个标签中显示的内容分别是_______。B
A. 5和3 B. 25和3 C. 25和6 D. 5和6 69 下列程序输出结果为_______。A
Private Sub Command1_Click() For i = 1 To 3
GetValue (i) 此时i的值为4,因为退出for循环后,循环变量是 Next i
最后一次循环时的值加上步长 Print GetValue(i) End Sub
Private Function GetValue(ByVal a As Integer) dim S As Integer S = S + a GetValue = S End Function
A. 4 B. 5 C. 10 D. 11 70 以下程序的运行结果是_______。 C
Dim x As Integer, y As Integer, z As Integer 第一个参数是按地址传送 Sub s2(a As Integer, ByVal b As Integer) 第二个参数是按值传送 a = 2 * a b = b + 2
End Sub
Private Sub Command1_Click() x = 4 y = 4 x是按地址传送的参数 Call s2(x, y) Print x + y End Sub
A. 0 B. 8 C. 12 D. 14 71 以下程序的运行结果是_______。 C
Private Sub Form_Click() a = 1: b = 1
Print \
第 12 页 共 74 页
省二级考试VB试题汇总
Call mult(a, B.
Print \ End Sub 按地址传送的参数 Sub mult(x, y)
x = 2 * x y = 3 * y End Sub
A. A=1 B=1 B. A=1 B=1 C. A=1 B=1 D. A=1 B=1 A=1 B=1 A=1 B=3 A=2 B=3 A=2 B=1
72 在窗体上添加一个命令按钮Command1和3个名称分别为Label1,Label2和Label3的标签, 然后编写如下事件过程:
全局变量 Private x As Integer Private Sub Command1_Click() 静态变量, 本过程结束其值仍 Static y As Integer 被保留,直到整个程序结束 Dim z As Integer n = 10
局部变量,本过程结束,其值将 z = n + z
被清除 y = y + z
x = x + z
Label1.Caption = x Label2.Caption = y Label3.Caption = z End Sub
程序运行后,连续3次单击命令按钮,则3个标签中显示的内容分别是_______。 C
A. 10 10 10 B. 30 30 30 C. 30 30 10 D. 10 30 30
73 一个工程中包含两个名称分别为Form1和Form2的窗体,一个名称为mdlfunc的标准模块。假定Form1,Form2和mdlfunc中分别建立了自定义过程,其定义格式为: Form1中定义的过程:
Private sub frmFunction1() … End Sub
Form2中定义的过程: Pubilc sub frmFunction2() … End Sub
Md1func中定义的过程: Public sub md1Function () … End Sub
在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是_______。 D A. 上述三个过程都可以在工程中的任何窗体或模块中被调用
B. frmFunction2和md1Function过程能够在工程中各个窗体或模块中被调用 C. 上述三个过程都只能在各自被定义的模块中调用
D. 只有md1Function过程能够被工程中各个窗体或模块调用 74 以下程序段的运行结果是_______。 B
Function abc(n As Integer) As Integer
按地址传送 abc = n * 5 + 10 End Function
第 13 页 共 74 页
省二级考试VB试题汇总
Private Sub Form_Click() Dim x As Integer
x = abc(234) + 109 * abc(10) Print x End Sub
A. 7700 B. 7720 C. 2340 D. 7770 75 下列程序运行后显示的结果是_______。 A 按地址和按值传送传送 Public Sub F1(n%,ByVal m%)Private Sub Command1_Click() %是整型标识符,第一个参数按 n=n Mod 10Dim x%,y% 地址传送,第二个参数按值传送 m=m\\10x=12:y=34 End Sub Call F1(x,y) Print x,y End Sub
A. 2 34 B. 12 34 C. 2 3 D. 12 3 76 以下关于窗体的描述中,错误的是_______。 A
A. 执行Unload Form1语句后,窗体Form1消失,但仍在内存中 B. 窗体的load事件在加载窗体时发生
C. 当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止 D. 窗体的Height、Width属性用于设置窗体的高和宽
77 若要使某命令按钮获得控制焦点,则可使用_______方法来设置。B A. Refresh B. SetFocus C. GotFocus D. Value
78 设组合框Combo1中有3个项目,则能删除最后一个项的语句是_______。B A. Combo1.RemoveItem Text B. Combo1.RemoveItem 2 下标从0开始;下题与此方法同 C. Combo1.RemoveItem 3
D. Combo1.RemoveItem Combo1.Listcount
79 将数据项\添加到列表框List1中,成为第一项应使用语句_______。A A. List1.AddItem \ B. List1.AddItem \ C. List1.AddItem 0, \ D. List1.AddItem 1, \ 80 假定时钟控件的Interval属性为1000,Enabled属性为True,并且有下面的事件过程,计算机将发出_______次Beep声。 D
Private Sub Timer1_Timer() For i = 1 To 5
受系统诸因素影响,记住答案即可 Beep Next i End Sub
A. 1000次 B. 10000次 C. 5次 D. 以上都不对
81 将命令按钮Command1的标题作为文本框Text1的文本内容,应执行语句_______。 B A. Text1= Command1
B. Text1.Text= Command1.Caption C. Text1.Caption=Command1.Caption D. Text1.Text= CStr(Command1)
82 下列控件可以用作其他控件容器的有_______。 D A. 窗体,标签,图片框
第 14 页 共 74 页
省二级考试VB试题汇总
B. 窗体,框架,文本框 C. 窗体,图像,列表框 D. 窗体,框架,图片框
83 改变驱动器列表框的Drive属性将激活_______事件。 A
A. Change B. Scroll C. KeyDown D. KeyUp 84 在窗体上添加一个列表框和一个文本框,然后编写如下两个事件过程:
Private Sub Form_Load() List1.AddItem \ List1.AddItem \ List1.AddItem \ List1.AddItem \End Sub
此时a=\;“+”运算符的两个运Private Sub List1_DblClick() 算项都是字符类型,因此为字符串连 a = List1.Text
接运算,结果为字符串\ Print a + Text1.Text End Sub
程序运行后,在文本框中输入\,然后双击列表框中的\,则输出结果为_______。 B A. 1245 B. 456789 C. 789 456 D. 0 85 在窗体上添加一个文本框,然后编写如下事件过程:
Private Sub Form_Load() Text1.Text = \ For i = 1 To 10
Sum = Sum + i Next i
Text1.Text = Sum End Sub
上述程序的运行结果是_______。 A
A. 在文本框Text1中输出55 B. 在文本框Text1中输出0
C. 出错 D. 在文本框Text1中输出不定值
86 在窗体上添加一命令按钮Command1,并将其Caption属性设置为cmdAA、名称属性设置为cmdBB,则关于该控件的下列_______语句是正确的。 C
A. Command1.Left=100 B. cmdAA. Left=100 C. cmdBB. Left=100 D. 以上语句都不对
87 在窗体上画一个名称为List1的列表框,一个名称为Label1的标签。列表框中显示若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的名称。在List1的单击事件过程中能正确实现上述功能的语句是_______。 D
A) Label1.Caption = List1.ListIndex B. Label1.Name = List1. ListIndex C) Label1.Name = List1.Text D) Label1.Caption = List1.Text
88 下面对语句 Open \的功能描述错误的是_______。C A. 以顺序输出模式打开文件\
B. 如果文件\不存在,则建立一个新文件
C. 如果文件\已存在,则打开该文件,新写入的的数据将添加到文件末尾 D. 如果文件\已存在,则打开该文件,新写入的的数据将覆盖原来的数据
89 执行语句Open \ #1 Len = 50 后,对文件\中的数据能够进行的操作是_______。 C
A. 只能写不能读
第 15 页 共 74 页