文档库 最新最全的文档下载
当前位置:文档库 › VB选择题

VB选择题

第一题:
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
x=0
n=InputBox("")
For i= 1 To n
For j = 1 To i
x = x +1
Next j
Next i
Print x
End Sub
程序运行后,单击命令按钮,如果输入3,则在窗体上显示的内容是______。
A . 6
B . 5
C . 3
D . 4
评价:本题是关于FOR循环的用法。
跟踪循环结果:
I=1 J=1 X=0+1=1
I=2 J=1 X=1+1=2
J=2 X=2+1=3
I=3 J=1 X=3+1=4
J=2 X=4+1=5
J=3 X=5+1=6
最终结果为6。

第二题:
为了清除窗体上的一个控件,下列正确的操作是______。
答案:选择(单击)要清除的控件,然后按Del键。
评价:要想删除窗体上的某个控件,首先要选中这个控件,然后按下删除键(Del键)来删除。

第三题:
假定在图片框Picture1中装入了一个图形,为了清除该图形(不删除图片框),应采用的正确方法是______。
D.执行语句Picture1.Picture = LoadPicture ("")

第四题:
设有如下语句:
Dim a,b As Integer
c="VisualBasic"
d=#7/20/2005#
以下关于这段代码的叙述中,错误的是______。
A . d中的数据是日期类型
B . b被定义为Integer类型变量
C . c中的数据是字符串
D . a被定义为Integer类型变量
评价:在VB中不能用一个AS定义多个变量,故变量a不是Integer型,而是Variant型。

第五题:
假定有下面的过程:
Function Func(a As Integer, b As Integer) As Integer
Static m As Integer, i As Integer
m = 0
i = 2
i = i + m + 1
m = i + a + b
Func = m
End Function
在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim k As Integer, m As Integer
Dim p As Integer
k = 4
m = 1
p = Func(k, m)
Print p;
p = Func(k, m)
Print p
End Sub
程序运行后,单击命令按钮,输出结果为______。
A.8 8

第六题:
在窗体上画一个名称为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 i
End Sub
程序运行后,单击命令按钮,窗体上显示的是______。
D.1 2 3
4 5 6
7 8 9

第七题:
若设置了文本框的属性PasswordChar="$",则运行程序时向文本框中输入8个任意字符后,文本框中显示的是______。
答案:8个"$"
评价:PasswordChar属性:返回或设置一个值,该值指示所键入的字符或占位符在TextBox控件中是否要显示出来。

第八题:
在窗体上画一个名称为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 Exit For
Next
Text1.Text=Str(n)
End Sub
程序运行后,单击命令按钮,在文本框中显示的值是______。
答案:3.

第九题:
在窗体上画一个命令按钮,然后编写如下程序:
Sub S1(ByVal x As Integer, ByVal y As Integer)
Dim t As Integer
t = x
x = y
y = t
End Sub

Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 10
b = 30
S1 a, b
Print "a="; a; "b="; b
End Sub
程序运行后,单击命令按钮,输出结果是:______。
答案:a= 10 b= 30

第十题:
设一个工程由两个窗体组成,其名称分别为Form1和Form2,在Form1上有一个名称为Command1的命令按钮。窗体Form1的程序代码如下:
Private Sub Command1_Click()
Dim a As Integer
a=10
Call g(Form2,a)
End Sub
Private Sub g(f As Form,x As Integer)
y=IIf(x>10,100,-100)
f.Show
f.Caption=y
End Sub
运行以上程序,正确的结果是______。
答案:Form2的Caption属性值为-100。
评价:本题考的是IIF函数和函数的调用。
IIf 函数:
语法:IIf(expr, truepart, falsepart)
expr 必要参数。用来判断真伪的表达式。
truepart 必要参数。如果expr为True,则返回这部分的值或表达式。
falsepart 必要参数。如果expr为False,则返回这部分的值或表达式。
说明:由于IIf会计算truepart和falsepart,虽然它只返回其中的一个。因此要注意到这个副作用。例如,如果falsepart产生一个被零除错误,那么程序就会发生错误,即使expr为True。
本题中Call g(Form2,a)就是Call g(Form2,10),而y=IIf(x>10,100,-100)=-100。

