vb复习题.docx
《vb复习题.docx》由会员分享,可在线阅读,更多相关《vb复习题.docx(20页珍藏版)》请在冰豆网上搜索。
vb复习题
业余计算机信息管理06级专科
高级语言程序设计
一、单项选择题
1.VisualBasic应用程序处于中断模式时,应用程序暂时中断,这时不可(D)
A.编辑代码B.设计界面和编辑代码
C.继续运行程序D.设计界面
2.当需要上下文帮助时,选择要帮助的内容,希望出现MSDN窗口及显示所需的帮助信
息.应按的键是(D)
A.HelpB.F10
C.EscD.F1
3.当运行程序时,系统自动执行启动窗体的(A)
A.Load事件过程B.Click事件过程
C.Unload事件过程D.GotFocus事件过程
4.后缀为.Vbp的文件表示VB的(C)
A.类模块文件B.窗体文件
C.工程文件D.标准类模块文件
5.要在窗体Forml内显示"myfrm”,使用的语句是(C)
A.Form.caption=“myfrm”B.Forml.caption=“myfrm”
C.Forml.print“myfrm”D.Form.print“myfrm”
6.在设计动画时,用时钟控件来控制动画速度的属性是(B)
A.EnabledB.Interval
C.TimerD.Move
7.把字符串则转换为数值型需要使用的函数是(A)
A.ValB.Str
C.AscD.Chr
8.表达式7+10Mod3*2+2(B)
A.7B.13
C.6D.1
9.可用来改变坐标度量单位的是(D)
A.Drawstyle属性B.DrawWidth属性
C.Scale方法D.ScaleMode属性
10.在用Line方法时,参数B与F可组合使用,下列组合中不允许的是(B)
A.BFB.F
C.BD.不使用
11.下列赋值语句正确的是(A)
A.A=B+CB.B+C=A
C.—B=AD.2=A+B
12.如果仅需要得到当前系统时间,则可以使用哪个函数(A)
A.TimeB.Year
C.NowD.Date
13.键盘事件的执行顺序是(B)
A.KeyPress、KeyDown、KeyUpB.KeyDown、KeyPress、KeyUp
C.KeyUp、KeyDown、KeyPressD.KeyUp、KeyPtess,KeyDown
14.如果准备向随机文件中写人数据,正确的语句是(C)
A.Print#1,recB.Write#1,rec
C.Put#1,recD.Get#1,rec
15.Winsock控件的LocalPort属性的作用是(C)
A.仅返回所用端口B.仅设置所用端口
C.返回或设置所用端口D.返回或设置IP地址
16.下列关于变量的说法不正确的是(D)
A.局部变量是指那些在过程中用Dim语句或Static语句声明的变量
B.局部变量的作用域仅限于声明它的过程
C.静态局部变量是在过程中用Static语句声明的
D.局部变量在声明它的过程执行完毕后就被释放了
17.如果想让文本框中的内容在运行时不能编辑,需将文本框的(A)属性设置为True
A.LockedB.MultiLine
C.TabStopD.Visible
18.后缀为.frm的文件表示VB的(B)
A.类模块文件B.窗体文件
C,工程文件D.标准类模块文件
19.下列变量名合法的是(C)
A,20abB.a—b
C.a_2D.integer
20.逻辑表达式Not5>3And9<3Or7>5(A)
A.TrueB.False
C.表达式有错D.条件不足
21.表达式4+19\6*7/8Mod2的值是(B)
A.4B.5
C.6D.7
22.下列可以用来存储图像供其他对象使用的控件是(C)
A.TOOlBarB.StatursBar
C.ImageListD.TreeView
23.下列数据对象模型中采用OLEDB访问数据库的是(C)
A.DAOB.RDO
C.ADOD.RDO和ADO
24.启动VB后,就意味着要建立一个新(D)。
A.窗体B.程序
C.文件D.工程
25.后缀为.bas的文件表示(C)。
A.工程文件B.窗体文件
C.标准类模块文件D.窗体二进制数据文件
26.在文本框控件中将Text的内容全部显示为所定义的字符的属性是(B)。
A.PasswordB.PasswordChar
C.需要编程来实现D.以上都不是
27.下列四项中合法的变量名是(B)。
A.X-YZB.X_YZ
C.4XYZD.integer
28.无论何种控件,共同具有的属性是(C)。
A.TextB.Caption
C.NameD.ForeColor
29.如果仅需要得到当前系统时间,使用的函数是(B)。
A.NowB.Time
C.YearD.Date
30.表达式16/4-2^5*8/4MOD5\2(C)。
A.14B.20
C.4D.2
31.下列赋值语句正确的是(B)。
A.X+Y=CB.Y=X+C
C.-X=YD.5=X+Y
32.确定一个控件在窗体上位置的属性是(D)。
A.Width或HeightB.Width和Height
C.Top或LeftD.Top和Left
33.如果创建了命令按钮数组控件,那么Click事件的参数是(A)。
A.IndexB.Caption
C.TagD.没有参数
34.以下叙述中错误的是(C)。
A.一个工程中只能有一个SubMain过程
B.窗体的Show方法的作用是将指定的窗体载人内存并显示该窗体
C.窗体的Hide方法和Unload方法的作用完全相同
D.若工程文件中有多个窗体,可以根据需要指定—个窗体为启动窗体
35.使图像框Image控件中的图像自动适应控件的大小应(C)。
A.将控件的AutoSize属性设为TrueB.将控件的AutoSize属性设为False
C.将控件的Stretche属性设为TrueD.将控件的Stretche属性设为False
36.使用ADO数据模型时,使Recordset和Connection对象建立连接的属性是(B)。
A.CommandTypeB.ActiveConneetion
C.OpenD.Execute
37.如果准备读文件,打开顺序文件”text.dat”的正确语句是(C)。
A.Open“text.dat”ForWriteAs#1B.Open“text.dat”ForBinaryAs#1
C.Open“text.dat”ForInputAs#1D.Open“text.dat”ForRandomAs#1
38.用Line方法画直线后,当前坐标在(C)。
A.(0,0)B.直线起点
C.直线终点D.容器的中心
二、填空题
1.数学表达式
写成等价的VisualBasic表达式为_5^(1/2)*cos(60*3.14/18O),或者Sqr(5)*cos(60*3.14/180)_。
2.以下语句的输出结果是______6_____。
DimaAsInteger
a=6.28
Printa
3.用DimA(4,4)语句声明二维数组后,数组A的元素共有__25__个。
4.Label和TextBox控件用来显示和输入文本,如果仅需要让应用程序在窗体中显示文本信息,可使用__Label__控件;若允许用户输入文本,则通常使用__TextBox_控件。
5.在VisualBasic程序中实现复制文件“c:
\command.Com”到d:
盘根目录下的语句为__FileCopy“c:
\command.Com”,“d:
\command.Com”__。
6.若已建立了Forml和Fohn2两个窗体,默认启动窗体为Form1。
通过__工程___菜单___工程属性___命令的____通用____选项卡,可将启动窗体设置为Form2。
在程序中若要显示Form1窗体,则执行___Form1.Show__语句。
7.VB中的程序错误类型主要有_编译错误_、__实时错误__、__逻辑错误__三种。
8.用Line方法画直线后,当前坐标为__直线的终点_。
9.使用ADO模型时,可通过_ActiveConnection_属性建立Recordset和Connection对象的连接。
10.在VB中,要想获得某个相关控件或语句的帮助信息,一般可首先选中该控件或语句,然后按F1键。
11.每个应用程序都有开始执行的入口,在VB中将这种窗体称为启动窗体。
12.执行赋值语句a="123"+"456"后,变量a的值是123456·
13.数学关系8≤x<30表示成正确的VB表达式为8<=xANDx<30·
14.以窗体Forml的中心为圆心,画一个半径为500的圆的语句是Circle(ScalWidth/2,ScalHeight/2),500。
15.要在窗体Forml内显示”欢迎您”,使用的语句是Form1.Print“欢迎您”。
16.设某个程序中要用到一个二维数组,要求数组名为A,类型为字符串类型,第一维下标从。
到5,第二维下标从一2到5,则相应的数组声明语句为DimA(0To5,-2To5)AsString。
17.Winsock控件主要用来编制TCP/IP或UDP协议的通话程序。
18.VB提供了结构化程序设计的三种基本结构,这三种基本结构是选择结构、顺序结构、循环结构。
三、阅读程序题
阅读下列程序并写出程序运行结果
1.PrivateSubForm_Click()
DimsAsLong,fAsLong
DimnAsInteger,iAsInteger
f=1
n=3
Fori=1ton
f=f+1
s=s+f
Next
Print“s=”;s
EndSub
写出程序运行时单击窗体后,窗体Form1上的输出结果。
S=13
2.FunctionF(aAsInteger)
DimbAsInteger
StaticcAsInteger
b=b+1
c=c+1
F=a+b+c
EndFunction
PrivateSubCommand1_Click()
DimaAsInteger
a=4
Fori=1To3
PrintF(a)
Nexti
EndSub
写出程序运行时,单击命令按钮在窗体上的输出结果。
6
7
8
3.PrivateSubCommand1_Click()
x=0
DoWhilex<50
x=(x+2)*(x+3)
n=n+1
Loop
Text1.Text=Str(n)
Text2.Text=Str(x)
Text3.Text=Text1.Text+Text2.Text
Text4.Text=Val(Text1.Text)+Val(Text2.Text)
EndSub
文件框Text3和Text4的结果分别是:
27274
4.PrivateSubForm_Click()
Fori=1to2
Fork=1to2
a=a+1
Nextk
Nexti
Printa
Endsub
写出程序运行时单击窗体后,窗体Form上的输出结果。
4
5.DimnFlagAsInteger,sMystringAsString
PrivateSubForm_Click()
SelectCasenFlag
Case1
Form1.FontName=”黑体”
PrintsMystring
nFlag=nFlag+1
Case2
Form1.FontName=”宋体”
PrintsMystring
nFlag=nFlag+1
Case3
Form1.FontName=”楷体_GB2312”
PrintsMystring
nFlag=nFlag+1
CaseElse
Cls
nFlag=1
EndSelect
EndSub
PrivateSubForm_Load()
nFlag=1
sMystring=”欢迎使用VisualBasic!
”
EndSub
写出三次单击窗体后程序的运行结果:
第一次单击以黑体显示“欢迎使用VisualBasic!
”;第二次单击以宋体显示:
第三次击以楷体显示。
再次单击则清屏并还原成初始状态。
6.PrivateSubForm_Click()
DimcAsInteger,jAsInteger,kAsInteger,
k=0
c=1
Forj=1To6
Ifj>4Then
c=c+5
ExitFor
Else
k=k+1
EndIf
Nextj
Printc,k
EndSub
写出程序运行时单击窗体后c,k的值分别是:
64
7.PrivateSubCommand1_Click()
DimsAsDouble
DimiAsInteger
s=6
i=1
DoWhilei<8
i=i+2
s=s+i
Loop
Text1.text=s
EndSub
文本框Text1的输出结果是:
30
8.PrivateSubForm_Click()
DimA(1To3)AsString
DimcAsInteger
DimjAsInteger
A
(1)=“3”
A
(2)=“6”
A(3)=“9”
c=1
Forj=1To3
c=c+Val(A(j))
Nextj
Printc
EndSub
写出程序运行时单击窗体后,窗体Form1上的结果:
19
四、完善程序题
1.列表框应用程序。
要求从文本框中输入姓名,然后按“添加”按钮,把姓名添加到列表框中;当选择列表框中某一项后,按”删除”按钮,则从列表框中删除该项;当选择列表框中某一项后,按“修改”按钮,把列表框中选取的项送往文本框且“修改”按钮变为“修改确认”。
在文本框的内容修改好后,按“修改确认”按钮,再把文本框中修改后的信息送到列表框且“修改确认”按钮变为“修改”。
程序运行结果如图1所示。
图1
程序如下,请补充完整。
PrivateSubForm_Load()
List1.AddItem"李敏"
List1.AddItem"张华"
List1.AddItem"吕晓烨"
List1.AddItem"赵巍"
List1.AddItem"袁莉"
List1.AddItem"王晶"
List1.AddItem"何晓银"
List1.AddItem"伍宁"
List1.AddItem"崔键"
EndSub
PrivateSubCommand1_Click()
IfText1.Text=""Then
List1.AddItemText1.Text
Text1.Text=""
MsgBox"请在文本框中输入信息"
EndIf
EndSub
PrivateSubCommand2_Click()
list1.RemoveItemlist1.ListIndex
EndSub
PrivateSubCommand3_Click()
IfCommand3.Caption="修改"Then
Text1.Text=List1.Text
Text1.SetFocus
Command1.Enabled=False
Command2.Enabled=False
Command3.Caption="确认修改"
Else
List1.List(List1.ListIndex)=Text1.Text
Command1.Enabled=True
Command2.Enabled=True
Text1.Text=""
Command3.Caption="修改"
EndIf
EndSub
2.在窗休上建立一个驱动器列表框,目录列表框、文件列表框、图片框、文本框。
要求程序运行后,驱动器列表框Drivel的默认驱动器设置为D盘,选择Filel中所列的图片文件(*.bmp,*.gif和*.jpg),则相应的图片显示在图片框Picturel中,文件的路径显示在文本框中。
程序运行结果如图2所示。
图2
PrivateSubForm_Load()
Drive1.Drive="g:
\"
File1.Pattern="*.bmp;*.gif;*.jpg"
EndSub
PrivateSubDrive1_Change()
Dir1.Path=Drive1.Drive
Text1.text=Drive1.Drive
EndSub
PrivateSubDir1_Change()
File1.Path=Dir1.Path
Text1.Text=Dir1.Path
EndSub
PrivateSubFile1_Click()
Picture1.Picture=LoadPicture(File1.Path+"\"+File1.FileName)
FileName=File1.Path+"\"+File1.FileName
Text1.text=FileName
EndSub
3.已知存在一名为”学生”的SQLServer数据库,其中的”students”数据表用来存储学生的基本情况信息,包括学号、姓名、籍贯、性别。
请编写一个简单的应用程序,向students表中添加学生记录。
程序的基本逻辑是:
当窗体被加载时,程序联接SQLServer数据库;当点击”增加”按钮时,首先查询学号是否重复,如果不重复则向students表中添加学生记录。
其运行界面如图2所示.
图2
程序如下,请补充完整。
'声明对象变量ADOcn,用于创建与数据库的连接
PrivateADOcnAsConnection
PrivateSubForm_Load()
‘连接SQLServer数据库
DimstrDBAsString
strDB=“Provider=SQLOLEDB;LSF;UserID=sa;Password=;Database=学生__”
IfADOcnisNothingThen
SetADOcn=NewConnection
ADOcn.OpenstrDB
EndIf
EndSub
PrivateSubCommand1_Click()
‘增加学生记录
DimstrSQLAsString
DimADOrsAsNewRecordset
ADOrs.ActiveConnection=ADOcn
ADOrs.Open“Select学号FormStudentsWhere学号=”+“‘”+Text1+“‘”
IfNotADOrs.EOFThen
Msgbox“你输入的学号已存在、不能新增加!
”
Else
StrSQL=“InsertIntostudents(学号,姓名,省份,性别)”
StrSQL=strSQL+Values(“+“‘”+text1+“‘,’”+text2+“‘,’”+text3+“‘,’”+text4+“‘”)
ADOrs.ExecuteStrSQL
Msgbox“添加成功,请继续!
”
EndIf
PrivateSubCommand2_Click()
UnloadMe
EndSub
五、编写程序题
1.请根据下列描述编写财务部门征收劳务酬金所得税程序,规定如下,
(1)收入在1000元以内,扣税3%;
(2)收入在1000一3000元内、800元以上部分扣税15%;
(3)收入在3000一5000元内,3000元以内按
(2)的方法扣税,3000元以上部分,扣税20%;
(4)当收入达到5000元以上,扣税25%,
程序运行界面如图3所示。
图3
PrivateSubCommand1_click()
DimxAsInteger,taxAsSingle
x=Val(Text1.Text
Ifx<1000Then
tax=1000*0.03
Else
Ifx<=3000Then
tax=(x-800)*0.15
Else
Ifx<=5000Then
tax=(x-800)*0.15+(x-3000)*0.2
Else
tax=x*0.25
EndIf
EndIf
EndIf
Text2.Text=tax
EndSub
2.编写一个摄氏温度与华氏温度之间转换的程序.程序运行界面图3所示:
图3
提示:
华氏温度=9÷5×摄氏温度+32;“摄转华”按钮名称Command1;“华转摄”按钮名称Command2
PrivateSubCommand1_Click()
IfText1.Text<>””Then
Text2.Text=9/5*Text1.text+32
EndIf
EndSub
PrivateSubCommand2_Click()
IfText2.Text<>””Then
Text1.Text=(Text2.text-32)*5/9
EndIf
EndSub