Visual Basic程序设计期末复习二已排版.docx
《Visual Basic程序设计期末复习二已排版.docx》由会员分享,可在线阅读,更多相关《Visual Basic程序设计期末复习二已排版.docx(14页珍藏版)》请在冰豆网上搜索。
![Visual Basic程序设计期末复习二已排版.docx](https://file1.bdocx.com/fileroot1/2023-1/4/f7a5cee6-9a25-45e4-97aa-1d8c78519f88/f7a5cee6-9a25-45e4-97aa-1d8c78519f881.gif)
VisualBasic程序设计期末复习二已排版
VisualBasic程序设计期末复习二
一、单项选择题
1.刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是()。
A.单选按纽B.图片框
C.通用对话框D.文本框
2.与传统的程序设计语言相比,VisualBasic最突出的特点是()
A.结构化程序设计B.程序开发环境
C.事件驱动编程机制D.程序调试技术
3.将调试通过的工程经“文件”菜单的“生成.exe文件”编译成.exe后,将该可执行文件拿到其它机器上不能运行的主要原因是()。
A.缺少.frm窗体文件B.运行的机器上无VB系统
C.该可执行文件有病毒D.以上原因都不对
4.启动VB后,就意味着要建立一个新()。
A.文件B.窗体
C.程序D.工程
5.在VB环境中,标准类模块文件的扩展名是()。
A..vbpB..frmC..basD..frx
6.VisualBasic6.0集成开发环境有三种工作模式,下列不属于三种工作模式之一的是()。
A.设计模式B.执行模式
C.中断模式D.编写代码模式
7.下列4项中合法的变量名是()。
A.45xyzB.Single
C.x-yzD.x_yz
8.表达式64/2-2^3*9/3Mod8\3( )
A.0B.32
C.20D.4
9.要在窗体的标题内显示“myfrm”,使用的语句是()
A.Form1.Print"myfrm"B.Form.Print"myfrm"
C.Form.caption="myfrm"D.Form1.caption="myfrm"
10.无论何种控件,共同具有的属性是( )
A.TextB.Name
C.CaptionD.ForeColor
11.按照变量的作用域可将变量划分为()
A.公有、私有、系统B.全局变量、模块级变量、过程级变量
C.动态、常数、静态D.Public、Private、Protected
12.确定一个控件在窗体上位置的属性是()
A.Width或HeightB.Width和Height
C.Top或LeftD.Top和Left
13.要退出Do…Loop循环,可使用的语句是()语句。
A.ExitB.ExitForC.ExitDoD.EndDo
14.表达式8+10Mod2^2+3的值是()
A、4B、11C、12D、13
15.下列关于变量的说法不正确的是()。
A.局部变量是指那些在过程中用Dim语句或Static语句声明的变量
B.局部变量的作用域仅限于声明它的过程
C.静态局部变量是在过程中用Static语句声明的
D.局部变量在声明它的过程执行完毕后就被释放了
16.以下叙述中错误的是()。
A.一个工程中只能有一个SubMain过程
B.窗体的Show方法的作用是将指定的窗体载入内存并显示该窗体
C.窗体的Hide方法和Unload方法的作用完全相同
D.若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体
17.要绘制多种形状的图形,需要设置Shape控件的()属性
A.BorderstyleB.Shape
C.FillStyleD.Style
18.VB程序中通常不会产生错误提示的是( )。
A.编译错误 B.实时错误
C.运行时错误 D.逻辑错误
19.当Winsock控件处于关闭状态时,其State属性的值是()
A.0B.1
C.2 D.6
20.下列正确的赋值语句是()。
A.x+y=50B.y=*r*rC.y=x+50D.3y=x
21.使图像框Image控件中的图像自动适应控件的大小应( )。
A.将控件的Stretche属性设为TrueB.将控件的Stretche属性设为False
C.将控件的AutoSize属性设为TrueD.将控件的AutoSize属性设为False
22.目录列表框的Path属性的作用是()
A.显示当前驱动器或指定驱动器上的路径
B.显示当前驱动器或指定驱动器上的某目录下的文件名
C.显示根目录下的文件名
D.只显示当前路径下的文件
23.下列数据对象模型中采用OLEDB访问数据库的是( )。
A.DAO B.ADO C.RDO D.RDO和ADO
24.使用ADO数据模型时,使Recordset和Connection对象建立连接的属性是( )。
A.CommandTypeB.ActiveConnection
C.OpenD.Execute
25.如果准备读文件,打开顺序文件”text.dat”的正确语句是()
A.open"text.dat"ForwrireAs#1
B.open"text.dat"ForBinaryAs#1
C.open"text.dat"ForInputAs#1
D.open"text.dat"ForRandomAs#1
二、填空题
1.用Line方法画直线后,当前坐标在直线终点。
2.在VB中,要想获得某个相关控件或语句的帮助信息,一般可首先选中该控件或语句,然后按F1键。
3.应用程序打包后,其包文件的后缀为cab。
4.如果要每隔10s产生一个Timer事件,则Interval属性应设置为10000。
5.每个应用程序都有开始执行的入口,在VB中将这种窗体称为启动窗体。
6.控件数组的名字由Name属性指定,而数组中的每个元素由Index属性决定。
7.数学关系15≤x<45表示成正确的VB表达式为15<=xANDx<45。
8.以窗体Form1的中心为圆心,画一个半径为300的圆的语句是Circle(ScaleWidth/2,ScaleHeight/2),300。
9.假设ADOrs为一个Recordset对象,那么从Table1表中获取所有记录的语句是
ADOrsOpen”Select*FromTable1”
10.在VB中,将Foxpro称为外部数据库,Access称为本地数据库,SQLServer称为远程数据库。
11.设某个程序中要用到一个二维数组,要求数组名为A,类型为字符串类型,第一维下标从1到4,第二维下标从-1到4,则相应的数组声明语句为DimA(1To4,-1To4)AsString。
12.若窗体Form1左上角坐标为(0,500),右下角的坐标为(800,-200)。
则X轴的正向向右,Y轴的正向向上。
13.全局变量在整个应用程序中有效,一般在模块代码编辑器的顶部用Public语句声明。
14.列表框中项目的序号是从0开始的。
15.Winsock控件主要用来编制TCP/IP或UDP协议的通话程序。
16.Vb应用程序与数据库进行通信的主要机制称为数据库引擎。
17.Image控件的Stretch属性设置为False时,图像框可自动改变大小以适应其中的图形。
18.在整个程序运行时,用Static声明的局部变量是静态的,其值可以在该过程所在的模块运行期间一直存在,而用Dim声明的变量只能在过程执行期间才存在。
三、阅读程序题
阅读下列程序并写出程序运行结果
1.
PrivateSubForm_Click()
StaticSumAsInteger
ForI=1To5
Sum=Sum+I
NextI
PrintSum
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
答案:
15
2.
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的值分别是:
答案:
74
3.
PrivateSubCommand1_Click()
DimsAsDouble
DimiAsInteger
s=5
i=1
DoWhilei<9
i=i+2
s=s+i
Loop
Text1.Text=s
EndSub
文件框Text1的输出结果是:
答案:
29
4.
PrivateSubCommand1_Click()
DimXAsInteger,YAsInteger
X=0:
Y=1
Fori=1To3
Forj=1Toi
Y=Y*j
Nextj
X=X+Y
Nexti
PrintX
EndSub
写出程序运行时单击命令按钮后,窗体Form1上的输出结果。
答案:
15
5.
FunctionF(aAsInteger)
DimbAsInteger
StaticcAsInteger
b=b+2
c=c+2
F=a+b+c
EndFunction
PrivateSubCommand1_Click()
DimaAsInteger
a=6
Fori=1To3
PrintF(a)
Nexti
EndSub
写出程序运行时,单击命令按钮在窗体上的输出结果。
答案:
10
12
14
6.
PrivateSubForm_Click()
DimA(1To4)AsString
DimcAsInteger
DimjAsInteger
A
(1)="2"
A
(2)="4"
A(3)="6"
A(3)="8"
c=1
Forj=1To4
c=c+Val(A(j))
Nextj
Printc
EndSub
写出程序运行时单击窗体后,窗体Form1上的结果:
答案:
15
四、完善程序题
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=""
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.在窗体上建立一个驱动器列表框、目录列表框、文件列表框、图片框、文本框。
要求程序运行后,驱动器列表框Drive1的默认驱动器设置为D盘,选择File1中所列的图片文件(*.bmp,*.gif和*.jpg),则相应的图片显示在图片框Picture1中,文件的路径显示在文本框中。
程序运行结果如下图所示。
程序如下,请补充完整。
PrivateSubForm_Load()
Drive1.Drive="D:
\"
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学号FromStudentsWhere学号=”+”‘“+Text1+”‘“
IfNotADOrs.EOFThen
MsgBox“你输入的学号已存在,不能新增加!
”
Else
StrSQL=”InsertIntostudents(学号,姓名,,籍贯,性别)
StrSQL=strSQL+Values(”+”‘“+text1+”‘,‘“+text2+”‘,’“+text3+”‘,’“+text4+”‘)”
ADOrs.ExecutestrSQL
MsgBox“添加成功,请继续!
”
EndIf
PrivateSubCommand2_Click()
UnloadMe
EndSub
五、编写程序题
1.编写一收款计算程序。
要求用户输入商品的“单价”、“数量”和“折扣”后,单击“计算”按钮显示“应付款”,单击“清除”按钮,清除文本框中所有的数据。
程序运行界面如下图所示。
PrivateSubCommand1_Click()
IfText1.Text=""Then
MsgBox"至少要输出单价!
"
Text1.SetFocus
ExitSub
EndIf
IfText2.Text=""ThenText2.Text=1
IfText3.Text=""ThenText3.Text=1
Text4.Text=Text1.Text*Text2.Text*Text3.Text
EndSub
2.编写一个摄氏温度与华氏温度之间转换的程序,程序运行界面如下图所示:
图1
要使用转换的公式是:
F=9/5*C+32
其中F为华氏温度,C为摄氏温度。
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
3.设计一个计算程序。
该程序用户界面如下图所示。
要求程序运行后,用户选中单选按钮,则程序作10和2的相应计算,并把计算结果在文本框中显示出来。
如用户选中加法单选按钮,则程序作10和2的相加,计算结果12在文本框中显示出来。
按结束,则退出。
PrivateSubCommand1_Click()
UnloadMe
EndSub
PrivateSubOption1_Click()
Text1.Text=30+6
EndSub
PrivateSubOption2_Click()
Text1.Text=30-6
EndSub
PrivateSubOption3_Click()
Text1.Text=30*6
EndSub
PrivateSubOption4_Click()
Text1.Text=30/6
EndSub