VB程序设计练习题及参考答案.docx
《VB程序设计练习题及参考答案.docx》由会员分享,可在线阅读,更多相关《VB程序设计练习题及参考答案.docx(29页珍藏版)》请在冰豆网上搜索。
![VB程序设计练习题及参考答案.docx](https://file1.bdocx.com/fileroot1/2023-1/22/185eb246-d99e-4e2a-9203-21eb8767510c/185eb246-d99e-4e2a-9203-21eb8767510c1.gif)
VB程序设计练习题及参考答案
VisualBasic程序设计练习题
一、填空题
1.当进入VB集成环境,发现没有显示“工具箱”窗口时,应选择 菜单的 选项,使“工具箱”窗口显示。
2.当对命令按钮的Picture属性装入.bmp图形文件后,选项按钮上并没有显示所需的图形,原因是没有对 属性设置为1(Graphical)。
3.在文本框中,通过 属性能获得当前插入点所在的位置。
4.要对文本框中已有的内容进行编辑,按下键盘上的按键,就是不起作用,原因是设置
属性为True。
5.在窗体上已建立多个控件如Text1、Label1、Command1,若要使程序一运行焦点就定位在Command1控件上,应把Command1控件的 属性的值设置为 。
6.在VB中,1234、123456&、1.2346E+5、1.2346D+5四个常数分别表示 、
、 、 。
7.整型变量x中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现的表达式是 。
8.表示x是5的倍数或是9的倍数的逻辑表达式为 。
9.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:
a>=0ANDa+c>b+3ORNOTd的值是 。
10.Int(-3.5)、Int(3.5)值分别是 、 。
11.表达式Ucase(Mid("abcdefgh",3,4))的值是 。
12.要使下列For语句循环执行20次,循环变量的初值应当是:
Fork=to-5Step-2
13.下面程序段显示 个“*”。
Fori=1To5
Forj=1Toi
Print"*";
Nextj
Nexti
14.复选框 属性设置为2-Grayed时,变成灰色,禁止用户选择。
15. 属性设置为1,单选按钮和复选框的标题显示在左边。
16. 属性设置为1,单选按钮和复选框以图形方式显示。
17.在程序运行时,如果将框架的 属性设为False,则框架的标题呈灰色,表示框架内的所有对象均被屏蔽,不允许用户对其进行操作。
18.列表框中项目的序号是从 开始的。
19. 表示列表框中最后一项的序号。
20. 方法可清除列表框的所有内容。
21.组合框是组合了文本框和列表框的特性而形成的一种控件。
风格的组合框不允许用户输入列表框中没有的项。
22.VB程序存贮在模块中,模块分有__________、__________和___________三种类型。
23.如果要每隔15秒产生一个Timer事件,则Interval属性应设置为 。
24. 函数将返回系统的时间。
25.菜单的热键指使用 键和菜单项标题中的一个字符来打开菜单。
建立热键的方法是在菜单标题的某个字符前加上一个 符号,在菜单中这一字符会自动加上 ,表示该字符是一个热键字符。
26.如果在建立菜单时在标题文本框中输入一个“ ”,那么菜单显示时形成一个分隔线。
27.在VisualBasic中,提供、、三种键盘事件,窗体和接受键盘输入的控件都识别这三种事件。
28.大多数控件能够识别鼠标的、和事件,通过响应这些鼠标事件,能在应用程序对鼠标位置及状态的变化做出响应操作。
二、选择题
1.VisualBasic是一种面向对象的可视化程序设计语言,采取了 的编程机制。
A.事件驱动 B.按过程顺序执行 C.从主程序开始执行 D.按模块顺序执行
2.在VisualBasic中最基本的对象是 ,它是应用程序的基石,是其他控件的容器。
A.文本框 B.命令按钮 C.窗体 D.标签
3.多窗体程序是由多个窗体组成。
在缺省情况下,VB在应用程序执行时,总是把 指定为启动窗体。
A.不包含任何控件的窗体 B.设计时的第一个窗体
C.包含控件最多的 D.命名为Frm1的窗体
4.若有程序代码如下:
text1.text="VisualBasic"
则:
text1,text和"VisualBasic"分别代表 。
A.对象,值,属性 B.对象,方法,属性
C.对象,属性,值 D.属性,对象,值
5.VisualBasic是一种面向对象的程序设计语言, 不是面向对象系统所包含的三要素。
A.变量 B.事件 C.属性 D.方法
6.在VB集成环境创建VB应用程序时,除了工具箱窗口、窗体中的窗口、属性窗口外,必不可少的窗口是 。
A.窗体布局窗口 B.立即窗口 C.代码窗口D.监视窗口
7.保存新建的工程时,默认存放的位置是 。
A.MyDocumentsB.VB98C.\D.Windows
8.若要使标签控件显示时不覆盖其背景内容,要对 属性进行设置。
A.BackColor B.BorderStyleC.ForeColor D.BackStyle
9.若要使命令按钮不可操作,要对 属性设置。
A.Enabled B.Visible C.BackColorD.Caption
10.文本框没有 属性。
A.Enabled B.Visible C.BackColor D.Caption
11.不论何控件,共同具有的是 属性。
A.Text B.Name C.ForeColor D.Caption
12.要使Form1窗体的标题栏显示“欢迎使用VB”,以下 语句是正确的。
A.Form1.Caption=“欢迎使用VB”
B.Form1.Caption='欢迎使用VB'
C.Form1.Caption=欢迎使用VB
D.Form1.Caption="欢迎使用VB"
13.要使某控件在运行时不可显示,应对 属性进行设置。
A.Enabled B.Visible C.BackColor D.Caption
14.当运行程序时,系统自动执行启动窗体的 事件过程。
A.Load B.Click C.Unload D.GotFocus
15.当文本框的ScrollBars属性设置了非零值,却没有效果,原因是 。
A.文本框中没有内容 B.文本框的MultiLine属性为False
C.文本框的MultiLine属性为TrueD.文本框的Locked属性为True
16.要判断在文本框是否按了Enter键,应在文本框的 事件中判断。
A.Change B.KeyDown C.Click D.KeyPress
17.窗体Form1的Name属性是Frm1,它的单击事件过程名是 。
A.Form1_Click B.Form_Click C.Frm1_ClickD.Me_Click
18.在一行内写多条语句时,每个语句之间用符号 分隔。
A., B. :
C.、 D. ;
19.一句语句要在下一行继续写,用 符号作为续行符。
A.+B.-C._D.…
20.下面 是合法的变量名。
A.X_yzB.123abcC.integerD.X-Y
21.下面 是不合法的整常数。
A.100 B.&O100 C.&H100D.%100
22.下面 是合法的字符常数。
A.ABC$ B."ABC"C.'ABC'D.ABC
23.下面 是合法的单精度型变量。
A.num!
B.sum%C.xinte$D.mm#
24.下面 是不合法的单精度常数。
A.100!
B.100.0C.1E+2D.100.0D+2
25.表达式16/4-2^5*8/4mod5\2的值为 。
A.14 B.4 C.20 D.2
26.数学关系3≤x<10表示成正确的VB表达式为 。
A.3<=x<10B.3<=xANDx<10
C.x>=3ORx<10D.3<=xAND<10
27.\、/、MOD、*四个算术运算符中,优先级别最低的是 。
A.\B./C.MODD.*
28.Rnd函数不可能为下列 值。
A.0 B.1C.0.1234D.0.0005
29.Int(198.555*100+0.5)/100的值为 。
A.198B.199.6C.198.56D.200
30.已知A$="12345678",则表达式Val(Left$(A$,4)+Mid$(A$,4,2))的值为 。
A.123456B.123445C.8 D.6
31.表达式的Len("123程序设计ABC")的值是 。
A.10 B.14 C.20 D.17
32.表达式的LenB("123程序设计ABC")的值是 。
A.10 B.14 C.20 D.17
33.下面正确的赋值语句是 。
A.x+y=30B.y=π*r*rC.y=x+30D.3y=x
34.为了给x,y,z三个变量赋初值1,下面正确的赋值语句是 。
A.x=1:
y=1:
z=1B.x=1,y=1,z=1C.x=y=z=1D.xyz=1
35.赋值语句:
a=123+MID("123456",3,2)执行后,a变量中的值是 。
A."12334" B.123 C.12334 D.157
36.赋值语句:
a=123&MID("123456",3,2)执行后,a变量中的值是 。
A."12334" B.123 C.12334 D.157
37.把字符串“123”转换为数值123时应该使用的函数是 。
A.StrB.ValC.LenD.Log
38.下列各表达式能产生[1,3]随机整数的是 。
A.rnd()*3+1B.rnd()*2)+1
C.int(rnd()*2)+1 D.int(rnd()*3)+1
39.代数式
对应的VB表达式是 。
A.E^X*Sin(30*3.14/180)*2*x/x+y*log(x)
B.Exp(x)*Sin(30)*2*x/(x+y)*ln(x)
C.Exp(X)*Sin(30*3.14/180)*2*x/(x+y)*log(x)
D.Exp(X)*Sin(30*3.14/180)*2*x/(x+y)*ln(x)
40.VB提供了结构化程序设计的三种基本结构,三种基本结构是 。
A.递归结构、选择结构、循环结构 B.选择结构、过程结构、顺序结构
C.过程结构、输入、输出结构、转向结构D.选择结构、循环结构、顺序结构
41.下面程序段运行后,显示的结果是 。
Dimx
IfxThenPrintxElsePrintx+1
A.1 B.0 C.显示出错信息D.2
42.语句Ifx=1Theny=1,下列说法正确的是 。
A.x=1和y=1均为赋值语句 B.x=1和y=1均为关系表达式
C.x=1为关系表达式,y=1为赋值语句D.x=1为赋值语句,y=1为关系表达式
43.用If语句表示分段函数
√x+1,x>=1
f(x)=
x2+3,x<1
下列不正确的程序段是 。
A.Ifx>=1Thenf=sqr(x+1) B.Ifx>=1Thenf=sqr(x+1)
f=x*x+3Ifx<1Thenf=x*x+3
C.Ifx>=1Thenf=sqr(x+1)Elsef=x*x+3D.Ifx<1Thenf=x*x+3Elsef=sqr(x+1)
44.计算分段函数的值。
0x<0
10≤x<1
y=21≤x<2
3x≥2
下面程序段中正确的是 。
A.Ifx<0Theny=0B.Ifx>=2Theny=3
Ifx<1Theny=1Ifx>=1Theny=2
Ifx<2Theny=2Ifx>0Theny=1
Ifx>=2Theny=3Ifx<0Theny=0
C.Ifx<0ThenD.Ifx>=2Then
y=0y=3
ElseIfx>0ThenElseIfx>=1Then
y=1y=2
ElseIfx>1ThenElseIfx>=0Then
y=2y=1
ElseElse
y=3y=0
EndIfEndIf
45.下面程序段,显示的结果是 。
Dimx
x=Int(Rnd)+5
SelectCasex
Case5
Print"优秀"
Case4
Print"良好"
Case3
Print"通过"
CaseElse
Print"不通过"
EndSelect
A.优秀B.良好C.通过D.不通过
46.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 。
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
47.下面程序段求两个数中的大数, 不正确。
A.Max=IIf(x>y,x,y) B.Ifx>yThenMax=xElseMax=y
C.Max=xD.Ify>=xThenMax=y
Ify>xThenMax=y Max=x
48.以下 是正确的For…Next结构。
A.Forx=1ToStep10B.Forx=3To–3Step-3
……
Nextx Nextx
C.Forx=1To10D.Forx=3To10Step3
Re:
……
Nextx Nexty
IfI=10ThenGotoRe
49.下列循环语句能正常结束循环的是 。
A.i=5B.i=1
DoDo
i=i+1i=i+2
LoopUntili<0LoopUntili=10
C.i=10D.i=6
DoDo
i=i–1i=i-2
LoopUntili<0LoopUntili=1
50.下面程序段的运行结果为 。
Fori=3To1Step-1
PrintSpc(5-i);
Forj=1To2*i-1
Print"*";
Nextj
Print
Nexti
A. *B.*****C.*****D.*****
*** ****** ***
***** ** *
51.哪个程序段不能分别正确显示1!
、2!
、3!
、4!
的值 。
A.Fori=1To4B.Fori=1To4
n=1Forj=1toi
Forj=1Toin=1
n=n*jn=n*j
NextjNextj
PrintnPrintn
NextiNexti
C.n=1D.n=1
Forj=1To4j=1
n=n*jDowhilej<=4
Printnn=n*j
NextjPrintn
j=j+1
Loop
52.如下静态数组声明语句, 正确。
A.Dima[3,4]AsIntegerB.Dima(3,4)AsInteger
C.Dima(n,n)AsIntegerD.ReDima(3,4)AsInteger
53.要分配存放如下方阵的数据,可使用数组声明语句 来实现(不能浪费空间)。
1.12.23.3
4.45.56.6
7.78.89.9
A.Dima(9)AsSingleB.Dima(3,3)AsSingle
C.Dima(-1to1,-5to–3)AsSingleD.Dima(-3to–1,5to7)AsInteger
54.如下数组声明语句中,数组a包含元素的个数为 。
Dima(3,-2to2)
A.20B.75C.60D.13
55.以下程序输出的结果是 。
Dima
a=Array(1,2,3,4,5,6,7)
Fori=LBound(a)ToUBound(a)
a(i)=a(i)*a(i)
Nexti
Printa(i)
A.49B.0C.不确定 D.程序出错
56.以下程序输出的结果是 。
OptionBase1
PrivateSubCommand1_Click()
Dima,b(3,3)
a=Array(1,2,3,4,5,6,7,8,9)
Fori=1To3
Forj=1To3
b(i,j)=a(i*j)
If(j>=i)ThenPrintTab(j*3);Format(b(i,j),"###");
Nextj
Print
Nexti
EndSub
A.1 23B. 1C.147D.123
256 4524646
789 7893699
57.在过程定义中用表示形参的传值。
A.VarB.ByDefC.ByValD.Value
58.若已编写了一个Sort子过程,在该工程中有多个窗体,为了方便地调用Sort子过程,应该将过程放在。
A.窗体模块B.标准模块 C.类模块D.工程
59.在过程中定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则应使用关键字在过程中定义局部变量。
A.DimB.PrivateC.PublicD.Static
60.如果在立即窗口中执行以下操作:
a=8(是回车键,下同)
b=9
printa>b
则输出结果是。
A.-1B.0C.FalseD.True
61.下面说明子过程语句中合法的是。
A.Subf1(ByVal n%())B.Subf1(n%)AsInteger
C.Functionf1%(f1%)D.Functionf1(ByValn%)
62.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是。
A.Subf1(ByValn%,ByValm%)B.Subf1(n%,ByValm%)
C.Subf1(n%,m%)D.Subf1(ByValn%,m%)
63.下面过程运行后显示的结果是。
PublicSubF1(n%,ByValm%)
n=nMod10
m=m\10
EndSub
PrivateSubCommand1_Click()
Dimx%,y%
x=12:
y=34
CallF1(x,y)
Printx,y
EndSub
A.234B.1234C.23D.123
64.如下程序,运行的结果是。
Dima%,b%,c%
PublicSubp1(x%,y%)
Dimc%
x=2*x:
y=y+2:
c=x+y
EndSub
PublicSubp2(x%,ByValy%)
Dimc%
x=2*x:
y=y+2:
c=x+y
EndSub
PrivateSubCommand1_Click()
a=2:
b=4:
c=6
Callp1(a,b)
Print"a=";a;"b=";b;"c=";c
Callp2(a,b)
Print"a=";a;"b=";b;"c=";c
EndSub
A.a=2b=4c=6B.a=4b=6c=10
a=4b=6c=10 a=8b=8c=16
C.a=4b=6c=6D.a=4b=6c=14
a=8b=6c=6 a=8b=8c=6
65.下列控件中,没有Caption属性的是。
A.框架 B.列表框 C.复选框 D.单选按钮
66.复选框的Value属性为1时,表示。
A.复选框未被选中 B.复选框被选中
C.复选框内有灰色的勾 D.复选框操作有错误
67.用来设置粗体字的属性是。
A.FontItalicB.FontNameC.FontBoldD.FontSize
68.将数据项“China”添加到列表框(List1)中成为第一项应使用。
A.List1.AddItem"China",0 B.List1.AddItem"China",1
C.List1.AddItem0,"China" D.List1.AddItem1,"China"
69.引用列表框(List1)最后一个数据项应使用。
A.List1.List(List1.Lis