第十一题:
以下叙述中正确的是______。
A . 窗体的Name属性指定窗体的名称,用来标识一个窗体
B . 对象的Name属性值可以为空
C . 可以在运行期间改变对象的Name属性的值
D . 窗体的Name属性的值是显示在窗体标题栏中的文本
评价:在Visual Basic中,窗体的Name属性指定窗体的名称,用来唯一标识一个窗体;该属性不能为空,也不能在运行期间改变。
需要注意的是,窗体的Name属性和窗体的Caption属性一定要分清,窗体的Caption属性是显示在窗体的标题栏中的文本,该属性在运行期间可以改变。

第十二题:
下列操作中不能向工程中添加窗体的是______。
A.右击工程资源管理器,在弹出的菜单中选择“添加”命令,然后在下一级菜单中选择“添加窗体”命令。
B . 单击工具栏上的“添加窗体”按钮
C . 右击窗体,在弹出的菜单中选择“添加窗体”命令
D . 执行“工程”菜单中的“添加窗体”命令
答案:c

第十三题:
假定程序中有以下语句:
answer = MsgBox("String1",,"String2","String3",2)
执行

该语句后,将显示一个信息框,此时如果单击“确定”按钮,则answer的值为:______。
答案:1

第十四题:
在用通用对话框控件建立“打开”或“保存”文件对话框时,如果需要指定文件列表框所列出的文件类型是文本文件(即.txt文件),则正确的描述格式是______。
答案:"text(.txt)|*.txt"。

第十五题:
在窗体上画一个文本框(其名称为Text1)和一个标签(其名称为Label1),程序运行后,如果在文本框中输入指定的信息,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程是______。
A . Private Sub Label1_Change()
Label1.Caption=Text1.Text
End Sub
B . Private Sub Text1_Click()
Label1.Caption=Text1.Text
End Sub
C . Private Sub Label1_Click()
Label1.Caption=Text1.Text
End Sub
D .Private Sub Text1_Change()
Label1.Caption=Text1.Text
End Sub
评价:TextBox控件中,Text属性是用来显示文本内容的。Change事件是在TextBox控件的Text内容发生改变时触发。Click事件是在用户鼠标单击文本时触发。

第十六题:
表达式2*3^2+4*2/2+3^2的值是______。
答案:31。
评价:算术运算符中的运算次序是:幂 取负(-) 乘、浮点除(*、/) 整除(\) 取模(Mod) 加、减(+、-) 连接(&),当乘法和除法同时出现在表达式中时,将按照他们从左到右出现的顺序进行计算。
本题中首先计算3^2 ,结果为9,此时,表达式为2*9+4*2/2+9, 再计算2*9、4*2,结果依次为18、8,此时,表达式2*9+4*2/2+9=18+8/2+9,然后计算8/2,结果为4,此时,表达式18+8/2+9=18+4+9,最后计算18+4+9,结果为31。

第十七题:
在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click( )
Dim I,Num
Randomize
Do
For I=1 To 1000
Num=Int(Rnd*100)
Print Num;
Select Case Num
Case 12
Exit For
Case 58
Exit Do
Case 65,68,92
End
End Select
Next I
Loop
End Sub
上述事件过程执行后,下列描述中正确的是______。
A.当所产生的随机数为12时结束所有循环
B . 在For循环中产生的随机数小于或等于100
C . Do循环执行的次数为1000次
D . 当所产生的随机数为65、68或92时窗体关闭、程序结束
答案:当所产生的随机数为65、68或92时窗体关闭、程序结束
评价:首先有一个Do循环作为外层循环:Do [语句块] Loop。在这种情况下,程序将不停地执行Do和Loop之间的"语句块"。接着是一个内循环,即For循环,并且变量的初值为1,终值为1000,步长为1,每执行一次循环,变量的值自动加1,接着生成一个100之内的随机数赋给变量Num。

