1、Visual Basic程序设计期末模拟试卷一、单项选择题1.刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是()oA.单选按纽 B.图片框C.通用对话框 D.文本框2.与传统的程序设计语言相比,Visual Basic最突出的特点是()A.结构化程序设计 B.程序开发环境C.事件驱动编程机制 D.程序调试技术3.将调试通过的工程经“文件”菜单的“生成.exe文件”编译成.exe后,将该可执行 文件拿到其它机器上不能运行的主要原因是()。A.缺少fm窗体文件 B.运行的机器上无VB系统C.该可执行文件有病毒 D.以上原因都不对4.启动VB后,就意味着要建立一个新()oA.文件 B.窗体
2、C.程序 D.工程5.在VB环境中,标准类模块文件的扩展名是()oA.vbp B.frm C.bas D.frx6.Visual Basic6.0集成开发环境有三种工作模式,下列不属于三种工作模式之一的是()oA.设计模式 B.执行模式C.中断模式 D.编写代码模式7.下列4项中合法的变量名是()。A.45 xyz B.SingleC.x-yz D.x_yz8.表达式64/2-2人3*9/3乂0183()A.0 B.32C.20 D.49.要在窗体的标题内显示“myfirn”,使用的语句是()A.Forml.Printmyfrm B.Form.PrintmyfrmC.Form.caption=
3、myfrm D.Forml.caption=myfrm10.无论何种控件,共同具有的属性是()A.Text B.NameC.Caption D.ForeColor11.按照变量的作用域可将变量划分为()A.公有、私有、系统 B.全局变量、模块级变量、过程级变量C.动态、常数、静态 D.Public、Private Protected12.确定一个控件在窗体上位置的属性是()A.Width 或 Height B.Width 和 HeightC.Top 或 Left D.Top 和 Left13.要退出Do.Loop循环,可使用的语句是()语句。A.Exit B.Exit For C.Exit D
4、oD.End Do14.表达式8+10 Mod 2人2+3的值是()A、4 B、11 C、12 D、1315.下列关于变量的说法不正确的是()。A.局部变量是指那些在过程中用Dim语句或Static语句声明的变量B.局部变量的作用域仅限于声明它的过程C.静态局部变量是在过程中用Static语句声明的D.局部变量在声明它的过程执行完毕后就被释放了16.以下叙述中错误的是()oA.一个工程中只能有一个Sub Main过程B.窗体的Show方法的作用是将指定的窗体载入内存并显示该窗体C.窗体的Hide方法和Unload方法的作用完全相同D.若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体1
5、7.要绘制多种形状的图形,需要设置Shape控件的()属性A.Borderstyle B.ShapeC.FillStyle D.Style18.VB程序中通常不会产生错误提示的是()。A.编译错误 B.实时错误C.运行时错误 D.逻辑错误19.当Winsock控件处于关闭状态时,其State属性的值是()A.0 B.1C.2 D.620.下列正确的赋值语句是()oA.x+y=50 B.y=K*r*r C.y=x+50 D.3y=x21.使图像框Image控件中的图像自动适应控件的大小应()。A.将控件的Stretche属性设为True B.将控件的Stretche属性设为FalseC.将控件的
6、AutoSize属性设为True D.将控件的AutoSize属性设为False22.目录列表框的Path属性的作用是()A.显示当前驱动器或指定驱动器上的路径B.显示当前驱动器或指定驱动器上的某目录下的文件名C.显示根目录下的文件名D.只显示当前路径下的文件23.下列数据对象模型中采用OLE DB访问数据库的是()。A.DAO B.ADO C.RDO D.RDO 和 ADO24.使用ADO数据模型时,使Recordset和Connection对象建立连接的属性是()。A.CommandType B.ActiveConnectionC.Open D.Execute25.如果准备读文件,打开顺序
7、文件”text.dat”的正确语句是()A.opentext.dat For wrire As#1B.opentext.dat For Binary As#1C.opentext.dat For Input As#1D.opentext.dat For Random As#1二、填空题1.用Line方法画直线后,当前坐标在 o2.在VB中,要想获得某个相关控件或语句的帮助信息,一般可首先选中该控件或语句,然后按 键。3.应用程序打包后,其包文件的后缀为 o4.如果要每隔10s产生一个Timer事件,则Interval属性应设置为。5.每个应用程序都有开始执行的入口,在VB中将这种窗体称为 o6
8、.控件数组的名字由 属性指定,而数组中的每个元素由 属性决定。7.数学关系15Wx 4 Then c=c+5 Exit For Else k=k+1 End If Next j Print c,k End Sub写出程序运行时单击窗体后,c,k的值分别是:3.Private Sub Command l_Click()Dim s As DoubleDim i As Integer s=5 i=1Do While i 9i=i+2s=s+iLoopText 1.Text=sEnd Sub文件框Textl的输出结果是:4.Private Sub Command 1_C 1 ick()Dim X As
9、 Integer,Y As Integer X=0:Y=1 For i=1 To 3For j=1 To iY=Y*jNext jX=X+YNext iPrint XEnd Sub写出程序运行时单击命令按钮后,窗体Forml上的输出结果。5.Function F(a As Integer)Dim b As Integer Static c As Integer b=b+2 c=c+2 F=a+b+cEnd FunctionPrivate Sub Commandl Click()Dim a As Integer a=6For i=1 To 3 Print F(a)Next iEnd Sub写出程
10、序运行时,单击命令按钮在窗体上的输出结果。6.Private Sub Form_Click()Dim A(1 To 4)As StringDim c As Integer Dim j As Integer A(l)=2 A(2)=A(3)=6 A(3)=8 c=1For j=1 To 4 c=c+Vai(A(j)Next j Print c End Sub 写出程序运行时单击窗体后,窗体Forml上的结果:四、完善程序题1.列表框应用程序。要求从文本框中输入姓名,然后按“添加”按钮,把姓名添加到 列表框中;当选择列表框中某一项后,按“删除”按钮,则从列表框中删除该项;当选择列 表框中某一项后,
11、按“修改”按钮,把列表框中选取的项送往文本框且“修改”按钮变为“修 改确认”。在文本框的内容修改好后,按“修改确认”按钮,再把文本框中修改后的信息送 到列表框且“修改确认”按钮变为“修改二程序运行结果如图1所示。Forml-|n|x|Listl李张吕赴袁王何崔何敏华筮旗莉津小宁月TextlCommand 1-Command2-Commands蟒 渴图1程序如下,请补充完整。Private Sub Form_Load()List 1.Additem 李敏Listl.Additem张华List 1.Additem吕晓炜List 1.Additem 赵巍List 1.Additem 袁莉List 1
12、.Additem 王津List 1.Additem 何小渴Listl.Additem崔宁”Listl.Additem 何月End SubPrivate Sub Command 1 _Click()IfTextl.Texto Then_LU_Textl.Text=ElseMsgBox 请在文本框中输入信息!End IfEnd SubPrivate Sub Command2_Click()2JEnd SubPrivate Sub Command3_Click()If Commands.Caption=_ 修改ThenTextl.Text-f3Textl.SetFocusCommand 1.Enab
13、led=FalseCommand2.Enabled=FalseCommands.Caption-41Else5JCommand 1.Enabled=TrueCommand2.Enabled=TrueTextl.Text-6Commands.Caption=修改End IfEnd Sub2.在窗体上建立一个驱动器列表框、目录列表框、文件列表框、图片框、文本框。要 求程序运行后,驱动器列表框Drivel的默认驱动器设置为D盘,选择File 1中所列的图片 文件(*.bmp,*.gif和*.jpg),则相应的图片显示在图片框Picturel中,文件的路径显示在文本 框中。程序运行结果如下图所示。程序
14、如下,请补充完整。Private Sub Form_Load()File 1.Pattern=*.bmp;*.gif;*.jpgEnd SubPrivate Sub Drive l_change()Dir 1.Path-21_-3=Drivel.DriveEnd SubPrivate Sub Dirl_Change()4Textl.Text=-5_End SubPrivate Sub Filel_click()Picture 1.61=LoadPicture(Filel.Path+Filel.FileName)FileName=Filel.Path+Filel.FileNameTextl.Te
15、xt=71_End Sub3.已知存在一名为“学生”的SQL Server数据库,其中的“students”数据表用来存储 学生的基本情况信息,包括学号、姓名、籍贯、性别。请编写一个简单的应用程序,向students 表中添加学生记录。程序的基本逻辑是:当窗体被加载时,程序联接SQL Server数据库;当点击“增加”按钮时,首先查询学号是否重复,如果不重复则向students表中添加学生记 录。其运行界面如图2所示。图2程序如下,请补充完整。声明对象变量ADOcn,用于创建与数据库的连接Private ADOcn As ConnectionPrivate Sub Form_Load(),连接
16、SQL Server数据库Dim strDB As StringstrDB=Provider=SQLOLEDB;LSF;User ID=sa;Password=;Database=1 If ADOcn Is Nothing ThenSet ADOcn=2_3strDBEnd IfEnd SubPrivate Sub Command l_Click(),增加学生记录Dim strSQL As StringDim ADOrs As 4J_in_ADOrs.Open“Select 学号 From Students Where 学号+Textl+”IfNot ADOrs.EOF ThenMsgBox“
17、你输入的学号已存在,不能新增加!”ElseStrSQL=,Insert Into students(学号,姓名,,籍贯,性别)StrSQL=strSQL+Vhhies(+”+textl+”,+text2+”+text3+”+text4+”)”16_MsgBox 添加成功,请继续!”End IfPrivate Sub Command2_Click()Unload MeEnd Sub五、编写程序题1.编写一收款计算程序。要求用户输入商品的“单价”、“数量”和“折扣”后,单击“计 算”按钮显示“应付款”,单击“清除”按钮,清除文本框中所有的数据。程序运行界面如 下图所示。TextlText4Text
18、3Text2Command 1Command22.编写一个摄氏温度与华氏温度之间转换的程序,程序运行界面如下图所示:图1要使用转换的公式是:F=9/5*C+32 其中F为华氏温度,C为摄氏温度。3.设计一个计算程序。该程序用户界面如下图所示。要求程序运行后,用户选中单选按 钮,则程序作10和2的相应计算,并把计算结果在文本框中显示出来。如用户选中加法单 选按钮,则程序作10和2的相加,计算结果12在文本框中显示出来。按结束,则退出。VB期末模拟试卷答案一、单项选择题l.C 2.C 3.B 4.D 5.C 6.D 7.D 8.B 9.D 10.B 11.B12.D 13.C 14.D 15.D
19、16.C 17.B 18.D 19.A 20.C 21.A22.A 23.B 24.B 25.C二、填空题1.直线终点2.Fl3.cab4.100005.启动窗体6.Name Index7.15=xANDx458.Circle(ScaleWidth/2,ScaleHeight/2),3009.ADOrs OpenSelect*From Table 1”10.外部数据库 本地数据库 远程数据库11.Dim A(1 To 4,-1 To 4)As String12.右上13.Public14.015.TCP/IP UDP16.数据库引擎17.False18.一直存在过程执行期间三、阅读程序题1.1
20、52.7 43.294.155.1012146.15四、完善程序题1.lListl.Additem Textl.Text2Listl.Removeitem Listl.Listindex3 Listl.Text4修改确认5Listl.List(Listl.Listindex)=Textl.Text 62.1 Drive 1.Drive=D:2 Drivel.Drive3 Textl.Text4 Filel.Path=Dir 1.Path5 Dirl.Path6 Picture7 FileName1学生2New Connection3 ADOcn.Open4New_Recordset5 ADOr
21、s.ActiveConnection=ADOcn6 ADOrs.Execute str SQL五、编程题1.Private Sub Commandl_Click()IfTextl.Text=ThenMsgBox至少要输出单价!Textl.SetFocusExit SubEnd IfIf Text2.Text=Then Text2.Text=1If Tex t3.Text=Then Text3.Text=1Text4.Text=Textl.Text*Text2.Text*Text3.TextEnd SubPrivate Sub Commandl_Click()IfTextl.Text ThenT
22、ext2.Text=9/5*Textl.Text+32End IfEnd SubPrivate Sub Command2_Click()If Text2.Text ThenTextl.Text=(Text2.Text-32)*5/9End IfEnd SubPrivate Sub Command 1 _Click()Unload MeEnd SubPrivate Sub Optionl_Click()Text 1.Text=30+6End SubPrivate Sub Option2_Click()Text 1.Text=30-6End SubPrivate Sub Option3_Click()Textl.Text=30*6End SubPrivate Sub Option4_Click()Textl.Text=30/6End Sub