vb期末考试题B.docx
《vb期末考试题B.docx》由会员分享,可在线阅读,更多相关《vb期末考试题B.docx(10页珍藏版)》请在冰豆网上搜索。
vb期末考试题B
2006~2007学年第二学期
《VisualBasic程序设计》期末考试题(B卷)
一.单选题(每小题1分,共30分)
1.程序运行过程中始终保持不变的是()。
A.数组B.表达式C.常量D.变量一个对象可
2.条件表达式的结果是一个()数据。
A.数值型B.字符型C.日期型D.逻辑型
3.要使标签控件显示时不覆盖其背景内容,要设置下列哪一个属性()。
A.BackColorB.BorderStyleC.ForeColorD.BackStyle
4.要判断在文本框中是否按了Enter键,应在文本框的什么事件中判断()。
A.ChangeB.KeyDownC.GotFocusD.KeyPress
5.如果x是一个已声明的整型变量,则执行赋值语句x=”3”+5之后,变量x的值是什么()。
A.35B.8C.2D.出错
6.引用列表框(List1)最后一个数据项应使用的命令是()。
A.List1.List(list1.listCount)B.List1.List(list1.listCount-1)
C.List1.List(listCount)D.List1.List(listCount-1)
7.下列程序段运行后,显示的结果是()。
DimxAsBoolean
IfxThenPrintxElsePrintx+1
A.1 B.0 C.2 D.错误信息
8.下面可作为VisualBasic变量名的是()。
A.$abcB.B#CC.8abcD.constB
9.使用()方法可以向列表框中添加项目。
A.AddItemB.ClearC.RemoveItemD.SetFocus
10.将条件“X是小于100的非负数”用VB的表达式表示为()。
A.0≤X<100B.0〈=X〈100
C.0〈=XANDX〈100D.0〈=XORX〈100
11.字符串运算符是()。
A.NotB.&C.ModD.>=将数学表达式
12.设有如下变量声明:
DimNowDateAsDate,则给变量NowDate赋值正确的表达式是()。
A.NowDate=#6/6/2003#B.NowDate=#"6/6/2003"#
C.NowDate=Date("6/6/2003")D.NowDate=Format("m/d/yy","6/6/2003")
13.表达式33MOD17-10\3*Sgn(10)的值是()。
A.-14B.13C.12D.0
14.下面的运算符中优先级最高的是()。
A.AndB.>=C.*D.&
15.如果x是一个正实数,对x的第二位小数四舍五入的表达式是()。
A.Int(x+0.05)B.0.1*Int(10*(x+0.05))
C.0.01*Int(100*(x+0.5))D.Int(x+0.5)
16.以下声明变量的语句中错误的是()。
A.DimVar1=’ABC’B.ConstVar2=123
C.DimVar3AsIntegerD.StaticVar4AsInteger
17.窗体模块保存在一个扩展名为()的文件中。
A.bas B.cls C.frm D.bmp
18.当文本框的()属性为True时,该文本框能够显示多行文字。
A.ValueB.TabIndexC.IndexD.MultiLine
19.下列控件中不能改变大小的是()。
A.Text1BoxB.LabelC.TimerD.PictureBox
20.执行以下程序段输出结果为()。
a$="abbacddcba"
Fori=6To2Step-2
X=Mid(a,i,i)
Y=Right(a,i)
z=UCase(X&Y)
Nexti
Printz
A.ABA B.BBBA C.ABBABA D.AABAAB
21.下面哪一项不是结构化程序设计的基本结构()。
A.过程结构B.顺序结构C.选择结构D.循环结构
22.下列数组声明语句中正确的是()。
A.Dima[3,4]Asinteger B.Dima(3,4)AsInteger
C.Dima(n,n)Asinteger D.Dima(34)AsInteger
23.VB的应用程序中,决定程序流向的是()。
A.对象B.方法C.属性D.事件
24.在窗体模块的通用变量声明区中通过Dim声明的变量()。
A.可以在不同窗体的过程中使用。
B.可以在工程之间使用。
C.只能在该窗体模块的某一个过程中使用。
D.在该窗体模块的所有过程中都可以使用。
25.VB采用()的编程方法。
A.面向对象B.面向过程C.面向问题D.面向用户
26.执行下面的程序段后,x的值为()。
x=5
Fori=10To1Step-2
x=x+int(i/5)
Nexti
A.6B.7C.8D.10
27.在列表框中当前被选中的列表项的内容由下列那一个属性得到()。
A.ListB.TextC.ListIndexD.Index
28.设有以下循环结构:
DO
循环体
loopwhile<条件>
则以下叙述中错误的是()。
A.若“条件”是一个为0的常数,则一次也不执行循环体
B.“条件”可以是关系表达式、逻辑表达式或常数
C.循环体中可以使用ExitDo语句
D.如果“条件”总是为True,则不停地执行循环体
29.下列()属性是文本框控件的默认属性。
A.Caption B.Value C.Name D.Text
30.当条件为真(True)时,执行循环体的循环语句是()。
A.DoWhile……LoopB.DoUntil……Loop
C.Do……UntilLoopD.For……Next
二.写出程序运行结果(每题4分,共20分)
1.写出下列代码运行后窗体上显示的结果是()。
PrivateSubForm_Activate()
DimiAsInteger
Fori=1To3
test
Nexti
EndSub
Subtest()
DimxAsInteger,mAsString
Staticy,n
x=x+1
y=y+1
m=m&"*"
n=n&"*"
Print"x=";x,"y=";y,"m=";m,"n=";n
EndSub
2.下面的程序段执行后,单击窗体,窗体上显示结果是()。
PrivateSubForm_Click()
Dima()
ReDima(1To3)
Fori=1To3
a(i)=i
Nexti
ReDimPreservea(1To5)
Fori=4To5
a(i)=2*i
Nexti
Fori=1To5
Printa(i);
Nexti
EndSub
3.在窗体上有一命令按钮Command1,下面的程序段执行后,单击命令按钮,输出结果是()。
PrivateSubCommand1_Click()
DimkAsInteger
Fori=1To2
Forj=1To3
k=k+1
Nextj
Nexti
Printk
EndSub
4.在窗体上画一个Command1命令按钮,命令按钮Command1的Click事件代码如下所示,程序运行后单击命令按钮,则窗体上显示的是()。
PrivateSubCommand1_Click()
DimaAsInteger
a=Int(Rnd)+5
SelectCasea
Case5
Print"优秀"
Case4
Print"良好"
Case3
Print"通过"
CaseElse
Print"未通过"
EndSelect
EndSub
5.运行下面的程序,单击命令按钮COMMAND1后,窗体上显示结果是()。
PrivateSubForm_Click()
fstr="abcdef"
s=""
l=Len(fstr)
Fori=1Tol\2
s=s&Mid(fstr,i,1)&Mid(fstr,l-i+1,1)
Next
Prints
EndSub
三.程序填空(每空2分,共20分)
1.X,Y,Z是输入的三个大小互不相同的数,完成下列程序,求出大小居中者输出到文本框上。
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger,zAsInteger
x=Val(Text1.Text)
y=Val(Text2.Text)
z=Val(Text3.Text)
Ifx>yThen
t=x:
x=y:
y=(①)
EndIf
Ifym=(②)
ElseIfx>zThen
m=x
Else
m=(③)
EndIf
Print"中间数是:
";m
EndSub
2.假定建立了一个工程,该工程包括两个窗体Form1、Form2,启动窗体为Form1。
要求当单击Form1中的命令按钮Command1时,判断在文本框中输入密码是否正确。
若密码输入正确Form1窗体卸载,显示窗体Form2,否则重新输入密码,请将程序补充完整。
PrivateSubCommand1_Click()
IfLcase(Trim(Text1.Text))="abcd"Then
(④)Form1
Form2.(⑤)
Else
MsgBox"密码错误,请重新输入!
"
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndIf
EndSub
3.下面程序的功能是:
生成20个10~99之间的随机数,首先将它们每行5个数输出,然后查找并输出该数组中元素的最大值。
请将程序填写完整。
OptionBase1
PrivateSubCommand1_Click()
Dima(20)AsInteger
DimmaxAsInteger
Randomize
Fori=1To20
a(i)=(⑥)
Printa(i);
IfImod5=0ThenPrint
Ifa(i)>maxThen(⑦)
Next
Print"最大值是:
";max
EndSub
4.以下程序用于计算1!
+2!
+3!
+…+10!
,请将程序填写完整。
PrivateSubCommand1_Click()
t=1:
n=1:
Sum=0
DoUntiln(⑧)
t=t*(⑨)
Sum=Sum+(⑩)
n=n+1
Loop
Print"sum=";Sum
EndSub
四.编写程序(每题10分,共30分)
1、计算奖金。
企业利润I低于5000元的,奖金为利润的1%,当5000<=I<20000,超过5000元部分奖金为1.5%;当20000<=I<50000元,除20000元以下的按上述方法计算外,超过20000元部分按2%计算奖金;当I>=50000元时,超过50000元部分按3.5%计算奖金。
I由键盘输入,要求输出相应的奖金数。
PrivateSubForm_Click()
EndSub
2、下列程序的功能是:
用函数调用求e=1+1/1!
+1/2!
+……+1/n!
的值,直到最后一项小于10-6为止。
要求:
(1)阶乘的计算用自定义函数jc过程来做。
(2)结果输出到窗体上。
PrivateSubCommand1_Click()
EndSub
Functionjc(XAsInteger)
EndFunction
3、设计一个100分钟倒计时器,用户界面见左图。
窗体FORM1上添加一个文本框控件Text1和时钟控件Timer1,两个命令按钮Command1和Command2,各控件的在设计阶段的属性设置见下表:
控件名称
属性名称
属性值
Form1
Caption
倒计时
Text1
Text
01:
40:
00
Command1
Caption
倒计时
Command2
Caption
暂停
Timer1
Enable
False
Interval
1000
编写时钟Timer事件和两个命令按钮Command1、Command2的Click事件代码。
要求:
●当单击Command1时,在文本框控件Text1中显示100分钟到计时的时、分、秒,显示格式如图所示;且Command1不可用。
●单击Command2时,计时暂停,同时Command2上显示“继续”;再次单击Command2,接着上次结果继续到计时。
●倒计时结束时,出现信息框“时间到!
”的提示。
PrivateSubCommand1_Click()
EndSub
PrivateSubCommand2_Click()
EndSub
PrivateSubTimer1_Timer()
EndSub
答案表:
系别____________班级__________学号(最后两位)_____姓名____________
一单选题(每题1分)
1
2
3
4
5
6
7
8
9
10
分数
阅卷人
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
二写出程序运行结果(每题4分)
1
2
3
4
5
三程序填空(每空2分)
①
②
③
④
⑤
⑥
⑦
⑧
⑨
⑩