二级VB考试模拟练习题1附答案及解析Word格式文档下载.docx
《二级VB考试模拟练习题1附答案及解析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《二级VB考试模拟练习题1附答案及解析Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
B)Fori=0ToList1.Count-1
C)Fori=1ToList.ListCount
D)Fori=1ToList1.Count
(5)以下Case语句中错误的是
A)Case0To10
B)CaseIs>
10
C)CaseIs>
10AndIs<
50
D)Case3,5,Is>
C
(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,然后编写如下事件过程:
PrivateSubCommand1_Click()
a=12345
PrintFormat$(a,"
000.00"
)
EndSub
程序运行后,单击命令按钮,窗体上显示的是
A)123.45
B)12345.00
C)12345
D)00123.45
(10)以下叙述中错误的是
A)一个工程可以包括多种类型的文件
B)VisualBasic应用程序既能以编译方式执行,也能以解释方式执行
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的命令按钮,然后编写如下事件过程:
Text1.Text="
Visual"
Me.Text1="
Basic"
Text1="
Program"
程序运行后,如果单击命令按钮,则在文本框中显示的是
C)Program
D)出错
(15)以下关系表达式中,其值为False的是
A)"
ABC"
>
"
AbC"
B)"
the"
<
they"
C)"
VISUAL"
=UCase("
D)"
Integer"
Int"
(16)语句Print5/4*6\5Mod2的输出结果是
A)0
B)1
C)2
D)3
(17)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个事件过程:
strText=InputBox("
请输入"
Text1.Text=strText
PrivateSubText1_Change()
Label1.Caption=Right(Trim(Text1.Text),3)
程序运行后,单击命令按钮,如果在输入对话框中输入abcdef,则在标签中显示的内容是
A)空
B)abcdef
C)abc
D)def
(18)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
x=-5
IfSgn(x)Then
y=Sgn(x∧2)
Else
y=Sgn(x)
EndIf
Printy
A)-5
B)25
C)1
D)-1
(19)一个工程中含有窗体Form1、Form2和标准模块Model1,如果在Form1中有语句PublicXAsInteger,在Model1中有语句PublicYAsInteger。
则以下叙述中正确的是
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),然后编写如下代码:
OptionBase1
Dima
s=0
a=Array(1,2,3,4);
j=1
Fori=4To1Step-1
s=s+a(i)*j
j=j*10
Nexti
Prints
运行上面的程序,单击命令按钮,其输出结果是
A)4321
B)1234
C)34
D)12
(22)在窗体上画一个名称为Text1的文本框,要求文本框只能接收大写字母的输入。
以下能实现该操作的事件过程是A)PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii<
65OrKeyAscii>
90Then
MsgBox"
请输入大写字母"
KeyAscii=0
EndIf
B)PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode<
65OrKeyCode>
KeyCode=0
C)PrivateSubText1_MouseDown(ButtonAsInteger,_
ShiftAsInteger,XAsSingle,YAsSingle)
IfAsc(Text1.Text)<
65OrAsc(Text1.Text)>
90Then
D)PrivateSubText1_Change()
IfAsc(Text1.Text)>
64AndAsc(Text1.Text)<
91Then
(23)假定在窗体(名称为Form1)的代码窗口中定义如下记录类型:
PrivateTypeanimal
animalNameAsString*20
aColorAsString*10
EndType
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
DimrecAsanimal
Open"
c:
\vbTest.dat"
ForRandomAs#1Len=Len(reC)
rec.animalName="
Cat"
rec.aColor="
White"
Put#1,,rec
Close#1
则以下叙述中正确的是
A)记录类型animal不能在Form1中定义,必须在标准模块中定义
B)如果文件c:
\vbTest.dat不存在,则Open命令执行失败
C)由于Put命令中没有指明记录号,因此每次都把记录写在文件的末尾
D)语句"
Put#1,,rec"
将animal类型的两个数据元素写到文件中
(24)在窗体上画一个名称为Text1的文本框,一个名称为Command1的命令按钮,然后编写如下事件过程和通用过程:
n=Val(Text1.Text)
Ifn\2=n/2Then
f=f1(n)
f=f2(n)
Printf;
n
PublicFunctionf1(ByRefx)
x=x*x
f1=x+x
EndFunction
PublicFunctionf2(ByValx)
f2=x+x+x
EndFunction
程序运行后,在文本框中输入6,然后单击命令按钮,窗体上显示的是
A)7236
B)10836
C)726
D)1086
(25)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
c=1234
c1=Trim(Str(C))
Fori=1To4
PrintNext
程序运行后,单击命令按钮,要求在窗体上显示如下内容:
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的文本框,然后编写如下事件过程:
Fori=2Ton
Forj=2ToSqr(i)
IfiModj=0ThenExitFor
Nextj
Ifj>
Sqr(i)ThenPrinti
该事件过程的功能是
A)输出n以内的奇数
B)输出n以内的偶数
C)输出n以内的素数
D)输出n以内能被j整除的数
(27)以下描述中正确的是
A)标准模块中的任何过程都可以在整个工程范围内被调用
B)在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程
C)如果工程中包含SubMain过程,则程序将首先执行该过程
D)如果工程中不包含SubMain过程,则程序一定首先执行第一个建立的窗体
(28)在窗体上画一个名称为Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:
PrivateFunctionf(mAsInteger)
IfmMod2=0Then
f=m
f=1
DimiAsInteger
Fori=1To5
s=s+f(i)
Prints
程序运行后,单击命令按钮,在窗体上显示的是
A)11
B)10
C)9
D)8
(29)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
Dimarray1(10,10)AsInteger
DimiAsInteger,jAsInteger
Fori=1To3
Forj=2To4
array1(i,j)=i+j
Text1.Text=array1(2,3)+array1(3,4)
程序运行后,单击命令按钮,在文本框中显示的值是
A)15
B)14
C)13
(30)在窗体上画4个文本框(如图所示)并用这4个文本框建立一个控件数组,名称为Text1(下标从0开始,自左至右顺序增大),然后编写如下事件过程:
ForEachTextBoxInText1
Text1(i)=Text1(i)Index
i=i+1
程序运行后,单击命令按钮,4个文本框中显示的内容分别为
A)0123
B)1234
C)0132
D)出错信息
二、填空题
(1)VisualBasic应用程序中标准模块文件的扩展名是【1】。
正确答案:
1.(.bas)
(2)在菜单编辑器中建立一个菜单,其主菜单项的名称为mnuEdit,Visible属性为False。
程序运行后,如果用鼠标右键单击窗体,则弹出与mnuEdit对应的菜单。
以下是实现上述功能的程序,请填空。
PrivateSubForm【2】(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=2Then
【3】mnuEdit
1.(MouseDown)2.(PopupMenu)
(3)为了使计时器控件Timer1每隔0.5秒触发一次Timer事件,应将Timer1控件的【4】属性设置为【5】。
1.(Interval)2.(500)
(4)与数学表达式对应的VisualBasic表达式是【6】。
1.(((Cos(a+B))^2)/(3*x)+5)
(5)将C盘根目录下的图形文件moon.jpg装入图片框Picture1的语句是【7】。
1.(Picture1.Picture=LoadPicture("
\moon.jpg"
))
(6)在窗体上画一个名称为Text1的文本框,然后画3个单选按钮,并用这3个单选按钮建立一个控件数组,名数为Option1。
程序运行后,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,如图所示。
请填空。
PrivateSubOption1_Click(IndexAsInteger)
SelectCase【8】
Case0
a="
宋体"
Case1
黑体"
Case2
楷体"
EndSelect
Text1【9】=a
1.(Index)2.(FontName)
(7)在窗体上画两个组合框,其名称分别为Combo1、Combo2,然后画两个标签,名称分别为Label1、Label2,如图所示。
程序运行后,如果在某个组合框中选择一个项目,则把所选中的项目在其下面的标签中显示出来。
PrivateSubCombo1_Click()
CallShowItem(Combo1,Label1)
PrivateSubCombo2_Click()
CallShowItem(Combo2,Label2)
PublicSubShowItem(tmpComboAsComboBox,tmpLabelAsLabel)
【10】Caption=【11】Text
1.(tmpLabel)2.(tmpCombo)
(8)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
n=5
Fori=1Ton
f=f【12】
s=s+f
该事件过程的功能是计算的值。
1.(/i)
(9)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Dima(10)AsInteger
Fori=1To10
a(i)=i
Callswap(【13】)
Printa(i);
Subswap(b()AsInteger)
n=【14】
Fori=1Ton/2
t=b(i)
b(i)=b(n)
b(n)=t
【15】
上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a
(1)与a(10)的值互换,a
(2)与a(9)的值互换,……,a(5)与a(6)的值互换。
1.(a)2.(UBound(
B))3.(n=n-1)