二级VISUAL BASIC真题.docx
- 文档编号:10153444
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:31
- 大小:81.01KB
二级VISUAL BASIC真题.docx
《二级VISUAL BASIC真题.docx》由会员分享,可在线阅读,更多相关《二级VISUAL BASIC真题.docx(31页珍藏版)》请在冰豆网上搜索。
二级VISUALBASIC真题
2008年9月二级笔试试卷
一、选择题
下列各题A)、B)、C)、D)四个选项中,只有—个选项是正确的。
(11)在设计窗体时双击窗体的任何地方,可以打开的窗口是______。
A)代码窗口B)属性窗口
C)工程资源管理器窗口D)工具箱窗口
(12)若变量a未事先定义而直接使用(例如:
a=0),则变量a的类型是______。
A)IntegerB)StringC)BooleanD)Variant
(13)为把圆周率的近似值3.14159存放在变量pi中,应该把变量pi定义为______。
A)DimpiAsIntegerB)Dimpi(7)AsInteger
C)DimpiAssingleD)DimpiAsLong
(14)表达式2*3^2+4*2/2+3^2的值是______。
A)30B)31C)49D)48
(15)以下不能输出“Program”的语句是______。
A)PrintMid("VBProgram",3,7)B)PrintRight("VBProgram",7)
C)PrintMid("VBProgram",3)D)PrintLeft("VBProgram",7)
(16)窗体上有—个名称为Frame1的框架(如图),若要把框架上显示的“Frame1”改为汉字“框架”,下面正确的语句是______。
A)Frame1.Name="框架"B)Frame1.Caption="框架"
C)Frame1.Text="框架"D)Frame1.Value="框架"
(17)以下叙述中错误的是______。
A)在通用过程中,多个形式参数之间可以用逗号作为分隔符
B)在Print方法中,多个输出项之间可以用逗号作为分隔符
C)在Dim语句中,所定义的多个变量可以用逗号作为分隔符
D)当一行中有多个语句时,可以用逗号作为分隔符
(18)设窗体上有一个列表框控件List1,含有若干列表项。
以下能表示当前被选中的列表项内容的是______。
A)List1.ListB)List1.ListIndex
C)List1.TextD)List1.Index
(19)设a=4,b=5,c=6,执行语句Printa<bAndb<c后,窗体上显示的是______。
A)TrueB)FalseC)出错信息D)0
(20)执行下列语句
strInput=InputBox("请输入字符串","字符串对话框","字符串")
将显示输入对话框。
此时如果直接单击“确定”按钮,则变量strInput的内容是______。
A)"请输入字符串"B)"字符串列话框"
C)"字符串"D)空字符串
(21)窗体上有Command1、Command2两个命令按钮。
现编写以下程序:
OptionBase0
Dima()AsInteger,mAsInteger
PrivateSubCommand1_Click()
m=InputBox("请输入—个正整数")
ReDima(m)
EndSub
PrivateSubCommand2_Click()
m=InputBox("请输入—个正整数")
ReDima(m)
EndSub
运行程序时,单击Command1后输入整数10,再单击Command2后输入整数5,则数组a中元素的个数是______。
A)5B)6C)10D)11
(22)在窗体上画—个命令按钮和—个标签,其名称分别为Command1和Label1,然后编写如下事件过程:
PrivateSubCommand1_tlick()
Counter=0
Fori=1To4
Forj=6To1Step-2
Counter=Counter+1
Nextj
Nexti
Label1.Caption=Str(Counter)
EndSub
程序运行后,单击命令按钮,标签中显示的内容是______。
A)11B)12C)16D)20
(23)在窗体上画—个名为Command1的命令按钮,然后编写以下程序:
PrivateSubCommand1_Click()
DimM(10)AsInteger
Fork=1To10
M(k)=12-k
Nextk
x=8
PrintM(2+M(x))
EndSub
运行程序,单击命令按钮,在窗体上显示的是______。
A)6B)5C)7D)8
(24)以下关于过程及过程参数的描述中,错误的是______。
A)调用过程时可以用控件名称作为实际参数
B)用数组作为过程的参数时,使用的是“传地址”方式
C)只有函数过程能够将过程中处理的信息传回到调用的程序中
D)窗体(Form)可以作为过程的参数
(25)在窗体上画—个名称为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码:
PrivateXAsInteger
PrivateSubCommand1_Click()
X=5:
Y=3
Callproc(X,Y)
Label1.Caption=X
Label2.Caption=Y
EndSub
PrivateSubproc(aAsInteger,ByValbAsInteger)
X=a*a
Y=b+b
EndSub
程序运行后,单击命令按钮,则两个标签中显示的内容分别是______。
A)25和3B)5和3C)25和6D)5和6
(26)在窗体上有两个名称分别为Text1、Text2的文本框,—个名称为Command1的命令按钮。
运行后的窗体外观如图所示。
设有如下的类型和变量声明:
PrivateTypePerson
nameAsString*8
majorAsString*20
EndType
DimpAsPerson
设文本框中的数据已正确地赋值给Person类型的变量p,当单击“保存”按钮时,能够正确地把变量中的数据写入随机文件Test2.dat中的程序段是______。
A)Open"c:
\Test2.dat"ForOutputAs#1
Put#1,1,p
Close#1
B)Open"c:
\Test2.dat"ForRandomAs#1
Get#1,1,p
Close#1
C)Open"c:
\Test2.dat"ForRandomAs#1ten=ten(p)
Put#1,1,p
Close#1
D)Open"c:
\Test2.dat"ForRandomAs#1Len=Len(p)
Get#1,1,p
Close#1
(27)在窗体上画—个名称为Text1的文本框和—个名为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
Fori=0To50
i=i+3
n=n+1
Ifi>10ThenExitFor
Next
Text1.Text=Str(n)
EndSub
程序运行后,单击命令按钮,在文本框中显示的值是______。
A)2B)3C)4D)5
(28)假定有以下循环结构:
DoUntil条件表达式
循环体
Loop
则以下正确的描述是______。
A)如果“条件表达式”的值是0,则—次循环体也不执行
B)如果“条件表达式”的值不为0,则至少执行—次循环
C)不论“条件表达式”的值是否为“真”,至少要执行一次循环
D)如果“条件表达式”的值恒为0,则无限次执行循环体
(29)在窗体上画—个命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimI,Num
Randomize
Do
ForI=1To1000
Num=Int(Rnd*100)
PrintNum;
SelectCaseNum
Case12
ExitFor
Case58
ExitDo
Case65,68,92
End
EndSelect
NextI
Loop
EndSub
上述事件过程执行后,下列描述中正确的是______。
A)Do循环执行的次数为1000次
B)在For循环中产生的随机数小于或等于100
C)当所产生的随机数为12时结束所有循环
D)当所产生的随机数为65、68或92时窗体关闭、程序结束
(30)在窗体上画—个名为Command1的命令按钮,然后编写如下代码:
OptionBase1
PrivatesubCommand1_Click()
Dima
a=Array(1,2,3,4)
j=1
Fori=4To1Step-1
s=s+a(i)*j
j=j*10
Nexti
Prints
EndSub
运行上面的程序,其输出结果是______。
A)1234B)12C)34D)4321
(31)设有如下通用过程:
PublicFunctionFun(xStrAsString)AsString
DimtStrAsString,strLAsInteger
tStr=""
strL=Len(xStr)
i=1
DoWhilei<=strL/2
tStr=tStr&Mid(xStr,i,1)&Mid(xStr,strL-i+1,1)
i=i+1
Loop
Fun=tStr
EndFunction
在窗体上画—个名称为Command1的命令按钮。
然后编写如下的事件过程:
PrivateSubCommand1_Click()
DimS1AsString
S1="abcdef"
PrintUCase(Fun(S1))
Endsub
程序运行后,单击命令按钮,输出结果是______。
A)ABCDEFB)abcdefC)AFBECDD)DEFABC
(32)某人为计算n!
(0<n<=12)编写了下面的函数过程:
PrivateFunctionfun(nAsInteger)AsLong
DimpAsLong
p=1
Fork=n-1To2Step-1
p=p*k
Nextk
fun=p
EndFunction
在调试时发现该函数过程产生的结果是错误的,程序需要修改。
下面的修改方案中有3种是正确的,错误的方案是______。
A)把p=1改为p=n
B)把Fork=n-1To2Step-1改为Fork=1Ton-1
C)把Fork=n-1To2Step-1改为Fork=1Ton
D)把Fork=n-1To2Step-1改为Fork=2Ton
(33)假定有以下函数过程:
FunctionFun(SAsString)Asstring
Dims1AsString
Fori=1ToLen(S)
s1=LCase(Mid(S,i,1)+s1
Nexti
Fun=s1
EndFunction
在窗体上画—个命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimStr1AsString,Str2AsString
Str1=InputBox("请输入—个字符串")
Str2=Fun(Str1)
PrintStr2
EndSub
程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为______。
A)ABCDEFGB)abcdefgC)GFEDCBAD)gfedeba
(34)为计算an的值,某人编写了函数power如下:
PrivateFunctionpower(aAsInteger,nAsInteger)AsLong
DimpAsLong
p=a
Fork=1Ton
p=p*a
Nextk
power=p
EndFunction
在调试时发现是错误的,例如Printpower(5,4)的输出应该是625,但实际输出是3125。
程序需
要修改。
下面的修改方案中有3个是正确的,错误的—个是______。
A)把Fork=1Ton改为Fork=2Ton
B)把p=p*a改为p=p^n
C)把Fork=1Ton改为Fork=1Ton-1
D)把p=a改为p=1
(35)某人编写了下面的程序
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=InputBox("请输入整数")
b=InputBox("请输入整数")
proa
prob
Callpro(a+b)
EndSub
PrivateSubpro(nAsInteger)
While(n>0)
PrintnMod10;
n=n\10
Wend
EndSub
此程序功能是:
输入2个正整数,反序输出这2个数的每—位数字,再反序输出这2个数之和的每—位数字。
例如:
若输入123和234,则应该输出:
321
432
753
但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改。
下面的修改方案中正确的是______。
A)把过程pro的形式参数nAsInteger改为ByValnAsInteger
B)把Callpro(a+b)改为proa+b
C)把n=n\10改为n=n/lO
D)在prob语句之后增加语句c%=a+b,再把Callpro(a+b)改为proc
二、填空题
(6)在窗体上画—个文本框、—个标签和—个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个事件过程:
PrivateSubCommand1_Crick()
S$=InputBox("请输入—个字符串")
Text1.Text=S$
EndSub
PrivateSubText1_Change()
Label1.Caption=UCase(Mid(Text1.Text,7))
EndSub
程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串
“VisualBasic”,则在标签中显示的内容是【6】。
(7)在窗体上画—个命令按钮,其名称为Command1,然后编写如下事件过程:
PrivateSubCommand1_Click()
a$="NationalComputerRankExamination"
n=Len(a$)
s=0
Fori=1Ton
b$=Mid(a$,i,1)
Ifb$="n"Then
s=s+1
EndIf
Nexti
PrintS
EndSub
程序运行后,单击命令按钮,输出结果是【7】。
(8)为了在运行时把d:
\pic文件夹下的图形文件a.jpg装入图片框Picture1,所使用的语句为【8】。
(9)设有如下程序:
PrivateSubForm_Click()
Cls
a$="ABCDFG"
Fori=1To6
PrintTab(12-i);【9】
Nexti
EndSub
程序运行后,单击窗体,结果如图所示,请填空。
(10)在窗体上画—个命令按钮,其名称为Command1,然后编写如下代码:
OptionBase1
PrivateSubCommand1_Click()
DimArr
Arr=Array(43,68,-25,65,-78,12,-79,43,-94,72)
pos=0
neg=0
Fork=1To10
IfArt(k)>0Then
【10】
Else
【11】
EndIf
Nextk
Printpos,neg
EndSub
以上程序的功能是,计算并输出数组Arr中10个数的正数之和pos与负数之和neg,请填空。
(11)在窗体上画—个名为Command1的命令按钮,然后编写如下程序:
PrivateSubCommand1_Click()
DimiAsInteger
Sum=0
n=InputBox("Enteranumber")
n=Val(n)
Fori=1Ton
Sum=【12】
Nexti
PrintSum
EndSub
Functionfun(tAsInteger)AsLong
p=1
Fori=1Tot
p=p*i
Nexti
【13】
EndFunction
以上程序的功能是,计算1!
+2!
+3!
+...+n!
,其中n从键盘输入,请填空。
(12)在窗体上画—个文本框,名称为Text1,然后编写如下程序:
PrivateSubForm_Load()
Open"d:
\temp\dat.txt"ForOutputAs#1
Text1.Text=""
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
IfUCase(Text1.Text)=【14】Then
Close#1
End
Else
Write#1,【15】
Text1.Text=""
EndIf
EndIf
EndSub
以上程序的功能是:
在D盘temp文件夹下建立—个名为dat.txt的文件,在文本框中输入字符,每次按回车键都把当前文本框中的内容写入文件dat.txt,并清除文本框中的内容;如果输入“END”,则不写入文件,直接结束程序。
请填空。
2008年9月二级笔试试卷
参考答案及评析
一、选择题
(11)A
[知识点]编写简单的VisualBasic应用程序
[评析]启动VB后,屏幕上分为若干部分,包括标题栏、菜单栏、工具栏、工具箱、窗体设计器窗口、工程资源管理器窗口、窗体布局窗口和属性窗口。
其中双击窗体的任何地方将打开代码窗口,故选项A正确。
选项B属性窗口,可以点击视图条形菜单中的属性窗口或者按F4键来显示属性窗口。
选项C工程资源管理器窗口可以点击视图条形菜单中的工程资源管理器窗口或者按CTRL+R显示工程资源管理器窗口。
选项D工具箱窗口可以点击视图菜单中的工具箱菜单项显示工具箱窗口。
因此选项A正确。
(12)D
[知识点]常量和变量
[评析]在VisualBasic中如果一个变量未被显式定义,末尾也没有类型说明符,则被隐含地说明为变体类型(Variant)变量。
因此选项D正确。
(13)C
[知识点]数据类型
[评析]VB的数值型数据分为整型数和浮点数两类。
其中整型数又分为整数(Integer)和长整数(Long),浮点数分为单精度浮点数(Single)和双精度浮点数(Double)。
(1)整型数:
整型数是不带小数点和指数符号的数,在机器内部以二进制补码形式表示。
(2)浮点数:
浮点数也称实型数或实数,是带有小数部分的数值。
它由3部分组成:
符号、指数及尾数。
本题中3.14159是一个实数,必须定义为浮点数,即单精度浮点数(Single)或双精度浮点数(Double),所以选项C正确。
选项A定义为整型数、选项D定义为长整型,而3.14159是一个带有小数位的数,所以不能定义为整数,选项A、D错误。
选项B“pi(7)”定义了一个名为pi的一维数组,所以选项B不正确。
(14)B
[知识点]算术运算符的优先级
[评析]算术运算符中的运算次序是:
幂(^)→取负(-)→乘、浮点除(*、/)→整除(\)→取模(Mod)→加、减(+、-)→连接(&),当乘法和除法同时出现在表达式中时,将按照它们从左到右出现的顺序进行计算。
本题中首先计算3^2,结果为9,此时,表达式2*3^2+4*2/2+3^2=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。
(15)D
[知识点]字符串函数
[评析]Mid(字符串,p,n):
从第p个字符开始,向后截取n个字符。
这里的字符串可以是字符串常量、字符串变量或字符串函数或字符串连接表达式,p和n都是算术表达式。
Mid函数的第三个自变量可以省略。
在这种情况下,将从第二个自变量指定的位置向后截取到字符串的末尾。
Right(字符串n):
返回“字符串”的最后n个字符。
字符串和n的含义同Mid函数中相同。
Left(字符串n):
返回“字符串”的前n个字符。
字符串和n的含义同Mid函数中相同。
选项A中Mid("VBProgram",3,7),对字符串"VBProgram",从第3个字符开始,向后截取7个字符,输出为字符串"Program"。
选项B中Right("VBProgram",7),返回字符串"VBProgram"中最后的7个字符,输出为字符串"Program"。
选项C中Mid("VBProgram",3),对字符串"VBProgram",从第3个字符开始,向后截取到字符串的末尾,输出字符串"Program"。
选项D中Left("VBProgram",7),返回字符串"VBProgram"中前7个字符,输出为字符串"VBProgr"。
(16)B
[知识点]框架
[评析]框架Ftame的属性包括Enable、FontBold、FontName、FontUnderLine、Heighht、Left、Top、Visible、Width。
此外,Name属性用于在程序代码中标识一个框架,而Caption属
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级VISUAL BASIC真题 二级 VISUAL BASIC