Visual Basic程序设计期末综合练习.docx
《Visual Basic程序设计期末综合练习.docx》由会员分享,可在线阅读,更多相关《Visual Basic程序设计期末综合练习.docx(43页珍藏版)》请在冰豆网上搜索。
![Visual Basic程序设计期末综合练习.docx](https://file1.bdocx.com/fileroot1/2023-8/7/538bc090-e9f7-42ab-9b5d-d69b9b2a48b4/538bc090-e9f7-42ab-9b5d-d69b9b2a48b41.gif)
VisualBasic程序设计期末综合练习
VisualBasic程序设计期末综合练习
期末综合练习一
一、单项选择题
1.将一个VB程序保存在磁盘上,至少会产生的文件是(C)。
A..doc、.txtB..txt、.exeC..vbp、.frmD..bat、.frm
2.后缀为.Vbp的文件表示VB的( C )
A.类模块文件B.窗体文件C.工程文件D.标准类模块文件
3.如果要在文本框中键入字符时,只显示某个字符,如星号(*),应设置文本框的(B)属性。
A.CaptionB.PasswordCharC.TextD.Char
4.当需要上下文帮助时,选择要帮助的内容,希望出现MSDN窗口及显示所需的帮助信息,应按的键是(C)。
A.HelpB.F10C.F1D.Esc
5.MsgBox函数的返回值的类型是( B )。
A.字符串B.整型C.逻辑型D.日期型
6.为了保存一个VisualBasic应用程序,下列说法正确的是(D)。
A.只保存窗体文件(.frm)B.只保存工程文件(.vbp)
C.分别保存工程文件和标准模块文件(.bas)
D.分别保存工程文件、窗体文件和标准模块文件
7.有程序代码如下:
Text1.Text="VB你好!
"
则Text1,Text,和"VB编程世界"分别代表(D)。
A.对象,值,属性B.属性,对象,值
C.对象,方法,属性D.对象,属性,值
8.在VisualBasic中,变量的默认类型是(B)
A.IntegerB.VariantC.DoubleD.Currency
9.Timer控件只有一个事件,该事件的名称是(B)。
A.LoadB.TimerC.ClickD.Run
10.Timer控件可用于后台进程中,可在Timer事件内编程,要停止触发Timer事件,需要设置的属性是(A)
A.Interval=0或Enabled=FalseB.Interval=0或Visible=False
C.Enabled=False或Enabled=0D.Interval=0且Enabled=False
11.当一个工程中含有多个窗体时,其中的启动窗体是(D)。
A.启动VB时创建的第一个窗体B.第一个添加的窗体
C.最后一个添加的窗体D.在“工程属性”对话框中指定的窗体
12.刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是(D)。
A.单选按纽B.图片框C.框架D.通用对话框
13.下列变量名中合法的是(D)。
A.IFB.7ABC.A[B]7D.AB_7
14.为使文本框显示滚动条,必须首先设置的属性是( B )。
A.AutoSizeB.MultilineC.AlignmentD.TabStop
15.DimA(6,6)AsInteger定义的数组包含的元素个数是(B)。
A.36B.42C.49D.动态变化
16DimIAsInteger,则运行时变量I的初始值是( A )。
A.0B.1C.-1D.空值
17.在代码编辑器中,如果一条语句太长,无法在一行内写下(不包括注释),要折行书写,可以在行末使用续行字符(D),表示下一行是当前行的继续。
A.直接回车B.一个下划字符(_)
C.一个空格加一个连字符(-)D.一个空格加一个下划字符(_)
18.要在窗体的标题栏内内显示“myfrm”,使用的语句是(D)。
A.Form.caption="myfrm"B.Form.print"myfrm"
C.Form1.print"myfrm"D.Form1.caption="myfrm"
19.如果希望以模态方式显示窗体Form1,下列正确的语句是(C)。
A.Form1.Show0B.Form1.ShowC.Form1.Show1D.Form1.Show0,1
20.要设置命令按钮的背景图形,必须设置的两个属性是(C)。
A.Value和IconB.Style和IconC.Style和PictureD.Caption和Picture
21.确定一个控件在窗体上位置的属性是(D)。
A.Width或HeightB.Width和HeightC.Top或LeftD.Top和Left
22.如果创建了命令按钮数组控件,那么Click事件的参数是( C )。
A.TagB.CaptionC.IndexD.As
23.以下哪一种结构不是VisualBasic语言的循环控制结构是(B)。
A.For结构B.SelectCase结构C.While结构D.Do结构
24.下列关于变量的说法不正确的是(B)。
A.局部变量是指那些在过程中用Dim语句或Static语句声明的变量
B.局部变量在声明它的过程执行完毕后就被释放了
C.静态局部变量是在过程中用Static语句声明的
D.局部变量的作用域仅限于声明它的过程
25.为了使图像框Image中的图形自动适应图像框的大小,则应(A)。
A.将其Stretch属性值设置为TrueB.将其Stretch属性值设置为False
C.将其AutoSize属性值设置为TrueD.将其AutoSize属性值设置为False
26.VB程序中通常不会产生错误提示的是( D )。
A.编译错误 B.实时错误C.运行时错误 D.逻辑错误
27.目录列表框的Path属性的作用是(B)。
A.显示当前驱动器或指定驱动器上的某目录下的文件名
B.显示当前驱动器或指定驱动器上的路径C.显示根目录下的文件名
D.只显示当前路径下的文件
28.使用ADO数据模型时,建立Recordset和Connection对象连接的属性是(D)。
A.Execute B.CommandTypeC.Open D.ActiveConnection
29.Winsock控件的LocalIP属性的作用是(D)。
A.返回本地计算机的名称B.返回或者设置所用的端口
C.返回远程机器的IP地址D.返回本地计算机的IP地址
30.不属于VB数据库引擎的是( C )。
A.ODBCB.Jet引擎C.BDE D.OLEDB
二、填空题
1.全局变量在整个应用程序中有效,一般在模块代码编辑器的顶部用Public语句声明。
2.VisualBasic提供了结构化程序设计的3种基本结构,这3种基本结构是顺序结构、选择结构和循环结构。
3.表达式7+10Mod3^2+3的值是11。
4.定时器(Timer)控件可识别的事件是Timer,发生该事件的时间间隔由定时器的Interval属性设置。
5.定时器(Timer)控件可识别的事件是Timer,发生该事件的时间间隔由定时器的Interval属性设置,其单位为ms。
6.VisualBasic程序开发有三种模式,即设计模式、中断模式和执行模式。
7.在VB中,将数据库分为本地数据库,外部数据库和远程数据库三种类型
8.全局变量在整个应用程序中有效,一般在标准模块中使用Public语句声明。
9.设某个程序中要用到一个二维数组,要求数组名为A,类型为字符串类型,第一维下标从0到4,第二维下标从-2到4,则相应的数组声明语句为DimA(0To4,-2To4)AsString。
10.控件数组的名字由Name属性指定,而数组中的每个元素由Index属性决定。
11.DimiAsInteger,则运行时变量i的初始值是0。
12.列表框中项目的序号是从0开始的。
13.在VB中,将Access称为本地数据库,SQLServer称为远程数据库。
14.使用ADO模型时,可通过ActiveConnection属性建立Recordset和Connection对象的连接。
15.VB中参数传递的方式有两种,一种是引用参数传递(或按址传递)参数,另一种是按值传递参数。
16.过程级变量是指在过程内部声明的变量,用Dim关键字来声明。
17.Winsock控件主要用来编制TCP/IP或UDP协议的通话程序。
18.VB中引用传递参数方式是将实参变量的内存地址传递给Sub或Function过程。
19.某个程序中要用到一个二维数组,要求数组名为B,类型为字符串类型,第一维下标从0到3,第二维下标从-1到2,则相应的数组声明语句为DimB(0To3,-1To2)AsString。
三、阅读程序题
阅读下列程序并写出程序运行结果
1.PrivateSubForm_Click()
DimiAsInteger,kAsInteger
k=0
Fori=1To4
Ifi>2Then
k=k+4
ExitFor
Else
k=k+1
EndIf
Nexti
Printi,k
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
39
2.PrivateSubForm_Click()
DimxAsInteger
StaticyAsInteger
x=x+3
y=x+y
Form1.Print"x=";x,"y=";y
EndSub
写出程序运行时连续单击三次窗体后,Form1上的输出结果。
x=3y=3
x=3y=6
x=3y=9
3.FunctionF(aAsInteger)
b=2
StaticcAsInteger
b=b+1
c=c+2
F=a+b+c
EndFunction
PrivateSubCommand1_Click()
DimaAsInteger
a=5
Fori=1To3
PrintF(a);
Nexti
EndSub
写出程序运行时,单击命令按钮在窗体上的输出结果。
101214
4.PrivateSubCommand1_Click()
DimsAsDouble
DimiAsInteger
s=5
i=1
DoWhilei<7
i=i+2
s=s+i
Loop
Text1.Text=s
EndSub
写出程序运行时,单击命令按钮文本框Text1中的输出结果。
20
5.PrivateSubCommand1_Click()
DimA(1To6)AsInteger
DimbAsInteger
Forb=1To6
A(b)=b
Nextb
Text1.Text=A(b-2)
EndSub写出程序运行时单击Command1按纽后,Text1上的输出结果。
5
6.PrivateSubForm_Click()
DimcAsInteger,jAsInteger,kAsInteger
k=3
c=4
Forj=1To5
Ifj>3Then
c=c+5
ExitFor
Else
k=k+1
EndIf
Nextj
Printc,k
EndSub
写出程序运行时单击窗体后,c,k的值分别是:
86
7.PublicSubchange1(ByValxAsInteger,ByValyAsInteger)
DimtAsInteger
t=x
x=y
y=t
EndSub
PublicSubchange2(xAsInteger,yAsInteger)
DimtAsInteger
t=x
x=y
y=t
EndSub
PrivateSubForm_Click()
DimaAsInteger,bAsInteger
a=20:
b=40
change1a,b
Form1.Print"A1=";a,"B1=";b
a=20:
b=40
change2a,b
Form1.Print"A2=";a,"B2=";b
EndSub
写出程序运行时,单击窗体Form1上的输出结果。
A1=20B1=40
A2=40B2=20
8.FunctionF(aAsInteger)
b=3
Staticc
b=b+1
c=c+1
F=a+b+c
EndFunction
PrivateSubCommand1_Click()
DimaAsInteger
a=2
Fori=1To3
PrintF(a)
Nexti
EndSub
写出程序运行时,单击命令按钮在窗体上的输出结果。
7
8
9
四、完善程序题
假设用Access创建了一个名为“学生.MDB”的数据库,并在其中创建了一张名为“学生基本情况”的数据表,表中存放了学生的基本信息,如图1所示。
现在要求利用VB编写一个数据库查询程序,程序的运行界面如图2所示,基本逻辑是:
首先文本框(Text1)中输入希望查询的学生学号,然后点击“查询”按钮(Command1),如果数据库中存在该学号,则分别在Text2、Text3、Text4中显示学号、姓名、籍贯信息,否则提示用户“记录不存在”并使Text1获得焦点,要求用户重新输入。
当点击退出按钮(Command2)时关闭本窗体。
图1用Access创建的学生基本情况数据表
图2查询程序运行界面
程序如下,请补充完整。
PrivateADOcnAsConnection
PrivateSubForm_Load()
[1]SetADOcn=NewConnection
ADOcn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:
\学生.MDB"
EndSub
PrivateSubCommand1_Click()
DimstrSQLAsString
DimADOrsAs[2]NewRecordset
ADOrs.ActiveConnection=ADOcn
strSQL="Select*From学生基本情况Where学号="+"'"+Text1+"'"
.[3]ADOrs.OpenstrSQL
If[4]NotADOrs.EOFThen
Text2=ADOrs.Fields("学号")
Text3=ADOrs.Fields("姓名")
Text4=ADOrs.Fields("籍贯")
Else
MsgBox"要查询的学号不存在,请重新输入!
",vbOKOnly,"信息提示"
Text1=""
[5]Text1.SetFocus
EndIf
EndSub
PrivateSubCommand2_Click()
UnLoadMe
End
五、编写程序题
1.编写一个用户界面如图3所示的列表框应用程序。
要求从文本框Text1中输入始发地名称,然后按“添加”按钮,把该名称添加到列表框List1中;当选择列表框中某一项后,按“删除”按钮,则从列表框中删除该项;当选择列表框中某一项后,按“修改”按钮,把列表框中选取的项送往文本框且“修改”按钮变为“修改确认”。
在文本框的内容修改好后,按“修改确认”按钮,再把文本框中修改后的信息送到列表框且“修改确认”按钮变为“修改”。
图3
PrivateSubForm_Load()
List1.AddItem"北京-上海"
List1.AddItem"北京-广州"
List1.AddItem"北京-四川"
List1.AddItem"北京-西安"
List1.AddItem"北京-重庆"
List1.AddItem"北京天津"
EndSub
PrivateSubCommand1_Click()
IfText1.Text<>""Then
List1.AddItemText1.Text'将文本框中的内容加到列表框中
Text1.Text=""
Else
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.请根据下列描述编写财务部门征收劳务酬金所得税程序,规定如下:
(1)收入在1000元以内,不扣税;
(2)收入在1000-3000元内,1000元以上部分扣税15%,
(3)收入在3000-5000元内,3000元以内按
(2)的方法扣税,3000元以上部分,扣税20%,
(4)当收入达到5000元以上,1000元以上扣税25%。
程序运行界面如图3所示。
图3
PrivateSubCommand1_Click()
DimxAsInteger,taxAsSingle
x=Val(Text1.Text)
Ifx<=1000Then
tax=0
Else
Ifx<=3000Then
tax=(x-1000)*0.15
Else
Ifx<=5000Then
tax=(x-1000)*0.15+(x-3000)*0.05
Else
tax=(x-1000)*0.25
EndIf
EndIf
EndIf
Text2.Text=tax
EndSub
期末综合练习二
一、单项选择题
1.后缀为.bas的文件表示VB的( D )。
A.窗体文件B.类模块文件C.工程文件D.标准类模块文件
2.刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是(D)。
A.单选按纽B.图片框C.框架D.通用对话框
3.当一个工程中含有多个窗体时,其中的启动窗体是(D)。
A.启动VB时创建的第一个窗体B.第一个添加的窗体
C.最后一个添加的窗体D.在“工程属性”对话框中指定的窗体
4.窗体文件的扩展名是(B)。
A..vbpB..frmC..basD..frx
5.要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对下列(B)属性设置就有效。
A.MaxButtonB.BorderSyleC.WidthD.MinButton
6.无论何种控件,共同具有的属性是( C )
A.TextB.CaptionC.NameD.ForeColor
7.有程序代码如下:
Text1.Text="VisualBasic"
则Text1,Text,和"VisualBasic"分别代表(C)。
A.对象,值,属性B.对象,方法,属性C.对象,属性,值D.属性,对象,值
8.要退出Do…Loop循环,可使用的语句是(C)语句。
A.ExitB.ExitForC.ExitDoD.EndDo
9.要设置命令按钮的背景图形,必须设置的两个属性是(D)。
A.Value和IconB.Style和IconC.Caption和PictureD.Style和Picture
10.有程序代码如下:
Text1.Text="欢迎学习VB!
"
则Text1,Text,和"欢迎学习VB!
"分别代表(B)。
A.对象,值,属性B.对象,属性,值C.对象,方法,属性D.属性,对象,值
11.在VB中,下列合法的变量名是(C)
A.4abB.a-bC.a_4D.integer
12.下列关于变量的说法不正确的是(A)。
A.局部变量在声明它的过程执行完毕后就被释放了
B.局部变量的作用域仅限于声明它的过程
C.静态局部变量是在过程中用Static语句声明的
D.局部变量是指那些在过程中用Dim语句或Static语句声明的变量
13.如下数组声明语句,正确的是( D )。
A.Dima[3,4]AsIntegerB.Dima(34)AsInteger
C.Dima(n,n)AsIntegerD.Dima(3,4)AsInteger
14.关于语句行,下列说法正确的是(D)。
A.一行只能写一条语句B.长度不能超过255个字符
C.每行的首字符必须大写D.一条语句可以分多行书写
15.要在窗体Form1内显示“欢迎您!
”,使用的语句是(C)
A.Form.caption="欢迎您!
"B.Form1.caption="欢迎您!
"
C.Form1.print"欢迎您!
"D.Form.print"欢迎您!
"
16.为了使图像框中的图形自动适应图像框的大小,则应(C)。
A.将其AutoSize属性值设置为TrueB.将其AutoSize属性值设置为False
C.将其Stretch属性值设置为TrueD.将其Stretch属性值设置为False
17.执行Form1.Scale(-14,14)-(14,-14)语句后,Form1窗体坐标系x轴和y轴的正方向是(B)。
A.向左和向下B.向右和向上C.向左和向上D.向右和向下
18.将数据项“China”添加到列表框(List1)中成为第一项,应使用的语句是(A)。
A.List1.AddItem"Chi