输出变量Num的值,最后是一个多分支控制结构,多分支语句的格式为:
Select Case 测试表达式
Case 表达式表列1 语句块1
[Case 表达式表列2 语句块2…
[Case Else [语句块n]]
End Select
多分支语句通过情况语句来实现,以Select Case开头,以End Select结束。功能是,根据"测试表达式"的值,从多个语句块中选择符合条件的一个语句块执行。
随机数的公式为:Int( (upperbound-lowerbound+1)*Rnd+lowerbound),由题目中的Int(Rnd*100)可知,随机数的取值范围为0~99,所以随机数不可能取到100,选项B不正确。
根据题意,通过Num变量的值来控制程序的走向。
第一种情况:如果产生的随机数的值为12,则结束For循环,即内循环停止执行,但是外循环还继续执行,所以选项C不正确,随机数为12时不会结束所有循环,只是结束了内循环。
第二种情况:如果产生的随机数为58则结束Do循环,同时内循环也停止,所以Do循环不一定执行1000次,选项A不正确。
第三种情况:如果产生的随机数的值是65、68或92,则执行End方法,End是VB中关闭表单的方法,所以当所产生的随机数为65、68或92时窗体关闭、程序结束。

第十八题:
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Move 500,500
End Sub
程序运行后,单击命令按钮,执行的操作为______。
答案:窗体移动到距屏幕左边界、上边界各500的位置。

第十九题:
以下说法中正确的是______。
A . 只有当某个窗体为当前活动窗体时,才能打开菜单编辑器
B . 只有当代码窗口为当前活动窗口时,才能打开菜单编辑器
C . 任何时候都可以通过执行"工具"菜单中的"菜单编辑器"命令打开菜单编辑器
D . 任何时候都可以通过单击标准工具栏上的"菜单编辑器"按钮打开菜单编辑器
答案:A。
评价:当代码窗口为当前活动窗口时,"工具"菜单中的"菜单编辑器"命令和标准工具栏上的"菜单编辑器"按钮都为禁用(灰色),只有当某个窗体为当前活动窗体时,才能打开菜单编辑器。

第二十题:
以下数组定义语句中,错误的是______。
A . Dim c(3,1 To 4)
B . Static a(10) As Integer
C . Dim d(-10)
D . Dim b(0 To 5,1 To 3) As Integer
答案:c
评价:数组说明语句的形式如下:
Public|Private|Static|Dim <数组名>([<维界定义>]) [As <数组类型>]
在数组说明语句中,必须对每个需要说明的数组逐个使用[As <数组类型>]说明其类型,未加说明的数组按变体型数组处理。
<维界定义>的格式如下:
[<下界1> To] 上界1[[,<下界2> To] 上界2…]
其中"下界"和关键字"To"可以缺省。如果在过程中没有特别声明,

即程序没有使用Option Base 1语句,缺省下界和关键字To时,则表示下标的取值从0开始,等价于"0 To 上界"。如果程序中使用了Option Base 1语句,下标的取值是从1开始,等价于"1 To 上界"。
本题选项C中Dim d(-10)没有说明数组类型,则为变体型。缺省"下界"和关键字"To",则表示下标的取值从0开始,即为Dim d(0 To -10),上界的值-10小于下界的值0,因此是错误的。

第二十一题:
下列程序段的执行结果为______。
N = 10
For K = N To 1 Step -1
X = Sqr(K)
X = X - 2
Next K
Print X - 2
答案:-3。

第二十二题:
在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:
Private Sub Command1_Click()
For i = 1 To 4
If i = 1 Then x = i
If i <= 4 Then x = x + 1
Print x;
Next i
End Sub
程序运行后,单击命令按钮,其输出结果为:______。
答案:2 3 4 5

第二十三题:
下列______语句可以为动态数组分配实际元素个数。
A . static语句
B . ReDim语句
C . Dim语句
D . public语句
评价:ReDim语句在过程级别中使用,用于为动态数组变量重新分配存储空间。

第二十四题:
设a=5,b=6,c=7,d=8,则执行下列语句后,x的值为:______。
x= IIF((a>b) And (c答案:20
评价:函数IIF(expr,val1,val2)与IF语句相似,当布尔表达式expr为True时,则选择val1的值,否则选择val2的值。

第二十五题:
若已把一个命令按钮的Default属性设置为True,则下面可导致按钮的Click事件过程被调用的操作是______。
A . 按键盘上的Esc键
B . 用鼠标右键双击此按钮
C . 用鼠标右键单击此按钮
D . 按键盘上的回车键
答案:D
评价:命令按钮的部分属性:
Default属性:当一个命令按钮的Default属性被设置为True时,按回车键和单击该命令按钮的作用相同;
Cancel属性:当一个命令按钮的Cancel属性设置为True时,按Esc键与单击该命令按钮的作用相同;
Enabled属性:返回/设置一个值,决定对象是否响应用户生成事件。

第二十六题:
以下关于多重窗体程序的叙述中,错误的是______。
A . 用Hide方法不但可以隐藏窗体,而且能清除内存中的窗体
B . 在多重窗体程序中,可以根据需要指定启动窗体
C . 在多重窗体程序中,各窗体的菜单是彼此独立的
D . 对于多重窗体程序,需要单独保存每个窗体
答案:A
评价:Hide方法:用以隐藏MDIForm或Form对象,但不能使其卸载。
说明:隐藏窗体时,它就从屏幕上被删除,并将其Visible属性设置为False。用户将无法访问隐藏窗体上的控件,但是对于运行中的Visual Basic应用程序,或对于通过DDE与该应用程序通讯的进程及对于Timer控件的

事件,隐藏窗体的控件仍然是可用的。
窗体被隐藏时,用户只有等到被隐藏窗体的事件过程的全部代码执行完后才能够与该应用程序交互。
如果调用Hide方法时窗体还没有加载,那么Hide方法将加载该窗体但不显示它。
A选项中说使用了Hide方法以后把窗体从内存中清除了,这是错误的,它并没有从内存中清除。
所以本题答案就是A。

第二十七题:
对用MsgBox显示的消息框,下面______是错的。
A.可以有一个按钮
B . 可以有三个按钮
C . 可以有二个按钮
D . 可以有四个按钮
答案:D

第二十八题:
在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:
Private Sub TxtA_KeyPress(KeyAscii As Integer)
......
End Sub
假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是______。
A . 按下键盘上的某个键
B . 双击文本框
C . 鼠标滑过文本框
D . 单击鼠标
答案:a
评析:KeyPress事件用来识别按键的ASCII码,从而识别键盘上某个键的按下与释放。

第二十九题:
以下定义数组或给数组元素赋值的语句中,正确的是______。
A . Dim a%(10)
a(1)="ABCDE"
B . Dim a(10) As Integer
a=Array(1,2,3,4,5)
C . Dim a As Variant
a=Array(1,2,3,4,5)
D . Dim a(3),b(3) As Integer
a(0)=0
a(1)=1
a(2)=2
b=a
答案:c
评析: 数组说明语句的形式为:
Dim <数组定义符> As <数据类型> [,<数组定义符> As <数据类型>]...
选项B中,给数组元素赋值不全,所以选项B是错误的。
选项C中,%表示整型,而在给数组元素赋值时的数据类型是字符型,所以选项C是错误的。
选项D中定义数组类型的格式错误,所以选项D是错误的。
故本题答案为A。

第三十题:
设有如下变量声明
Dim TestDate As Date
为变量TestDate正确赋值的表达方式是______。
A . TestDate=#"1/1/2002"#
B . TestDate=#1/1/2002#
C . TestDate=date("1/1/2002")
D . TestDate=Format("m/d/yy","1/1/2002")
答案:B
评析:日期型数据用来表示日期信息,其格式为mm/dd/yyyy或mm-dd-yyyy,取值范围为1/1/100到12/31/9999;
日期文字须以符号"#"括起来,例如,#January 1,2002#;
Format函数设置日期的格式应当为:Format(MyDate, "dd, mm, yy")。



相关文档