VB第23次试题Word格式文档下载.docx
《VB第23次试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VB第23次试题Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。
4、以下的准则中哪个不是面向对象软件设计应遵循的(14)。
14(A)抽象准则(B)独立性准则
(C)信息屏蔽准则(D)模块化准则
5、需求分析中开发人员主要从用户那里了解(15)。
15(A)软件做什么(B软件的结构
(c)输入的信息(D)软件的测试
VB程序设计试卷共12页第1页
第二部分
VisualBasic语言程序设计
(共85分)
一、单项选择题(每小题1分,共10分)
1.在下列字符串中,不能用作VB变量名的是(16)。
16(A)8_num(B)instr6(C)xy_int(D)f8
2.x是一个正实数,如果要四舍五入并保留两位小数,则正确的表达式为(17)。
17(A)0.01*Int(x+0.005)(B)0.01*Int(100*x+0.5)
(C)0.01*Int(100*x+0.05)(D)0.01*Int(x+0.05)
3.正确表达命题“x和y都大于z”的表达式是(18)
18(A)x>
z(B)y>
z
(C)x>
zAndy>
z(D)x>
zOry>
4.若字符串stra$和strb$的取值为
stra$="
Ilovemymother"
strb$=Mid(stra,7,3)+Right(stra,6)
则InStr(3,strb,"
m"
)的函数值为(19)。
19(A)4(B)2(C)0(D)1
5.如果要暂时关闭某个定时器,则必须通过设置其(20)属性为False来实现。
20(A)Timer(B)InterVal
(C)Enabled(D)Visible
6.在下列控件中,不接受焦点的是(21)
21(A)Lable(B)Command
(C)Text(D)Listbox。
7.在VB中,要将一个窗体从内存中释放,应使用的语句是(22)。
22(A)Show(B)Hide(C)Load(D)Unload
8.建立弹出式菜单的方法是(23)。
23(A)PopupMenu(B)ShowMenu
(C)LoadMenu(D)A、B、C都可以
VB程序设计试卷共12页第2页
9.以下关于Click事件描述中,错误的说法是(24)
24(A)此事件是在一个对象上按下然后释放一个鼠标按钮时发生
(B)如果在Click事件中有代码,则DlbClick事件将永远不会被触发
(C)此事件也会发生在一个控件的值改变时
(D)对Form对象来说,该事件是在单击一个空白区或无效控件时发生
10.下面子过程语句合法的是(25)。
25(A)FunctionFun%(Fun%)(B)SubFun(m%)AsInteger
(C)FunctionFun(ByValm%)(D)SubFun(Fun)
二.阅读分析程序(每个选择3分,共45分)
1.程序如下
PrivateSubForm_Click()
DimxAsInteger,sxAsInteger,nAsInteger
RandomizeTimer
x=Int(Rnd*5)+11
Fori=2Tox
n=Int(Sqr(i))
Forj=2Ton
IfiModj=0ThenExitFor
Nextj
Ifj>
nThensx=sx+i
Nexti
Printsx
EndSub
(1)程序运行时,该程序中整数x的值的范围是(26)。
26(A)11~16之间(B)11~15之间
(C)5~16之间(D)5~15之间
(2)变量sx中存放的数是(27)
27(A)2~x之间的所有素数之和(B)2~x之间的所有奇数之和
(C)2~x之间的所有偶数之和(D)2~x之间的所有数值之和
(3)假设x的值为14,则程序的运行结果是(28)。
28(A)41(B)48(C)56(D)104
VB程序设计试卷共12页第3页
2.程序如下
PrivateSubCommand1_Click()
DimnAsInteger
DimrAsLong
n=Val(InputBox("
请输入一个数"
))
r=fun(n)
Picture1.Printr,n
EndSub
Functionfun(ByValnumAsInteger)AsLong
DimkAsInteger
k=1
num=Abs(num)
DoWhilenum
k=k*(numMod10)
num=num\10
Loop
fun=k
EndFunction
(1)当程序运行时,如输入74,则输出结果为(29)。
29(A)2874(B)280
(C)4774(D)470
(2)如果将程序中的语句“Functionfun(ByValnumAsInteger)AsLong”改为“Functionfun(numAsInteger)AsLong”后,再输入74,则输出结果为(30)
30(A)2874(B)280
(3)该程序在窗体上至少设置了几个控件?
(31)
31(A)一个(B)二个
(C)三个(D)四个
3.程序如下
OptionBase1
PrivateSubCommand1_Click()
DimnAsInteger
VB程序设计试卷共12页第4页
n=12
ReDima(n)
a=Array(45,2,7,1,13,42,98,0,65,33,0,0)
Callfun(a(),n)
Printa(11),a(12)
Subfun(b(),mAsInteger)
mx=1
mn=1
PrintUBound(b)
Fork=2Tom-2
Ifb(k)>
b(mx)Thenmx=k
Ifb(k)<
b(mn)Thenmn=k
Nextk
b(m-1)=b(mk)
b(m)=b(mn)
(1)语句PrintUBound(b)的结果是(32)
32(A)13(B)12(C)11(D)10
(2)程序运行后,a(11)的结果为(33)
33(A)0(B)12(C)45(D)98
(3)程序运行后,a(12)的结果为(34)
34(A)0(B)45(C)65(D)98
4.程序界面如下:
VB程序设计试卷共12页第5页
PrivateTypestu
namAsString
score(3)AsSingle
EndType
Dimstudent()Asstu
ReDimstudent(List1.ListCount-1)
Open"
成绩.dat"
ForRandomAs#1
Fori=0ToList1.ListCount–1
student(i).nam=List1.List(i)
Forj=1To3
student(i).score(j)=Int(Rnd*101)
Put#1,,student(i)
Close
PrivateSubCommand2_Click()
DimstAsstu
DoUntileEOF
(1)
Get#1,,st
Picture1.Printst.nam;
Picture1.Printst.score(j);
Picture1.Print
PrivateSubForm_Load()
List1.AddItem"
郑明"
李琴"
List1.AddItem"
王强"
刘乐"
胡兵"
VB程序设计试卷共12页第6页
(1)以下描述错误的是(35)
35(A)student是一个用户自定义的类型的动态数组
(B)stu是一个用户自定义的类型
(C)score是一个用户自定义的类型的动态数组
(D)student
(2).nam的值为王强
(2)Command1的单击事件的功能为(36)
36(A)从list1读学生姓名,然后从随机文件"
中读出对应各科成绩。
(B)从list1读学生姓名,并自动生成各门课程成绩,然后写入随机文件"
。
(C)打开随机文件"
后自动生成学生姓名和各门课程成绩。
(D)打开随机文件"
删除某些记录。
(3)程序中Get语句的作用为(37)
37(A)读数据(B)写数据
(C)修改数据(D)没有固定作用
5.程序如下
Dimx0%,y0%
PrivateSubpicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=1Then
x0=X:
y0=Y
ElseIfButton=2Then
x0=0:
y0=0
ElseIfButton=4Then
Cls
EndIf
PrivateSubpicture1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
rad=Rnd*2
picture1.PSet(x0,y0)
picture1.Circle(x0,y0),Sqr((x0-X)^2+(y0-Y)^2),,,,rad
VB程序设计试卷共12页第7页
picture1.Line(x0,y0)-(X,Y),,B
(1)程序执行时,在picture1上按下鼠标左键,然后移动一定距离后释放,则(38)
38(A)将清除picture1上的所有图形和文字
(B)将画出一个以鼠标按下点为圆心的椭圆
(C)将画出一个以鼠标按下点为圆心,鼠标按下点到释放点间距离为半径的圆
(D)将画出一个以鼠标按下点为圆心的扇形
(2)程序执行时,在picture1上单击鼠标右键,则(39)
39(A)将画出一个以点(0,0)到点(x,y)的直线为对角线的空心矩形
(B)将画出一个以点(0,0)到点(x,y)的直线为对角线的实心矩形
(C)将画出一条自(0,0)点到鼠标释放点(x,y)的直线
(D)将清除窗体上的所有图形和文字
(3)程序执行时,在窗体上单击鼠标中键,则(40)
40(A)将清除picture1上的所有图形和文字
(B)将清除窗体上的所有图形和文字
(C)窗体无变化
(D)将出现黑屏
三、程序填空(每空2分,共30分)
1.根据以下公式求e的近似值,要求其误差小于0.000001。
请填空完善程序。
PrivateSubForm_Click()
DimiAsInteger,jAsInteger,nAsLong
DimtAsSingle,eAsSingle
e=0
i=0
n=1
t=1
VB程序设计试卷共12页第8页
DoWhile①
e=e+t
i=i+1
n=1
Forj=1Toi
②
Nextj
t=1/n
③
Printe
2.下列程序的功能是:
单击窗体,在窗体上输出如下结果,请填空。
Dima(6,6)AsInteger
DimiAsInteger,jAsInteger
Fori=1To6
Forj=1To6
Ifi=jOrj=1Then
a(i,j)=1
ElseIfi>
jThen
①
Else
②
PrintTab(6*j);
a(i,j);
Nextj
Print
VB程序设计试卷共12页第9页
Nexti
Print
3.程序界面如下,该程序的功能是单击“查找”按钮后,寻找11~999之间满足条件的数n,它满足n、n2均为回文数(逆序排列后数值不变),并且将数n、n2分别在List1、List2中对应输出。
请完善程序。
Dimi#,j#,k#,n%
Fori=11To999
j=i^2
If①Then
List1.AddItemi
List2.AddItemj
EndIf
Nexti
FunctionIsHui(i#)AsBoolean
DimlenN%,j%,s$,flagAsBoolean
s=Trim(Str(i))
lenN=Len(s)
Forj=1TolenN\2
If③Then
flag=False
VB程序设计试卷共12页第10页
ExitFunction
EndIf
Nextj
IsHui=flag
4.程序界面如下,程序的功能是:
单击“统计”按钮后,统计文本文件“data.txt”中各种字母(不区分大小写)出现的次数,将统计结果存放在数组intCount中(字母“A”的次数存入intCount[1],字母“B”的次数存入intCount[2]……,依此类推),并将出现次数大于1的字母及次数显示在picture1中。
要求按照每行6个的格式输出。
Cls
Dimnum%,intCount%(26),cAsString*1
Open"
data.txt"
ForInputAs#1
DoUntilEOF
(1)
①
c=UCase(c)
Ifc>
="
A"
Andc<
Z"
Then
②
intCount(j)=intCount(j)+1
EndIf
VB程序设计试卷共12页第11页
Loop
Forj=1to26
If③Then
Picture1.PrintChr$(j+64);
"
="
;
intCount(j);
num=num+1
④
5.以下程序的功能是:
建立名为“test.txt”的顺序文件。
文件内容来自文本框Text1,每当按下回车键(Enter)写入一条记录,然后清除文本框的内容;
当单击命令按钮Command1时程序结束。
PrivateSubForm_Load()
①
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Print#1,Text1.Text
②
Close#1
③
VB程序设计试卷共12页第12页