《VB程序设计基础》模拟试题.docx
《《VB程序设计基础》模拟试题.docx》由会员分享,可在线阅读,更多相关《《VB程序设计基础》模拟试题.docx(20页珍藏版)》请在冰点文库上搜索。
《VB程序设计基础》模拟试题
《VB程序设计》模拟试题
●填空题
1.窗体模块的文件扩展名为___FRM_________、标准模块的文件扩展名为____BAS______、
类模块文件的扩展名为______CLS_______。
2.VisualBasic中数据类型可分为_____标准数据类型________和用户自定义数据类型两大类,前者根据其取值的不同,可分为_____整型_________、______长整型_____、布尔型和____字符型_________。
3.Abs(-6.5)=_____6.5______; Int(-9.1)=____-10_______。
4."程序"&"设计"运算结果为___程序设计____。
5.Dima,basBoolean语句显式声明变量a是___变体___变量,b是___布尔__变量。
6.MsgBox函数的返回值中,VBRetry表示单击了____重试_____按钮,VBYes表示单击了___是_____按钮,VBNo表示单击了_____否____按钮。
7.要加载窗体,可以在代码中使用___________语句,要显示窗体,可以在代码中使用___________方法,要隐藏窗体,可以在代码中使用Hide方法,要卸载窗体,可以在代码中使用___________方法。
8.对话框分为_________对话框和________对话框两种类型,其中_____________对话框最
常用。
9.对象是VisualBasic应用程序的基本单元,它是由___类___创建的。
在VisualBasic中可以用属性、__方法___、___事件___来说明和衡量一个对象的特性。
10.条件判断语句可以使用___If…then____________语句、____If…Then…Else______语句和______If…Then…ElseIf______语句。
Selectcase语句
11.声明一个值为3.14的常量Pi的语句为___Constpi=3.14______。
12.Do…LoopUntil循环结构中,当条件为____真____时结束循环。
13.要显示弹出菜单,可以在代码中使用_____________事件。
14.参数传递有__________方式、__________方式和命名传递方式,常量默认采用__________方式;变量默认采用__________方式;表达式默认采用__________方式。
15.名称属性必须以一个__字母标点_开始并且最长可达40个字符,不能包括__符号___和___空格___。
16.VisualBasic的程序模块有3种:
____窗体模块____、标准模块和____类模块____。
17.VisualBasic程序,按其语句代码执行的先后顺序,可以分为___顺序__结构、选择__结构和___循环____结构。
18.数组元素下标的下界默认为是_____________,如果要改变其默认值,应使用_____________。
●判断题
()1.VisualBasic运行程序的方法只有编译模式。
()2.语句Command1.visible=false与Command1.enabled=false是等价的。
()3.InputBox函数和MsgBox函数一样,返回的是字符串。
()4.通过类模块,我们不可以根据需要建立自己的控件。
(×)5.2.1E+5是合法的VisualBasic数据。
()6.根据占用内存方式的不同,可将数组分为常规数组和动态数组两种类型。
(√)7.x2是合法的变量名。
()8.按照文件的存取方式及其组成结构可以分为两种类型:
文本文件和随机文件。
(√)9.Do…LoopUntil语句实现循环时,不管条件真假,首先无条件地执行一次
循环。
(×)10.标签没有change事件和setFocus方法。
(×)11.VB对象就是窗体和控件。
(×)12.要实现同样的循环控制,在DoWhile…Loop和DO…LoopWhile循环结构中给定的循环条件是一样的。
(×)13.文本框和标签通过同一属性在窗体上显示文字。
()14.能够改变复选框背景颜色的属性是BackColor。
()15.当图片框Picturebox控件的Autosize属性为true时,超过图片框尺寸的图片其超过部分会被图片框截去。
(×)16.所有对象的属性都可以在属性窗口中设定。
(×)17.Msgbox函数建立的信息框既能显示信息又能输入用户的信息。
()18.使用Open语句可以创建新的顺序文件。
(×)19.要在窗体上添加控件,不能通过双击工具箱中对应的控件图标实现。
(×)20.TextBox与Label有许多共同的特点,它们都能显示和输入文字。
(√)21.方法Form1.show与Form1.visible=True是等效的。
(√)22.Do…LoopUntil语句实现循环时,不管条件真假,首先无条件地执行一次循环。
(×)23.函数Str(26)与Str(-26)的值的长度相同。
(√)24.每个Vb对象都有name属性。
()25.在VisualBasic中,向过程传递参数时,按地址传递参数是缺省的。
(√)26.Do…Loopuntil语句实现循环时,只要条件是假,循环将一直进行下去。
(×)27.文本框和标签通过同一属性在窗体上显示文字。
(×)28.要实现同样的循环控制,在DoWhile…Loop和DO…LoopWhile循环结构中给定的循环条件是一样的。
(√)29.将焦点主动设置到指定的控件或窗体上,应采用Setfocus方法。
(×)30.使用Open语句可以创建新的顺序文件。
●写出下面的程序运行结果
1.程序1
PrivateSubForm_load()
MsgBox"你好"
EndSub
运行结果:
____弹出消息框,提示为”你好”_________。
2.程序2
DimNumber
Number=8
SelectCaseNumber
Case1To5
Print"Between1and5"
Case6To10
Print"Between6and10"
CaseElse
Print"Notbetween1and10"
EndSelect
运行结果:
_____Between6and10________。
3.程序3
DimSubCommandl_Click()
Textl.Text="07"
EndSub
DimSubCommand2_Click()
Textl.Text="秋季"
EndSub
单击Command2按钮后,再单击Command1按钮,在文本框中显示:
__07___。
4.程序4
PrivateSubForm_Click()
ForI=lTo100
Sum=Sum+I
NextI
PrintSum
EndSub
运行结果:
5050。
5.程序5
PrivateSubForm_load()
MsgBox"VB程序"
EndSub
运行结果:
_____弹出消息框,提示为”VB程序”________。
6.程序6
PrivateSubForm_Activate()
DimSAsSingle
DimIAsInteger
S=1
ForI=1To5
S=S*I
Next
Print"5!
=";S
EndSub
运行结果:
________________120_________________。
7.程序7
Private Sub Form_Activate()
Dim s As Long
Dim I As Integer
S = 0
For I = 1 To 6
S = S+I^2
Next
Print"S =";S
End Sub
运行结果:
91。
《VB程序设计基础》模拟试题
一.判断题(正确的划√,错误的划×,每小题1分,共10分)
(√)1、面向对象程序设计是一种以对象为基础,由事件驱动对象来执行的设计方法。
(×)2、所有对象的属性都可以在属性窗口中设定。
(√)3、把当前窗体form1隐藏,用form1.hide和me.hide语句均可。
(√)4、变量的声明有两种方法,即使用“类型说明符”和使用“类型说明词”均可。
(×)5、判断数值X是否在[0,100]范围可用关系表达式:
0<=X<=100.
(√)6、文本框控件没有Caption属性。
(×)7、Dima1,a2AsInteger语句表示声明的变量a1和a2都为整型变量。
(√)8、执行Do-LoopWhile语句时,不管条件真假,首先会无条件地执行一次循环。
(×)9、Rnd(x)产生[0,1]之间的随机数。
(√)10、每个VisualBasic对象都有Name属性。
二.选择题(以下只有一项是正确的,每题2分,共40分)
()1、不是VisualBasic的特点的选项是:
A.可视编程B.面向过程C.事件驱动D.面向对象
()2、如果把一个人当作对象,那么“身高”相当于这个对象的:
A.属性 B.方法 C.事件 D.特征
()3、以下哪项不是合法的变量名?
A.file_1B.file1C.file-1D.file_1_12
()4、求从文本框中输入密码时在文本框中只显示*号,则应在此文本框的属性窗口中设置:
A.Text属性值为*B.Caption属性值为*
C.Password属性值为空D.Passwordchar属性值为*
()5、哪个是算术运算符:
A.ImpB.Mod C.NotD.Eqv
()6、Integer类型的变量可存的最大整数为:
A.255 B.256C.32768 D.32767
()7、下列哪一个是日期型常量:
A."2/1/99"B.2/1/99 C.#2/1/99# D.{2/1/99}
()8、用于获得字符串S从第5个字符开始的3个字符的函数是:
A.Mid(S,5,3) B.Middle(S,5,3)
C.Right(S,5,3) D.Left(S,5,3)
()9、为使计时器对象每隔5秒钟产生一个时钟事件(Timer事件),则其Interval属性值应设置为:
A.5 B.300 C.500 D.5000
()10、对一个窗体对象,其最先发生的事件是:
A.ClickB.DbClickC.LoadD.UnLoad
()11、下列4个选项中,可以单独的构成一条语句的选项是:
A.对象名.属性名B.对象名.方法名
C.对象名.事件名 D.对象名.控件名
()12、若x是一个正实数,将千分位四舍五入,保留两位小数的VB表达式为:
A.0.01*Int(x+0.005)B.0.01*Int(100*(x+0.005))
C.0.01*Int(100*(x+0.05))D.0.01*Int(x+0.05)
()13、下列表达式中,合法的VisualBasic表达式有:
A.(-b+sqr(b*b+4a*c))/2/a
B.Cos(a)^2-Atn(a)
C.Sqr(Y^3+3*(A*A+6B*B))
D.1/(X+1/Y+5A)
()14、在一个语句行内写多条语句时,语句之间应该用什么符号分隔?
A.逗号 B.分号 C.顿号 D.冒号
()15、计算结果为0的表达式是:
A.Int(3.4)+Int(-3.8) B.Int(3.4)+Fix(-3.8)
C.Fix(3.4)+Fix(-2.8) D.Fix(3.4)+Int(-3.8)
()16、下列程序段执行后输出的结果是:
x=int(Rnd+4)
SlectCasex
Case5
Print"优秀"
Case4
Print"良好"
Case3
Print"及格"
CaseElse
Print"不及格"
EndSelect
A.优秀 B.良好 C.及格 D.不及格
()17、循环结构Fori=0to10Step2的执行次数是:
A.4 B.5 C.6 D.7
()18、“x是小于100的非负数”,用VB表达式表示,正确的是:
A.x<100B.0<=xAndx<100
C.0<=x<100D.0≤xOrx<100
()19、要判断两个整型变量A和B中有且只有一个为0,不能使用下面哪一个逻辑表达式()。
A.A=0AndB<>0orA<>0andB=0
B.A=0XorB=0
C.A*B=0AndA<>B
D.A*B=0And(A=0OrB=0)
()20、下列程序段循环结构执行后,i的输出值是:
A.25 B.10
C.11 D.因为y的初值不知道,所以不确定
Fori=1to10Step2
y=y+i
Nexti
Printi
三.填空题(每空2分,共20分)
1.语句optionexplicit的作用是强制变量声明 。
2.把条件10≤X<12写成Visualbasic表达式为:
10<=xandx<12 。
3.将数学式
写成VB表达式为:
________________________________________________________________________。
4.逻辑符And、Or、Not按优先级排序为:
。
5.选拔身高(T)超过1.7米且体重(W)小于62.5公斤的人,表示该条件的布尔表达式为:
T>1.7andW<62.5 。
6.声明一个值为3.14的常量Pi的语句为Constpi=3.14_。
7.在过程中定义Dimx(9,1to10)asInteger,则数组中共拥有__________个元素。
8.要使一个按钮无效,则可把它的Enable属性设为False(True、False)。
9.设X是大于300且能被3整除的奇数,关于X的表达式为:
______(x>300)and(xMod3=0)and(xMod2<>0)_______________________。
10.定时器控件的Interval属性值是指时间间隔,单位为毫秒;当每隔此间隔的时间,定时器会触发一次计时器事件。
四.程序填空题:
(每空3分,共12分)
1.如下程序运行后,变量S的值为120,i的值为6。
OptionExplicit
PrivateSubCommand1_Click()
DimiAsInteger
StaticSAsInteger
S=1
Fori=1To5
S=S*i
Nexti
PrintS
EndSub
2.以下程序是求1—100之间所有的“偶数”之和。
请填空。
Dimsasinteger
Dimiasinteger
S=0
Fori=2to100step2
S=S+i
Nexti
PrintS
五.程序阅读题(每小题2分,共4分)
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
For n = 1 To 5
If n Mod 3 <> 0 Thenm = m + n \ 3
Next n
Print n
Printm
End Sub
程序运行后,如果单击命令按钮,则窗体上显示:
n=_____6________;m=2
六.程序设计题,请将以下横线中的代码补充完整。
(每空2分,共14分)
1.假设某班共有学生N人,编写程序统计该班学生的VisualBasic考试成绩,并显示出60分以下、60—70、70—80、80—90以及90分以上的学生人数各是多少?
程序代码如下:
Privatesubform_click()
Dimscoreassingle‘score表示考生的实际分数
Dimx1%,x2%,x3%,x4%,x5%‘x1,x2,x3,x4,x5分别表示各个分数段的人数
DimIasinteger‘I表示循环变量
DimNasinteger‘N表示参考总人数
N=val(inputbox(“请输入参考总人数:
”))
ForI=1ton
Score=val(inputbox(“请输入成绩:
”))
SelectcaseScore
Caseis>=90
X1=x1+1
Caseis>=80
X2=x2+1
Caseis>=70
X3=x3+1
Caseis>=60
X4=x4+1
Caseelse
X5=x5+1
EndSelect
Nexti
Print“90分以上:
”,x1;“人”
Print“80—90分:
”,x2;“人”
Print“70—80分:
”,x3;“人”
Print“60—70分:
”,x4;“人”
Print“60分以下:
”,x5;“人”
Endsub
实验六思考题:
设s,m,n均为String类型的变量,编程实现:
如果s中包含字串m,则将s中的字串m部分替换为n后生成一个新串并输出.要求s,m,n的值均由用户输入.
PrivateSubCommand1_Click()
DimsAsString
DimmAsString
DimnAsString
DimlsAsString
DimiAsInteger
DimkAsInteger
s=InputBox("请输入S字符串")
Text2.Text=s
m=InputBox("请输入m字符串")
Text3.Text=m
n=InputBox("请输入n字符串")
Text4.Text=n
i=InStr(s,m)
k=i+Len(m)
ls=Left(s,i-1)
Text1.Text=ls+n+Mid(s,k)'text1.Text=left(s,i-1)+n+mid(s,k)
EndSub
PrivateSubForm_Click()
Dima%,b%,c%,tempAsDouble
a=Val(InputBox("请输入a"))
b=Val(InputBox("请输入b"))
c=Val(InputBox("请输入c"))
Ifa>bThen
temp=a
a=b
b=temp
EndIf
Ifa>cThen
temp=a
a=c
c=temp
EndIf
Ifb>cThen
temp=b
b=c
c=temp
EndIf
Printa;b;c
EndSub
PrintResult
或者PrivateSubcmdselect_Click()
DimxAsSingle,yAsSingle
DimOperatorAsString
DimresultAsSingle
x=Val(InputBox("输入第一个数:
",,0))
Operator=InputBox("输入运算法:
",,"+")
y=Val(InputBox("输入第二个数:
",,0))
SelectCaseOperator
Case"+":
result=x+y
Case"-":
result=x-y
Case"*":
result=x*y
Case"/":
result=x/y
EndSelect
Printresult
EndSub
1、PrivateSubForm_Click()
Dimx%,y%,z%
x=Val(InputBox("请输入第一门课程成绩"))
y=Val(InputBox("请输入第二门课程成绩"))
z=Val(InputBox("请输入第三门课程成绩"))
If((x+y+z)/3)>95Or(x=100Andy=100Andz>=80)Or(x=100Andz=100Andy>=80)Or(y=100Andz=100Andz>=80)Then
Print"该同学获得一等奖"
ElseIf(x+y+y)/3>90Or(x=100Andy>=75Andz>=75)Or(y=100Andx>=75Andz>=75)Or(z=100Andx>=75Andz>=75)Then
Print"该同学获得二等奖"
ElseIfx>=70Andy>=70Andz>=70Then
Print"该同学获得三等奖"
Else
Print"该同学没