vb程序设计试题(含答案)0001
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一套试题
一、选择题(每题2 分,共30 分)
1.在VB环境中,工程文件的扩展名是(C)
(A).frm (B).bas (C).vbp (D).frx
2.下面4 项中不属于面向对象系统三要素的是(A)
(A)变量(B)事件(C)属性(D)方法
、/ 、Mod、*这4 个算述运算符中,优先级别最低的是(C)(A)(B)/ (C)Mod(D)*
4.要使Print 方法在Form_Load事件中起作用,要对窗体的(C)属性进行设
(A)BackColor (B)ForeColor
(C)AutoRedraw(D)Caption
5.不论何控件,共同具有的属性是(B)
(A)Text (B)Name
(C)ForeColor (D)Caption
6.要使Form1窗体的标题栏显示“欢迎使用VB”,以下语句正确的是(D)
(A)Form1.Caption= “欢迎使用VB”(B)Form1.Caption= ˊ欢迎使用VB
(C)Form1.Caption= 欢迎使用VB(D)Form1.Caption= 〞欢迎使用VB〞
7.VB 提供了结构化程序设计的3种基本结构,这3 种基本结构是(D)
(A)递归结构,选择结构,循环结构(B)选择结构,过程结构,顺序结构(C)过程结构,输入、输出结构,转向结构(D)选择结构,循环结构,顺序结构
8.给变量赋值a=123+MID(“123456”,3,2),a 变量中的值是(D)
(A)“12334”(B)123(C)12334(D)157
9.下面If 语句统计满足性别为男、职称为副教授以上、年龄小于40 岁条件的人数,不正确的语句是(D)
(A)Ifsex= “男” Andage<40AndInStr(duty, “教授” )>0Thenn=n+1
(B)Ifsex=“男”Andage<40And(duty=“教授”Orduty=“副教授”)Thenn=n+1
(C)Ifsex= “男” Andage<40AndRight(duty,2)= “教授” Thenn=n+1
(D)Ifsex= “男” Andage<40Andduty=“教授” Andduty=“副教授”
Thenn=n+1
10.若要清除列表框的所有内容,可用来实现的方法是(C)
(A)RemoveItem(B)Cls
(C)Clear (D)以上均不可以
11.要使时钟控件Timer1 的Timer 事件不起作用,以下正确的语句是(B)
(A)Timer1.Visible=False (B)Timer1.Enabled=False
(A)Timer1.Interval=1000 (D)Timer1.Index=0
12.引用列表框(List1)最后一个数据项应使用的语(B)
(A)List1.List(List1.ListCount)(B)List1.List(List1.ListCount-1)
(C)List1.List(ListCount)(D)List1.List(ListCount-1)
13.如下数组声明语句,正确的是(B)
(A)Dima[3,4]AsInteger (B)Dima(3,4)AsInteger
(C)Dima(n,n)AsInteger (D)Dima(3,4)AsInteger
14.下面子过程语句说明合法的是(A、D)
(A)Subf1(ByValn%)(B)Subf1(n%)AsInteger
(C)Functionf1%(f1%)(D)Functionf1(ByValn%)
15.假定有如下的命令按钮(名称为Command1事)件过程:
PrivateSubCommand1_Click()
x=InputBox(" 输入:","输入整数")
MsgBox"输入的数据是:”,,”输入数据:"+x
EndSub
16.程序运行后,单击命令按钮,如果从键盘上输入整数10,则以下叙述中错误的是(A)
(A)x 的值是数值10(B)输入对话框的标题是“输入整数” (C)信息框的标题是“输入数据:10”(D)信息框中显示的是“输入的数据是:”
二、填空题(每题2 分,共20 分)
1、当进入VB集成环境后,发现没有显示“工具箱”窗口,应选择视图
菜单
的工具箱选项,使“工具箱”窗口显示。
2、VB是一种面向对象的程序设计语言,采用了事件驱动
编程机制。
3、Int(-5.5) 、Int(5.5) 、Fix(-5.5) 、Round(-5.5) 的值分别是-6 、5 、-5 、-6 。
4、表达式Ucase(Mid( “abcdefgh ”,3,4)) 的值是CDEF 。
5、将文本框的ScrollBar 的属性设置为2(有垂直滚动条) ,但没有垂直滚动条显示,原因是没有将multline 属性设置为True 。
6、VB的注释语句采用‘ 字符开头,若一行上书写多个语句,则各语句间
用:字符分隔。
7、列表框中项目的序号是从0 开始的。
8、列表框中的list 和selected 属性是数组。
9、如果要每隔15秒产生一个计时器事件,则Interval 属性应设置为15000 。
10、在VB中,事件过程名由sub 和function 构成。
三、请完成下列的程序(共15 分)
1、以下程序的功能是:生成20个200到300之间的随机整数,输出其中能被5 整除的数并求出它们的和。
请填空。
PrivateSubCommandl_C1ick()
Fori =1To20
x=Int(_ rnd*101+200 __)
If_ x mod 5=0 __Then
Printx
S=S十x
EndIf
Nexti
Print"Sum =" :S
EndSub(5分)
2、某次大奖赛,有7 个评委打分,如下程序对一名参赛者,输入7 个评委的打分分数,去掉一个最高分和一个最低分后,求出平均分为该参赛者的得分。
请在下划线处填入相应的内容。
PrivateSubCommand1_Click()
Dimmark!,aver!I%,max1!min1!
aver=0
Fori=1To7
Mark=InputBox(“输入第” &i&“位评委的打分” )
Ifi=1Then
Max1=mark: min1=mark
Else
Ifmark <min1Then
Min1=mark
ElseIfmark > max1Then
Max1=mark
EndIf
EndIf
Aver=aver+mark
Nexti
Aver=
Printaver
EndSub
四、操作题(第一题15 分,第二小题20 分,共计35分)提示:请同学
们在E 盘下面建立一个以自己的名字和学号命名的文件夹,然后将自己设计的窗体保存在这个文件夹下面即可,工程文件可以不保存,但窗体一定要保存
1、斐波纳契(Fibonacci )数列的第一项是1. 第二项是1,以后各项都是前两项的和。
试用递归算法编写一个程序,求斐波纳契数列第N项的值。
(15分)
2、设计一个窗体,在窗体中设置3个标签、1个文本框、2 个单选按钮、3 个复
选按钮和两个命令按钮。
在文本框中输入某人的姓名,并在性别和爱好项目
中进行选择,单击“显示资料”命令按钮,将个人资料显示出来;单击“充填”
按钮,将文本内容清楚,选项回复到初始状态(20 分)
第二套试题
一、选择题(每题2 分,共30 分)
1. 在VB集成环境创建VB应用程序时,除了工具箱窗口、窗体窗口、属性窗口外,必不可少的窗口是(C)
(A)窗体布局窗口(B)立即窗口(C)代码窗口(D)监视窗口2.表达式16/4-2^5*8/4MOD5\2 的值为(B)
(A)14(B)4(C)20(D)2
3.Int(198.555*100+0.5)/100 的值为(C)
(A)198(B)199.6 (C)198.56(D)200
4.已知A$=“12345678”,则表达式Val(Left$(A$,4)+Mid$(a$,4,2))的值为(B)
(A)123456(B)123445(C)8(D)6
5.表达式DateDiff (“ y”,#12/30/1999#,#1/13/2000# )的结果是(C)注:一个Y 表示相隔天数,四个Y 表示相隔年数。
(A)1(B)11(C)14(D)99
6.若要使命令按钮不可操作,要设置的属性是(A)(A)Enabled (B)
Visible (C)BackCol(D)Caption
7.文本框所没有的属性是(D)
(A)Enabled(B)Visible (C)BackColor (D)Caption
8.要设置命令按钮的背景图形,必须设置的两个属性是(A)
(A)Style 和Picture (B)Style 和Icon
(C)Caption 和Picture (D)Value 和Icon
9.下面正确的赋值语句是(C)
(A) x+y=30(B)y=π*r*r (C)y=x+30(D)3y=x
10.下面程序段求两个数中的大数,不正确的是(D)
(A)Max=IIf(x >y,x,y)(B)Ifx >yThenMax=xElseMax=y (C)Max=x(D)Ify >=xThenMax=y
Ify > xThenMax=yMax=x
11.以下关于VisualBasic 特点的叙述中,错误的是(D)
(A)VisualBasic 是采用事件驱动编程机制的语言
(B)VisualBasic 程序既可以编译运行,也可以解释运行
(C)构成VisualBasic 程序的多个过程没有固定的执行顺序
(D)VisualBasic 程序不是结构化程序,不具备结构化程序的三种基本结构
12.复选框的Value 属性为1 时,表示(B)
(A)复选框未被选中(B)复选框被选中
(C)复选框内有灰色的勾(D)复选框操作有错误
13.在下列关于键盘事件的说法中,正确的是(D)(A)按下键盘上的任意
一个键都会引发KeyPress 事件
(B)大键盘上的“ 1”键和数字键盘的“ 1”键的KeyCode码相同
(C)KeyDown和KeyUp的事件过程中有KeyAscii 参数
(D)大键盘上的“ 4”键的上档字符是“ $”,当同时按下Shift 和大键盘上的“ 4”键时
14.如果列表框(List1)中没有被选定的项目,则执行
List1.RemoveItemList1.ListIndex 语句的结果是(A)
(A)移去第一项(B)移去最后一项
(C)移去最后加入列表的一项(D)以上都不对
15.设有如下语句:Dima,bAsInteger c="VisualBasic" d=#7/20/2005# 以下关
于这段代码的叙述中,错误的是(A)
(A)a 被定义为Integer 类型变量(B)b 被定义为Integer 类型变量
(C)c 中的数据是字符串(D)d 中的数据是日期类型
二、填空题(每题2 分,共20 分)
1.在VB中,要显示程序代码,必须在代码窗口;要设计程序的
运行界面,必须在窗体窗口。
2.整型变量x 中存放了一个二位数,要将二位数交换位置,例如,13 变成31,实现的表达式是x\10+(x mod 10)*10
3.数学表达式sin15 °+-ln(3x) 的VB算术表达式为sin(15/180*
∏ )+-exp(3*x) 。
4.表示x 是5 的倍数或是9 的倍数的逻辑表达式为x mod 5=0or x mod 9=0 。
5.在VB中,123456&、1.2346D+5这2 个常数分别表示long 、double
类型。
6.若已建立了Form1 和Form2两个窗体,默认启动窗体为Form1。
通过工程
属性菜单的启动对象命令的通用选项卡,可将启动窗体设置为Form2。
在程序中若要显示Form1窗体,则执行show 语句。
7.文本框(Text1) 中有选定的文本,执行Text1.SelText= 〝Hello 〞的结果是hellotext1
8.在程序运行时,如果将框架的enable 属性设为False ,则框架的标题呈灰色,表示框架内的所有对象均被屏蔽,不允许用户对其进行操作。
9、声明如下数组:Dima(3,-2To2,5) ,则数组a 包含的元素的个数为120
10.赋值语句:a=123&MID(“123456”,3,2) 执行后,a 变量中的值是
三、请完成下列的程序(共15 分)
1、窗体上有名称分别为Text1 、Text2 的2 个文本框,要求文本框Text1 中输入的数据小于500,文本框Text2 中输入的数据小于1000,否则重新输入为了实现上述功能,请为下列程序编写相应的子过程。
PrivateSubText1_LostFocus()
CallCheckInput(Text1 ,500)
EndSub
PrivateSubText2_LostFocus()
CallCheckInput(Text2 ,1000)
EndSub
SubCheckInput(tAsControl ,as integer )
If Then
EndIf
EndSub
Nexti
EndSub(5分)
2、子过程MoveStr() 是把字符数组移动m个位置,当Tag 为True 时左移,将前m个字符移到字符数组尾,例如,“ abcdefghij ”左移3 个位置后,结果为“defghijabc ”;当Tag为False 时右移,将后m个字符移到字符数组前,如
“ abcdefghij ”右移3 个位置后,结果为“ hijabcdefg ”。
子过程如下:
PublicSubMoveStr(a$(),m%,TagAsBoolean)
DimI%,j%,t$
IfTagthen
ForI=1Tom
t=a(0)
Forj=0To ubound(a)-1
A(j)=a(j+1)
Nextj
A(ubound(a))=t
NextI
Else
ForI=1Tom
t=a(ubound(a))
Forj=Ubound(A) to 1 step -1
A(j)=a(j-1)
Nextj
a(0)=c
NextI
EndIf
EndSub
请在程序中下划线处填入相应的内容。
四、操作题(第一题15 分,第二小题20 分,共计35分)提示:请同学
们在E 盘下面建立一个以自己的名字和学号命名的文件夹,然后将自己设计的窗体保存在这个文件夹下面即可,工程文件可以不保存,但窗体一定要保存
1、编程实现打印以下图案(15 分)
2、统计学生成绩
设计如图所示应用程序,当单击“输入成绩”按钮时,在InputBox 对话框中输入学生人数,然后在对话框中依次输入不多于人数的数个成绩。
再次单击“输入成绩”按钮将追加学生人数和成绩。
单击“显示成绩”按钮显示成绩、平均分和未输入成绩的人数。
(20 分)
第三套试题
一、选择题(每题2 分,共30 分)
1. 下面各种高级语言中,不是面向对象程序设计语言的是(C)(A)
VisualBasic (B)C++(C)Pascal (D)Java
2.函数DateAdd(“m”,1#1/30/2000#)语句的结果是(A)(A)00-2-29 (B)00-2-28 (C)00-2-30 (D)00-1-31
3.表达式LenB(“123 程序设计ABC”)的值是(C)(A)10(B)14(C)20(D)17
4.当文本框的ScrollBars 属性设置了非零值,没有效果,其原因是(B)
(A)文本框中没有内容(B)文本框的MultiLine 属性为False (C)文本框的MultiLine 属性为True(D)文本框中的Locked 属性为True
5.若要禁止窗体被用户移动,通过设置可达此要求的窗体的属性是(B)
(A)MaxButton(B)Moveable(C)Move(D)ControlBox
6.下列语句中将按钮(Command1的)标题赋值给文本框(Text1)Text 属性的是(B)
(A)Text1=Command1(B)Text1=Command1.Caption (C)Text1.Text=Command1(D)Text1.Text=CStr(Command1)
7.语句Ifx=1Theny=1, 下列说法正确的是(C)
(A)x=1 和y=1 均为赋值语句
(B)x=1 和y=1 均为关系表达式
(C)x=1为关系表达式,y=1 为赋值语句
(D)x=1为赋值语句,y=1 为关系表达式
8.要获得用户在组合框输入的内容,应利用的组合框的属性是(D)
(A)List (B)Selected
(C)ListIndex (D)Text
9.将数据项“ China”添加到列表框(List1 )中成为第一项应使用的语句是(A)
(A)List1.AddItem 〞China〞,0 (B)List1.AddItem 〞China〞,1
(C)List1.AddItem0, 〞China〞(D)List1.AddItem1, 〞China〞
10.在下列说法中,正确的是(B)
(A)通过适当的设置,可以在程序运行期间,让时钟控件显示在窗体上
(B)在列表框中不能进行多项选择
(C)在列表框中能够将项目按字母顺序从大到小排列
(D)框架也有Click 和DblClick 事件
11.在KeyDown或KeyUp的事件过程中,能用来检查Ctrl 和F3 是否同时按下的表达式为(C)
(A)(button=vbCtrlMask)And(KeyCode=vbKeyF3)
(B)KeyCode=vbKeyControl+vbKeyF3
(C)(KeyCode=vbKeyF3)And(ShiftAndvbCtrlMask)
(D)(ShiftAndvbCtrlMask)And(KeyCodeandvbKeyF3)
12.设有命令按钮Command1的单击事件过程,代码如下:
PrivateSubCommand1_Click()
Dima(30)AsInteger
Fori=1To30
a(i)=Int(Rnd*100)
Next
ForEacharrItemIna
IfarrItemMod7=0ThenPrintarrItem ;
IfarrItem>90ThenExitFor
Next
EndSub
对于该事件过程,以下叙述中错误的是(B)
A)a 数组中的数据是30 个100 以内的整数
B)语句ForEacharrItemIna 有语法错误
C)IfarrItemMod7=0 ⋯⋯语句的功能是输出数组中能够被7 整除的数
D)IfarrItem>90 ⋯⋯语句的作用是当数组元素的值大于90 时退出For 循环
13.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是(C)
(A)Subf2(ByValn%,ByValm%)(B)Subf1(n%,ByValm%) (C)Subf1(n%,m%)(D)Subf1(ByValn%,m%)
14.以下关于MsgBox的叙述中,错误的是(D)
(A)MsgBox函数返回一个整数
(B)通过MsgBox函数可以设置信息框中图标和按钮的类型
(C)M sgBox语句没有返回值 (D)MsgBox函数的第一个参数是一个整数,该参数只能确定对话框中显示的按钮数量
15.设x=4,y=8,z=7 ,表达式x<yAnd(Noty>z)Orz<x 的值是(D)
(A)1(B)-1(C)True(D)False
二、填空题(每题2 分,共20 分)
1.在VB中设置或修改一个对象的属性的方法有两种,它们分别是属性窗
口和代码窗口。
2.InStr(7 ,“什么ASCII 是ASCII 编码”,“ ASCII”)的结果9
;InStr(“什么ASCII 是ASCII 编码”,“ ASCII”)的结果3 。
3.给变量w 赋值:w=Choose(Weekday“( 2010,1,26 ”), “ Red”, “ Green”, “Blue”, “ Yellow ” )后,变量w中的值是星期二。
4.将alignment 属性设置为1,单选按钮和复选框的标题显示在左边;将style 属性设置为1,单选按钮和复选框以图形方式显示。
5. 在窗体上有若干控件,其中有一个名称为Text1 的文本框。
影响Text1 的Tab 顺序的属性是tabindex 。
6. 表达式5/4*6\5Mod2 的值是。
7.为了使计时器控件Timer1 每隔0.5 秒触发一次Timer 事件,应将Timer1 控
件的interval 属性设置为500 。
8.Rnd 函数的值的范围为[0,1 )。
9.为了给x,y,z 这3 个变量赋初值1,正确的赋值语句是
10.数组:Dima(4,-2To3,3)包含的元素的个数为120 。
三、请完成下列的程序(共15 分)
1. 一下程序实现的是求解1!+2!+3!+⋯+n!的值,其中n 的值由输入框读入。
请在程序中下划线处填入相应的内容。
(5 分)
Dimn,sum,multiaslong
DimI,jaslong
N =val(inputbox(“输入N 的值是:” ))
sum= 0
forI=1ton
multi= 1
forj=1toI
multi=multi*j
nextj
sum=sum+multi
nextI
printsum
2. 输入若干字符,统计有多少个元音字母、有多少个其他字母,不区分大小写,直接按Enter 键结束,并显示结果。
其中,CountY 中放元音字母个数,CountC 中放其他字符数。
DimCountY%,CountC%
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
DimC$
C= ucase(ch,(keyascii))
If “A”< =CAndC<=“Z”Then
SelectCase C
Case “ a”, ”e”, ”i ”, ”o”, ”u”
CountY=CountY+1
Case else
CountC=CountC+1
EndSelect
EndIf
If keyascii=13 Then
Print “元音字母有”;CountY;“个”
Print “其它字母有”;CountC;“个”
EndIf
EndSub 请在程序中下划线处填入相应的内容。
四、操作题(第一题15 分,第二小题20 分,共计35分) 提示:请同学们
在E 盘下面建立一个以自己的名字和学号命名的文件
夹,然后将自己设计的窗体文件保存在这个文件夹下面即可,工程文件可以不保存,但窗体一定要保存
1、编程实现打印以下图案( 15 分)
abc
abcde
abcdefg
abcdefghi
2、用单选按钮和复选框控制文本框中输入的字体
要求:两个单选按钮,两个复选框(图形)。
一个文本框(设计时已经输入文字,字体三号)。
一个图片框,用于显示文本框中文本的字体。
一个命令按钮用于切换字体。
界面设计如图所示(20 分)。