Basic程序设计期末综合练习题二.docx
《Basic程序设计期末综合练习题二.docx》由会员分享,可在线阅读,更多相关《Basic程序设计期末综合练习题二.docx(17页珍藏版)》请在冰豆网上搜索。
Basic程序设计期末综合练习题二
VisualBasic程序设计期末综合练习题二
一、单项选择题
1.在下列有关VisualBasic的叙述中,错误的是()。
A.采用了事件驱动的编程机制B.是面向对象的编程语言
C.是可视化的程序设计语言D是面向过程的程序设计语言.
2.应用程序打包后,其包文件的后缀为()。
A..exeB..txt
C..cabD..ocx
3.在新建一个“标准EXE”工程后,不在工具箱中出现的控件是()。
A.列表框B.通用对话框
C.驱动器列表框D.图片框
4.设窗体的名称为Form1,则在程序运行过程中,单击窗体时,被执行的事件过程的名称是()。
A.Form1_Click()B.Form1_DbClick()
C.Form_Click()D.Form_DbClick()
5.对于定时器(Timer)控件,设置其定时是否开启的属性是()。
A.IndexB.TagC.EnabledD.Interval
6.在VisualBasic中,工程文件的扩展名为()。
A..frmB..vbp
C..clsD..bas
7.有程序代码如下:
Text1.Text="欢迎走进VB世界!
"
则Text1,Text,和"欢迎走进VB世界!
"分别代表()。
A.对象,值,属性B.对象,属性,值
C.对象,方法,属性D.属性,对象,值
8.以下叙述中正确的是()。
A.窗体的Name属性指定窗体的名称,用来标识一个窗体
B.窗体的Name属性的值是显示在窗体标题栏中的文本
C.可以在运行期间改变对象的Name属性的值
D.对象的Name属性值可以为空
9.VB提供了结构化程序设计的三种基本结构是()。
A.选择结构、过程结构、顺序结构
B.选择结构、循环结构、顺序结构
C.过程结构、转向结构、递归结构
D.递归结构、选择结构、循环结构
10.在VB中,下列变量名不合法的是()。
A.take_1B.takeC.take_1_2D.take-1
11.下列说法中正确的是()。
为了保存一个VisuaBasic应用程序,应当
A.只保存窗体文件
B.只保存工程文件
C.分别保存工程文件和标准模块文件
D.分别保存工程文件、窗体文件和标准模块文件
12.确定一个控件在窗体上的位置的属性是()。
A.Width或HeightB.Width和Height
C.Top和LeftD.Top或Left
13.确定一个窗体或控件的大小的属性是( )
A.Width或HeightB.Width和Height
C.Top或Left D.Top和Left
14.当一个工程含有多个窗体时,其中的启动窗体是()。
A.第一个添加的窗体B.最后一个添加的窗体
C.包含控件最多的窗体D.在“工程属性”对话框中指定的窗体
15.在一个语句行内写多条语句时,语句之间应该用()分隔。
A.逗号B.冒号
C.顿号D.分号
16.要设置命令按钮的背景图形,必须设置的两个属性是()。
A.Style和PictureB.Style和Icon
C.Caption和PictureD.Value和Icon
17.目录列表框的Path属性的作用是()。
A.显示当前驱动器或指定驱动器上的某目录下的文件名
B.只显示当前路径下的文件
C.显示根目录下的文件名
D.显示当前驱动器或指定驱动器上的路径
18.将数据"China"项添加到列表框(List1)中成为第一项应使用的语句是()。
A.List1.AddItem0,"China"B.List1.AddItem1,"China"
C.List1.AddItem"China",0D.List1.AddItem"China",1
19.要绘制多种形状的图形,需要设置Shape控件的()属性。
A、StyleB、Borderstyle
C、FillStyleD、Shape
20.下列可以把当前目录下的图形文件pic1.jpg装入图片框Picture1中的语句为()。
A.Picture1="pic1.jpg"
B.Picture1=LoadPicture("pic1.jpg")
C.Picture1.Picture=LoadPicture(("pic1.jpg")
D.Picture1.Picture=LoadPicture(("pic1")
21.如果要在窗体代码编辑器的”通用”部分定义私有Sub过程,则正确的语句是( )。
A.PublicSubB.PrivateSub
C.PublicFunctionD.PrivateFunction
22.不属于VB数据库引擎的是()。
A.ODBCB.BDEC.Jet引擎D.OLEDB
23.在VB应用程序中,进行断点设置的按键是( )。
A.Ctrl+F9键 B.F9键
C.Ctrl+F8键D.F8键
24.如果准备读文件,打开顺序文件”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
25.使用ADO对象模型时,使Recordset和Connection对象建立连接的属性是()。
A.OpenB.Execute
C.CommandTypeD.ActiveConnection
26.使用ADO对象模型时,使Recordset和Connection对象建立连接的属性是()。
A.OpenB.Execute
C.CommandTypeD.ActiveConnection
27.在VB中,一旦数据到达,将首先触发Winsock控件的()。
A.DataArrival事件 B.ConnectionRequest事件
C.DataSend事件 D.GetGet事件
28.Winsock控件的LocalPort属性的作用是( )
A.仅返回所用断口B.仅设置所用端口
C.返回或设置所用端口 D.返回或设置IP地址
二、填空题
1.每个应用程序必须有一个惟一的文件。
2.窗体文件和类模块文件的扩展名分别是和。
3.表达式6+15\2*2Mod2的值是。
4.表达式17\2-2^3*5MOD6的值是。
5.计时器控件响应的事件是。
6.在VisualBasic中,变量的默认类型是。
7.为了在运行时把当前路径下的图形文件show.jpg装入图片框P1,所使用的语句为。
8.设某个程序中要用到一个二维数组,要求数组名为A,类型为整型,第一维下标从0到2,第二维下标从1到3,则相应数组声明语句为。
9.用DimA(-2to3)语句声明二维数组后,数组A的元素共有个。
10.VB中参数传递的机制有两种,一种是参数,另一种是
参数。
11.控件数组的名字由属性指定,而数组中的每个元素由属性决定。
12.若窗体的左上角坐标为(-200,250),右下角坐标为(300,-150),则X轴的正向向,Y轴的正向向。
13.窗体、图片框或图像框中的图形通过对象属性。
14.在VB中,将Foxpro称为外部数据库,Access称为,SQLServer称为。
15.vb应用程序与数据库进行通信的主要机制称为。
16.全局变量必须在模块中定义,所使用的关键字为。
17.全局变量是指那些在中有效的变量,一般在模块代码编辑器的顶部使用声明。
18.Winsock控件主要用来编制或协议的网络应用程序。
三、阅读程序题(共25分)
阅读下列程序并写出程序运行结果
1.
PrivateSubCommand1_Click()
DimxAsInteger
StaticsAsInteger
x=Val(InputBox("请输入一个正整数="))
Ifx<5Then
s=s*x
Else
s=s+x
EndIf
Text1.Text="s="&Str(s)
EndSub
程序运行时连续3次单击Command1,且设输入的数据为6、5、4时,分别写出文本框Text1的值。
2.
PrivateSubForm_Click()
StaticaAsInteger
DimbAsInteger
a=a+3
b=b+4
Text1=a
Text2=b
EndSub
写出程序运行时连续单击三次窗体后,文本框Text1和Text2显示结果。
3.
PrivateSubForm_Click()
DimA(1To3)AsString
DimcAsInteger,jAsInteger
A
(1)="2"
A
(2)="4"
A(3)="6"
c=2
Forj=1To3
c=c+Val(A(j))
Nextj
Printc
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
4.
PrivateSubForm_Click()
n=0
Fori=1To2
Forj=2To4
IfjMod2<>0Then
n=n+1
EndIf
n=n+2
Nextj
Nexti
Printn
EndSub
写出程序运行时单击窗体后,窗体Form1上的输出结果。
5.
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=2:
b=3
Fori=1To3
Forj=1Toi
b=b+j
Nextj
a=a+b
Nexti
Printa
EndSub
写出程序运行时单击命令按钮后,窗体Form1上的输出结果。
6.
PrivateSubForm_Click()
DimA(1To4)AsString
DimcAsInteger
DimjAsInteger
A
(1)="4"
A
(2)="6"
A(3)="8"
A(4)="10"
c=1
Forj=1To4
c=c+Val(A(j))
Nextj
Printc
EndSub写出程序运行时单击窗体后,窗体Form1上的结果。
7.
SubChange(ByValxAsInteger,ByValyAsInteger)
DimtAsInteger
t=x
x=y
y=t
Printx,y
EndSub
PrivateSubForm_Click()
DimaAsInteger,bAsInteger
a=10:
b=20
Changea,b
Printa,b
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
8.
FunctionF(nAsInteger)AsLong
DimiAsInteger,TempAsLong
Temp=1
Fori=1Ton
Temp=Temp*i
Nexti
F=Temp
EndFunction
PrivateSubForm_Click()
DimkAsInteger,njAsInteger
k=5
nj=F(k)
Printk。
"!
="。
nj
EndSub
写出程序运行时,单击窗体Form1上的输出结果。
四、完善程序题(共10分)
1.已知存在一名为“学生”的SQLServer数据库,其中的“students”数据表用来存储学生的基本情况信息,包括学号、姓名、籍贯、性别。
请编写一个简单的应用程序,向students表中添加学生记录。
程序的基本逻辑是:
当窗体被加载时,程序联接SQLServer数据库;当点击“增加”按钮时,首先查询学号是否重复,如果不重复则向students表中添加学生记录。
其运行界面如图1所示。
图1
程序如下,请补充完整。
'声明对象变量ADOcn,用于创建与数据库的连接
PrivateADOcnAsConnection
PrivateSubForm_Load()
'连接SQLServer数据库
DimstrDBAsString
strDB="Provider=SQLOLEDB。
LSF。
UserID=sa。
Password=。
Database=[1]"
IfADOcnIsNothingThen
[2]
[3]
EndIf
EndSub
PrivateSubCommand1_Click()
'增加学生记录
DimstrSQLAsString
DimADOrsAs[4]
[5]=ADOcn
ADOrs.Open“Select学号FromStudentsWhere学号=”+”‘“+Text1+”‘“
[6]Then
MsgBox“你输入的学号已存在,不能新增加!
”
Else
StrSQL=”InsertIntostudents(学号,姓名,,籍贯,性别)
StrSQL=strSQL+Values(”+”‘“+text1+”‘,‘“+text2+”‘,’“+text3+”‘,’“+text4+”‘)”
ADOrs.Execute[7]
MsgBox“添加成功,请继续!
”
EndIf
PrivateSubCommand2_Click()
UnloadMe
EndSub
2.
在窗体上建立一个驱动器列表框、目录列表框、文件列表框、图片框、文本框。
要求程序运行后,驱动器列表框Drive1的默认驱动器设置为E盘,选择File1中所列的图片文件(*.bmp,*.gif和*.jpg),则相应的图片显示在图片框Picture1中,文件的路径显示在文本框中。
程序运行结果如图2所示。
图2
程序如下,请补充完整。
PrivateSubForm_Load()
Drive1.Drive=[1]
[2]="*.bmp。
*.gif。
*.jpg"
EndSub
PrivateSubDrive1_change()
[3]=Drive1.Drive
Text1.Text=Drive1.Drive
EndSub
PrivateSubDir1_Change()
[4]
Text1.Text=Dir1.Path
EndSub
PrivateSubFile1_click()
Picture1.[5]=LoadPicture(File1.Path+"\"+File1.FileName)
FileName=File1.Path+"\"+File1.FileName
Text1.Text=[6]
EndSub
五、编写程序题
1.按下述规定,编写一征收所得税程序。
(1)收入在1000元以内,不纳税;
(2)收入超过1000元以上的部分,纳税20%
(3)当收入达到5000元或超过时,5000元以上的部分,纳税22%。
程序运行界面如图3所示:
图3
答案
一、单项选择题
1.D2.C3.B4.C5.C6.B7.B8.A9.B10.D11.D12.C13.B14.D15.B16.A17.D18.C19.D20.C21.B22.B23.B24.C25.D26.D27.A28.C
二、填空题(每小题2分,共20分)
1..vbp
2..frm.cls
3.7
4.4
5.Timer
6.Variant或变体型
7.P1.Picture=LoadPrcture("show.jpg")
8.DimA(0To2,1To3)AsInteger
9.6
10.引用参数传递(或按址传递)按值传递
11.NameIndex
12.右上
13Picture
14.本地数据库、远程数据库
15.数据库引擎
16.标准Public
17.整个应用程序Public
18.CP/IPUDP
三、阅读程序题
1.
s=6s=11s=44
2.
34
64
94
3.
14
4.
14
5.
26
6.
29
7.
3020
2030
8.
5!
=120
四、完善程序题
1.
[1]学生
[2]SetADOcn=NewConnection
[3]ADOcn.OpenstrDB
[4]NewRecordset
[5]ADOrs.ActiveConnection
[6]IfNotADOrs.EOF
[7]strSQL
2.
[1]"E:
\"
[2]File1.Pattern
[3]Dir1.Path
[4]File1.Path=Dir1.Path
[5]Picture
[6]FileName
五、编写程序题
参考答案:
PrivateSubCommand1_Click()
DimxAsInteger,taxAsSingle
x=Val(Text1.Text)
Ifx<=1000Then
tax=0
ElseIfx<=5000Then
tax=(x-1000)*0.2
Else
tax=(x-5000)*0.22+4000*0.2
EndIf
Label3.Caption=tax
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub