春季秋季春季江苏二级VB等级考试真题与参考答案.docx
- 文档编号:30079935
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:36
- 大小:28.83KB
春季秋季春季江苏二级VB等级考试真题与参考答案.docx
《春季秋季春季江苏二级VB等级考试真题与参考答案.docx》由会员分享,可在线阅读,更多相关《春季秋季春季江苏二级VB等级考试真题与参考答案.docx(36页珍藏版)》请在冰豆网上搜索。
春季秋季春季江苏二级VB等级考试真题与参考答案
2009年春江苏计算机等级考试二级vb试卷
第二部分VisualBasic程序设计
一、选择题(用答题卡答题,答案依次填在21—30答题号内)
21.在列表框Listl中有若干列表项,可以删除选定列表项的语句是(21)。
A.List1.text=""B.List1.List(Listl.ListIndex)=""
C.List1.ClearD.List1.RemoveItemList1.ListIndex
22.执行22语句时,会出现出错提示信息。
A.Print5+7=14B.Print16384*2
C.Print32768*2D.Print"14"+32
23.数学表达式对应的VB表达式是(23)。
A。
(e^(2*∏*x—5)*Log(x)+(Sin(2x))^3)/Sqr(Sin(x)-Cos(x^2))
B.(Exp(2*3.14159*x一5)*Log(x)+(Sin(2*x))^3)/Sqr(Sin(x)一Cos(x^2))
C.(Exp(2*∏*x—5)*Ln(x)+(Sin(2*x))^3)/Sqr(Sin(x)—Cos(x^2))
D.e^(2*3.14159*x一5)*Ln(x)+(Sin(2*x))^3)/Sqr(Sing(x)—Cos(x^2))
24.以下关于数组的说法中,错误的是(24)。
A.使用了Preserve予句的ReDim语句,只允许改变数组最后一维的上界
B.对于动态数组,ReDim语句可以改变其维界但不可以改变其数据类型
C.Erase语句的功能只是对固定大小的数组进行初始化
D.LBound函数返回值是指定数组某一维的下界
25.下列有关过程的说法中,错误的是(25)。
A.在Sub或Function过程内部不能再定义其它Sub或Function过程
B.对于使用ByRef说明的形参,在过程调用时形参和实参只能按传址方式结合
C.递归过程既可以是递归Function过程,也可以是递归Sub过程
D.可以像调用Sub过程一样使用Call语句调用Function过程
26.以下有关对象属性的说法中,错误(26)。
A.工具箱中的控件并不是VB中所有的控件
B.若将Frame的Enabled属性设置为False,则不能使用放置在Frame里面的控件
C.对象的Name属性在运行时不能改变
D.对象的所有属性都可以在属性窗口中设置
27.以下关于变量作用域的叙述中,正确的是:
(27)。
A.窗体中凡用Private声明的变量只能在某个指定的过程中使用
B.模块级变量只能用Dim语句声明
C.凡是在窗体模块或标准模块的通用声明段用Public语句声明的变量都是全局变量
D.当不同作用域的同名变量发生冲突时,优先访问局限性小的变量
28.表达式CInt(4.5)+CInt(-4.51)+Int(4.9)+Int(-4.1)+Fix(-1.9)+0Mod2的运算结果是(28)
A.1B.-1C.-2D.-3
29.若要使逻辑表达式x>yXorY结果为True,则x、Y、z的取值应为下列选项中的(29)。
A.X=3、Y=3、Z=4B.X=2、Y=1、Z=2
C.x=1、Y=3、Z=2D.x=2、Y=2、Z=2
30.在一个多窗体程序中,可以仅将窗体Form2从内存中卸载的语句是(30)。
A.Form2.UnloadB.UnloadForm2C.Form2.EndD.Form2.Hide
二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)
1.执行下面程序,单击Commandl,则图片框中显示的第一行是
(1),显示的第二行是
(2),最后一行显示的是(3)。
PrivateSubCommand1_Click()
Dima(3,3)AsInteger
DimiAsInteger,jAsInteger
Fori=1To3
Forj=3To1Step-1
Ifi>=jThen
a(i,j)=i-j
Else
a(i,j)=j-i
EndIf
Nextj
Nexti
Fori=1to3
Forj=3To1Step-1
Picture1.Printa(i,j);
Nextj
Picturel.Print
Nexti
EndSub
2.运行下面程序,如果连续三次单击命令按钮之后,A数组共有(4)个元素;数组元素A
(2)的值是(5),A(5)的值是(6)
OptionExplicit
OptionBasel
PrivateSubCommand1_Click()
StaticA()AsInteger,NAsInteger
DimIAsInteger,KAsInteger
K=N
N=N+2
ReDimPreserveA(N)
ForI=K+1ToN
A(I)=I*N+1
NextI
ForI=1ToN
PrintA(I);
NextI
EndSub
3.运行下面的程序,单击commandl,在窗体上显示的变量A的值为(7),变量B的值为(8)
OptionExplicit
DimAAsInteger
PrivateSubCommand1_Click()
DimBAsInteger
B=3
A=4
B=Fun(Fun(A,B+2),A)+B
PrintA,B
EndSub
PrivateFunctionFun(NAsInteger,KAsInteger)
N=N+A
K=N-K
Fun=N+K+A
EndFunction
4.执行下面的程序,单击command1,窗体上显示的第一行是(9),第二行是(10),第四行是(11),最后一行是(12)
OptionExplicit
PrivateSubCommand1_Click()
DimnAsInteger
n=5
Calltest(n)
Printn
EndSub
PrivateSubtest(ByValnAsInteger)
DimiAsInteger,SAsString
Ifn>0Then
Fori=lTon
S=S&CStr(i)
Nexti
PrintS
Calltest(n-2)
Else
Print"0VER"
EndIf
EndSub
5.运行下列程序,单击Command1,在窗体上显示的第一行内容是(12),第二行的内容是(14),第三行的内容是(15)("A"的ASCII码是65,"z"是90)
OptionExplicit
PrivateSubCommandl_Click()
DimiAsInteger,stAsString,nAsInteger,pAsString*1
P="B"
Fori=3To1Step-1
n=Asc(p)-i
Ifn<65Thenn=n+26
st=Chr(n)
st=st&F(i)
Printst
Nexti
EndSub
PrivateFunctionF(nAsInteger)
DimiAsInteger
StaticSAsInteger
Fori=1Ton
s=s+i
Nexti
F=S
EndFunction
6用以下公式求f(x)的值。
当通项的绝对值小于10^-7时停止计算,x的值由键盘输入。
f(x)=a1x1-a2x2+a3x3-…+(-1)n+1anxn+…|X|1其中a1=1,a2=2,an=,n=3,4,5…
OptionExplicit
PrivateSubCommandl_Click()、
DimxAsSingle,fxAsSingle
DimaAsSingle,a1AsSingle,a2AsSingle
DimtAsSingle
a1=l:
a2=2
x=text1
If(16)Then
MsgBox("x必须在-1---1之间")
ExitSub
EndIf
fx=a1*x-a2*x*x
t=(-1)*x*x
DO
a=1/(al+a2)
t=(-1)*x*x
fx=(17)
al=a2
(18)
LoopUntilAbs(a*t)<0.0000001
Text2=fx
EndSub
7.学生的某次课程测验中,选择题的答案已记录在列表框list1中,其数据行格式是:
学号为6个字符长度,2个空格,选择题的答案为15个字符长度,程序根据标准答案进行批改,每答对一题给1分,并将得分存放到列表框list1中,标准答案存放在变量Exact中。
OptionExplicit
PrivateSubCommand1_click()
DimAnwasstring,StudIdasstring
DimScorasInteger,Exactasstring
DimIasInteger,Jasinteger
Exact=”ABCCBAACBBDCCDA”
ForI=(19)
Anw=(20)
StudId=Left(Anw,6)
Anw=Right(Anw,Len(Anw)-8)
(21)
ForJ=1toLen(Anw)
If(22)Then
Scor=Scor+1
EndIf
NextJ
List2.AddItemStudId&““&Scor
NextI
EndSub
8.下面程序的功能是:
统计存放在数组A中的N个数有多少个是不同的。
具体做法是:
变量Left指向要被处理的数(从第2个元素开始),Right指向数组最后一个元素。
若A(Left)与排在它前面的某个数组元素值相同,就用数组元素A(Right)的值来替换A(Left)的值,同时将变量Right的值减1;否则将变量Left的值加1,处理数组下一个元素,重复以上过程,直到Left>Right为止。
Right的值即为不同的数的个数。
OptionExplicit
OptionBase1
PrivateSubCommandl_Click()
DimA()AsInteger,NAsInteger,IASInteger
DimOPAsInteger
N=InputBox("请输入数据个数",,10)
ReDimA(N)
Randomize
ForI=1ToN
A(I)=Int(Rnd*10)+1
Text1=Text1&A
(1)&""
NextI
CallStatistic(A,OP)
Text2="有"&oP&"个不同的数:
"
ForI=1ToOP
Text2=Text2&A(I)&""
NextI
EndSub
PrivateSubStatistic(A()AsInteger,RightAsInteger)
DimLeftAsInteger,KAsInteger,IAsInteger
Right=(23)
Left=2
DoWhileLeft<=Right
K=(24)
ForI=KTo1Step-1
IfA(Left)=A(I)ThenExitFor
NextI
If(25)Then
Left=Left+1
Else
A(Left)=A(Right)
(26)
EndIf
Loop
EndSub
9.在计算机中用一个字节(8位),来存储一个字符的Ascii码,其中低7位二进制数对应字符的编码,每个字节的最高位一般保持为”0”,在数据传输时可用作奇偶校验位,传输时Ascii代码转换成传输码的方法是:
若7位Ascii码有偶数个1,最高位为1,有奇数个1,则最高位为0,例如字母”A”的Ascii码十进制表示为65,二进制表示为00100001。
”A”的传输码则为”10100001”,本程序的功能就是把Ascii码转换成这种传输码
OptionExplicit
PrivateSubCommandl_Click()
DimiAsInteger,SAsString
DimstrAsString,chAsString
str=Text1.text
Fori=1ToLen(str)
(27)
Callconvert(ch,s)
List1.AddItemch&"==>"&S
Nexti
EndSub
PrivateSubconvert(chAsString,SAsString)
DimmAsInteger,kAsInteger,nAsInteger,iAsInteger
s=(28)
n=Asc(ch)
DoWhilen>0
(29)
S=m&S
Ifm=1Then
k=k+1
EndIf
n=n\2
Loop
Fori=1To7-Len(s)'将字符的二进制代码补足7位
S="0"&S
Nexti
IfkMod2=0Then
(30)
Else
S="0"&S
EndIf
EndSub
2009年(春)笔试答案
第一部分计算机基础知识
一、选择题
(1)D
(2)B(3)B(4)D(5)B
(6)D(7)A(8)C(9)D(10)A
(11)B(12)A(13)A(14)C(15)C
(16)B(17)C(18)A(19)A(20)C,
第二部分VisualBasic程序设计
一、选择题
(21)D(22)B(23)B(24)C(25)B
(26)D(27)C(28)D(29)A(30)B
二、填空题
(1)210
(2)101
(3)012(4)6
(5)5(6)31
(7)19(8)68
(9)12345(10)123
(11)OVER(12)5
(13)Y6(14)Z9
(15)A10(16)Abs(x)>=1
(17)fx+a*t(18)a2=a
(19)0ToListl.ListCount-1(20)Listl.List(I)
(21)Scor=0(22)Mid(Anw,J,1)=Mid(Exact,J,1)
(23)UBound(A)(24)Left-1
(25)I=0(26)Right=Right-1
(27)ch=Mid(str,i,1)(28)""
(29)m=nMod2(30)s="1"&s
2009秋季江苏二级VB等考试题
第二部分:
vb程序设计
21.要将焦点设置在某个控件上,以下四个选项中正确的是________
A.只能使用鼠标直接点击该控件
B.只能使用Tab键将焦点移到该控件
C.只能在程序中调用该控件的setfocus方法
D.A、B、C三选项中涉及的方法均可用
22.在下列属性中,属于CommandButton控件、ListBox控件共有的是(22)。
A.Caption、TextB.Visible、Font
C.Caption、VisibleD.List、Visible
23.数学表达式对应的visualBasic表达式是(23)。
A.Sin(30*3.14159/180)+Sqr(Log(x)+y)/2*3.14159+Exp(x+y)
B.(Sin(30*/180)+sqr(Ln(x)+y))/(2*+Exp(x+y))
C.Sin(30*180/3.14159)+Sqr(Log(x)+y)/(2*3.14159+e^(x+y))
D.(Sin(30*3.14159/180)+Sqr(Log(x)+Y))/(2*3.14159+Exp(x+y))
24.下列的关系表达式中,运算结果为True的是(24)。
A.CInt(1.5)=Int(1.5)B.Fix(1.5)=Int(1.5)
C.Fix(-1.5)=CInt(-1.5)D.Fix(-1.5)=Int(-1.5)
25.下列有关数组的叙述中,不正确的是(25)。
①在过程中用ReDim语句定义的动态数组,其下标的上下界可以是变量
②数组作为形式参数时,传递的是每个数组元素的值
③在窗体模块的通用声明处可以用Public说明一个全局数组
④数组定义语句中可以用负数或小数来指定某一维的维下界或维上界的值
A.②③B.①③④c.①②③④D.③④
26.以下关于文件的叙述中,错误的是(26)。
A用Output模式打开一个顺序文件,即使不对它进行写操作,原来的内容也被清除
B.可以用Print#语句或Write#语句将数据写到顺序文件中
C若以Output、Append、Random、Binary方式打开一个不存在的文件,系统会出错
D.顺序文件或随机文件都可以用二进制访问模式打开
27.下列有关控件数组的说法中,错误的是(27)。
A控件数组由一组具有相同名称和相同类型的控件组成,不同类型的控件无法组成控件数组
B.控件数组中的所有控件不得具有各自不同的属性设置值
C.控件数组中的所有控件共享同一个事件过程
D.控件数组中每个元素的下标由控件的Index属性指定
28.以下Case语句中,能正确描述Y的绝对值大于6的是(28)。
A.CaseAbs(Y)>6B.Case-6To6
C.CaseNot(-6To6)D.CaseIs<-6,Is>6
29若在模块中用PrivateFunctionFun(AAsSingle,BAsInteger)As
Integer定义了函数Fun。
调用函数Fun的过程中定义了I、J和K三个Integer型变量,则下列语句中不能正确调用函数Fun的语句是(29)。
A.Fun3.14,JB.CallFun(I,365)C.Fun(I),(J)D.K=Fun("24”,”35”)
30若需要在同一窗体内安排两组相互独立的单选按钮(OptionButt.Dn),可使用(30)控件做容器将它们分开。
①TextBox②PictureBox③Image④Frame
A.①或②B.②或③c.②或④D.③或④
二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)
1.执行下面程序,单击Commandl,则数组元素a(1,2)的数值是
(1),a(2,3)的数值是
(2),a(4,3)的数值是(3)。
OptionExplicit
PrivateSubCommandl_Click()
Dima(4,4)AsInteger,iAsInteger
DimjAsInteger,kAsInteger,nAsInteger
n=6:
k=2
Do
Fori=1To4
Forj=1To4
Ifi+j=kThen
a(i,j)=n
n=n-1
EndIf
Nextj
Nexti
k=k+1
LoopUntilk>8
Fori=1To4
Forj=1To4
printRight(““&a(i,j),3);
Nextj
Nexti
EndSub
2.执行下面程序,单击Commandl,窗体上显示的第一行是(4),第三行是(5),最后一行是(6)。
.
OptionExplicit
PrivateSubCommandl_Click()
DimiAsInteger,sAsInteger
Fori=1To9Step3.
s=fun((i))+fun(i)
Prints
Nexti
EndSub
PrivateFunctionfun(mAsInteger)AsInteger
StaticaAsInteger
IfmMod2=0then
a=a+1
m=m+1
Else
a=a+2
m=m+2
EndIf
fun=a+m
Printfun
EndFunction
3.运行下面的程序,单击Commandl,窗体上显示的第一行是(7),第二行(8),最后一行是(9)。
OptionExplicit
PrivateSubCommandl_Click()
DimaAsInteger
DimbAsInteger
a=1
b=2
Printfun((a+2),fun(2*a,b))
Printa;b
EndSub
PrivateFunctionfun(xAsInteger,ByValyAsInteger)AsInteger
x=x+2
y=x-y+3
fun=x+y
Printx;y;fun
EndFunction
4.执行下面的程序,单击Commandl,窗体上显示的第二行是(10),第三行(11),第四行是(12)。
OptionExplicit
PrivateSubCommand1_Click()
DimNAsInteger,KAsInteger
N=36:
K=5
PrintTrans(N,K)
EndSub
PrivateFunctionTrans(NAsInteger,KAsInteger)AsString
DimRAsInteger
IfN<>0Then
R=NModK
IfR<10Then
Trans=Trans(N\K,K)&R
PrintN
Else
Trans=Trans(N\K,K)&Chr(55+R)
EndIf
EndIf
EndFunction
5.运行下列程序,单击Commandl,窗体上显示的第一行内容是(13),第二行的内容是(14),第三行的内容是(15)。
OptionExplicit.
PrivateSubCommandl_Click()
DimsAsString,kAsInteger
DimkeyAsStrin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 春季 秋季 江苏 二级 VB 等级 考试 参考答案