Basic程序设计期末复习题.docx
《Basic程序设计期末复习题.docx》由会员分享,可在线阅读,更多相关《Basic程序设计期末复习题.docx(24页珍藏版)》请在冰豆网上搜索。
![Basic程序设计期末复习题.docx](https://file1.bdocx.com/fileroot1/2023-1/10/fa78a0bf-e067-4a77-89eb-947e8c759453/fa78a0bf-e067-4a77-89eb-947e8c7594531.gif)
Basic程序设计期末复习题
《VisualBasic程序设计》期末复习题
一、单项选择题
1.VisualBasic是一种面向对象的可视化编程语言,采取了()的编程机制。
A.按过程顺序执行B.从主程序开始执行
C.事件驱动D.按模块顺序执行
2.与传统的设计语言相比,VisualBasic最突出的特点是()
A.程序开发环境B.结构化程序设计
C.程序调试技术D.事件驱动的编程机制
3.将调试通过的工程经“文件”菜单的“生成.exe文件”编译成.exe后,将该可执行文件拿到其它机器上不能运行的主要原因是()。
A.缺少.frm窗体文件B.该可执行文件有病毒
C.运行的机器上无VB系统D.以上原因都不对
4.VisualBasic6.0集成开发环境有三种工作模式,下列不属于三种工作模式之一的是()。
A.设计模式B.编写代码模式
C.执行模式D.中断模式
5.后缀为.bas的文件表示( )。
A.工程文件B.窗体文件
C.窗体二进制数据文件D.标准类模块文件
6.工程文件的扩展名是()。
A..vbpB..frmC..basD..frx
7.刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是()。
A.时钟控件B.图像框C.框架D.通用对话框
8.以下叙述中错误的是()。
A.一个工程中可以包含多个窗体文件
B.在设计VisualBasic程序时,窗体、标准模块、类模块等需要分别保存为不同类型的文件
C.在一个窗体文件中用Private定义的通用过程能被其它窗体调用
D.全局变量必须在标准模块中定义
9.要在窗体Form1内显示“欢迎您!
”,使用的语句是()
A.Form.caption="欢迎您!
"B.Form1.caption="欢迎您!
"
C.Form.print"欢迎您!
"D.Form1.print"欢迎您!
"
10.决定标签内显示内容的属性是()
A.NameB.TextC.CaptionD.Alignment
11.要设置命令按钮的背景图形,必须设置的两个属性是()
A.Caption和PictureB.Style和Picture
C.Style和IconD.Value和Icon
12.将数据项“China”添加到列表框List1中成为第一项,应使用的语句是()
A.List1.AddItem"China"B.List1.AddItem"1,China"
C.List1.AddItem"China",0D.List1.AddItem"China",1
13.在VB中,下列各项合法的变量名是()。
A.IntegerB.ab-cC.2abcD.a_bc
14.在VB中,下列合法的变量名是()
A.4EFB.integerC.E-FD.E_F
15.如果要在文本框中键入字符时,只显示某个字符,如星号(*),应设置文本框的()属性。
A.PasswordCharB.CaptionC.TextD.Locked
16.要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对下列()属性设置就有效。
A.MaxButtonB.BorderSyle
C.WidthD.MinButton
17.下列控件中不能响应Click事件的是()。
A.TextBoxB.TimerC.LabelD.ListBox
18.有程序代码如下:
Text1.Text="欢迎学习VB程序设计"
则Text1,Text,和"欢迎学习VB程序设计"分别代表()。
A.对象,值,属性B.对象,属性,值
C.对象,方法,属性D.属性,对象,值
19.设a=”VisualBasic”,下面使b=”Basic”的语句是( )。
A.b=left(a,8,12)B.b=mid(a,8,5)
C.b=right(a,5,5)D.b=left(a,8,5)
20.确定一个控件在窗体上位置的属性是()
A.Top或LeftB.Top和Left
C.Width或HeightD.Width和Height
21.执行Form1.Scale(0,10)-(10,-10)语句后,Form1窗体坐标系x轴和y轴的正方向是()。
A.向右和向上B.向左和向下
C.向右和向下D.向左和向上
22.如果希望以模态方式显示窗体Form1,下列正确的语句是()
A.Form1.Show0B.Form1.Show1
C.Form1.ShowD.以下都不正确
23.改变驱动器列表框的Drive属性值,将激活( )事件。
A.KeyDownB.KeyUpC.ScollD.Change
24.多窗体程序是由多个窗体组成,在缺省情况下,VB在应用程序执行时,总是把()指定为启动窗体。
A.不包含任何控件的窗体B.命名为Frm1的窗体
C.包含控件最多的窗体D.设计时的第一个窗体
25.DimA(1To4,0To3)定义的数组包含的元素的个数是()。
A.12B.16C.15D.动态变化
26.如果创建了命令按纽控件数组,则Click事件的参数是()。
A.CaptionB.IndexC.TagD.没有参数
27.如果准备向随机文件中写入数据,正确的语句是()
A.Write#1,recB.Print#1,rec
C.Get#1,recD.Put#1,rec
28.要以读方式打开D盘的一个顺序文件Test.doc,应使用的语句是()
A.Open"Test.doc"ForOutputAs#1
B.Open"D:
\Test.doc"ForInputAs#1
C.Open"D:
\Test.doc"ForOutputAs#1
D.Open"Test.doc"ForInputAs#1
29..以下属性只能用程序代码设置,不能通过属性窗口设置的是()。
A.Index属性B.Pattern属性C.Visible属性D.Drive属性
30.以下有关VisualBasic语言描述中错误的是()。
A.语句是一行一句,以回车键结束
B.用“,”分隔一行中的多个语句
C.不区分大小写
D.一条语句放在多行中,则在前一行结束处使用续行符“_”连接下一行
31.不属于VB数据库引擎的是( )
A.ODBCB.Jet引擎C.OLEDBD.BDE
32.使用ADO对象模型时,使Recordset和Connection对象建立连接的属性是()。
A.OpenB.ExecuteC.CommandTypeD.ActiveConnection
33.用来从数据库表中删除记录的SQL命令是()。
A.whereB.selectC.updateD.delete
34.VB程序中通常不会产生错误提示的是( )。
A.编译错误 B.逻辑错误
C.运行时错误 D.实时错误
35.在VB程序中逐语句调试的键是( )。
A.F8键 B.F9键
C.CtrlF8键 D.CtrlF9键
36.当Winsock控件处于侦听状态时,其State属性的值是( )
A.0B.1C.2D.3
37.要发送数据,通常使用Winsock控件的( )
A.ListenB.AcceptC.SendDataD.GetData
38.下列叙述不正确的是()。
A.注释语句是非执行语句,仅对程序的有关内容起注释作用,客观存在不被解释和编译
B.注释语句不能放在代码中的任何位置
C.注释语句可以放在代码中的任何位置
D.代码中加入注释语句的目的是提高程序的可读性
39.ADO对象模型含有七种对象,其中用于建立一个和数据源的连接的对象是()。
A.CommandB.Connection
C.RecordsetD.Field
40.ADO对象模型含有七种对象,其中代表数据库表中的一整套记录或执行一条命令而得到的结果的对象是()。
A.CommandB.Connection
C.RecordsetD.Field
二、填空题
1.每个应用程序必须有一个唯一的文件,至少有一个文件。
2.表达式13\2-2^3*5MOD6的值是。
3.如果要每隔3s产生一个Timer事件,则Interval属性应设置为。
4.VB中的程序错误类型主要有实时错误、、三种。
5.控件数组的名字由属性指定,而数组中的每个元素由属性决定。
6.用DimA(4,4)语句声明二维数组后,数组A的元素共有个。
7.设某个程序中要用到一个二维数组,要求数组名为R,类型为整型,第一维下标从-2到2,第二维下标从0到4,则相应数组声明语句为。
8.某个程序中要用到一个二维数组,要求数组名为C,类型为整型,第一维下标从-1到3,第二维下标从0到4,则相应数组声明语句为。
9.过程级变量是指在声明的变量,窗体级或模块级变量是指窗体或模块的代码声明段用或声明的变量,在全局变量在整个应用程序中有效,一般在标准模块中使用语句声明。
10.在VisualBasic语言中有三种形式的循环结构。
其中,若循环的次数可以适先确定,可使用ForNext循环循环;若要求先判断循环进行的条件,可使用循环。
11.为了在运行时把当前路径下的图形文件flower.jpg装入图片框P1,所使用的语句为。
12.将图片框的AutoSize属性设置成时,可使图片框根据图片调整大小。
13.Winsock控件主要用来编制基于TCP/IP或协议的网络应用程序。
如果希望得到本地计算机的IP地址,可以使用Winsock控件的属性。
14.Winsock控件主要用来编制基于或协议的网络应用程序。
15.如果不能事先确定变量的数据类型,则可以把它生命为类型。
16.以写方式打开D盘中的Text.dat文件,正确的语句是
17.列表框中项目的序号是从开始的。
18.执行赋值语句y=“abc”+”def”后,变量y的值是。
19.全局变量是指那些在中有效的变量,一般在模块代码编辑器的顶部使用声明。
20.VB中参数传递的机制有两种,一种是参数,另一种是
参数。
21.闰年的条件是:
年号(Y)能被4整除,但不能被100整除;或者年号能被400整除。
表示该条件的逻辑表达式是。
22.若窗体的左上角坐标为(-250,250),右下角坐标为(300,0),则X轴的正向向,Y轴的正向向。
23.在VB中,将Access称为,SQLServer称为,Foxpro称为。
24.数据库应用程序属于一种非常典型的前后台软件结构,前后台之间进行通讯的主要机制称为。
25.常用的VB网络编程控件主要有、和
三种。
26.通常可以将文本框控件的属性设置为False,以禁止键盘输入。
如果不希望某个控件获得焦点,则可以将它的属性设置为False。
27.VB应用程序可分为单窗体、多窗体和。
28.若窗体Form1左上角坐标为(0,600),右下角的坐标为(800,-200)。
则X轴的正向向,Y轴的正向向。
29.数据库应用程序属于一种非常典型的前后台软件结构,而前后台之间进行通信的主要机制称为。
30.VB中将数据库分为本地数据库、和三种类型。
三、阅读程序题
阅读下列程序并写出程序运行结果
1.
PrivateSubForm_Click()
DimxAsInteger
StaticyAsInteger
x=x+2
y=y+3
Form1.Print"x=";x,"y=";y
EndSub
写出程序运行时连续单击三次窗体后,Form1上的输出结果。
2.
PrivateSubCommand1_Click()
x=0
DoWhilex<60
x=(x+3)*(x+4)
n=n+1
Loop
Text1.Text=Str(n)
Text2.Text=Str(x)
Text3.Text=Val(Text1.Text)+Val(Text2.Text)
EndSub
写出程序运行后,文件框Text3的结果。
3.
PrivateSubForm_Click()
DimA(1To3)AsString
DimcAsInteger
DimjAsInteger
A
(1)="4"
A
(2)="8"
A(3)="12"
c=1
Forj=1To3
c=c+Val(A(j))
Nextj
Printc
EndSub
写出程序运行时单击窗体后,窗体Form1上的结果。
4.
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=22:
b=33
change1a,b
Form1.Print"A1=";a,"B1=";b
a=22:
b=33
change2a,b
Form1.Print"A2=";a,"B2=";b
EndSub
写出程序运行时,单击窗体Form1上的输出结果。
5.
PrivateSubForm_Click()
DimiAsInteger,kAsInteger
k=1
Fori=1To4
Ifi>3Then
k=k+4
ExitFor
Else
k=k+3
EndIf
Nexti
Printi,k
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
6.
PrivateSubCommand1_Click()
DimsAsDouble
DimiAsInteger
s=6
i=2
DoWhilei<7
i=i+4
s=s+i
Loop
Text1.Text=s
EndSub
写出程序运行后,单击Command1按钮,文件框Text1的输出结果是:
7.
FunctionF(aAsInteger)
Staticc
b=b+3
c=c+3
F=a+b+c
EndFunction
PrivateSubCommand1_Click()
DimaAsInteger
a=5
Fori=1To4
PrintF(a)
Nexti
EndSub
写出程序运行时,单击命令按钮在窗体上的输出结果。
8.
PrivateSubForm_Click()
DimcAsInteger,jAsInteger,kAsInteger
k=3
c=4
Forj=1To6
Ifj>3Then
c=c+6
ExitFor
Else
k=k+2
EndIf
Nextj
Printc,k
EndSub
写出程序运行时单击窗体后,c,k的值分别是:
9.(6分)
PrivateSubCommand1_Click()
DimsAsDouble
DimiAsInteger
s=5
i=1
DoWhilei<8
i=i+2
s=s+i
Loop
Text1.Text=s
EndSub
文件框Text1的输出结果是
10.(7分)
Subtest(iAsInteger)
i=i+4
EndSub
PrivateSubform_Click()
DimxAsInteger
x=5
Print"x=";x
Calltest(x)
Print"x=";x
EndSub
写出程序运行后,单击窗体时程序的运行结果。
四、完善程序题
1.列表框应用程序。
要求从文本框中输入课程名称,然后按“添加”按钮,将该课程名程添加到列表框中;当选择列表框中某一项后,按“删除”按钮,则从列表框中删除该项;当选择列表框中某一项后,按“修改”按钮,把列表框中选取的项送往文本框且“修改”按钮变为“修改确认”。
在文本框的内容修改好后,按“修改确认”按钮,再把文本框中修改后的信息送到列表框且“修改确认”按钮变为“修改”。
程序运行结果如图1所示。
图1
程序如下,请补充完整。
PrivateSubForm_Load()
List1.AddItem"VisualBasic程序设计"
List1.AddItem"SQLSERVER数据库应用"
List1.AddItem"信息管理系统"
List1.AddItem"ERP原理与应用"
List1.AddItem"网络实用技术基础"
List1.AddItem"系统开发规范与文档编写"
List1.AddItem"信息系统测试"
EndSub
PrivateSubCommand1_Click()
IfText1.Text<>""Then
[1]'将文本框中的内容加到列表框中
Text1.Text=""
[2]
MsgBox"请在文本框中输入信息!
"
EndIf
EndSub
PrivateSubCommand2_Click()
[3]'删除选定的项目
EndSub
PrivateSubCommand3_Click()
IfCommand3.Caption=[4]Then
Text1.Text=[5]
Text1.SetFocus
Command1.Enabled=[6]
Command2.Enabled=False
Command3.Caption=[7]
Else
List1.List(List1.ListIndex)=Text1.Text
Command1.Enabled=True
Command2.Enabled=True
Text1.Text=""
Command3.Caption=[8]
EndIf
EndSub
2.已知存在一名为“学生”的SQLServer数据库,其中的“students”数据表用来存储学生的基本情况信息,包括学号、姓名、籍贯、性别。
请编写一个简单的应用程序,向students表中添加学生记录。
程序的基本逻辑是:
当窗体被加载时,程序联接SQLServer数据库;当点击“增加”按钮时,首先查询学号是否重复,如果不重复则向students表中添加学生记录。
其运行界面如下图所示。
图1
程序如下,请补充完整。
'声明对象变量ADOcn,用于创建与数据库的连接
PrivateADOcnAsConnection
PrivateSubForm_Load()
'连接SQLServer数据库
DimstrDBAsString
strDB="Provider=SQLOLEDB;LSF;UserID=sa;Password=;Database=[1]"
IfADOcnIsNothingThen
SetADOcn=[2]
[3]
EndIf
EndSub
PrivateSubCommand1_Click()
'增加学生记录
DimstrSQLAsString
DimADOrsAs[4]
ADOrs.[5]=ADOcn
ADOrs.Open“Select学号FromStudentsWhere学号=”+”‘“+Text1+”‘“
IfNot[6]Then
MsgBox“你输入的学号已存在,不能新增加!
”
Else
StrSQL=”InsertIntostudents(学号,姓名,,籍贯,性别)
StrSQL=strSQL+Values(”+”‘“+text1+”‘,‘“+text2+”‘,’“+text3+”‘,’“+text4+”‘)”
ADOcn.Execute[7]
MsgBox“添加成功,请继续!
”
EndIf
PrivateSubCommand2_Click()
UnloadMe
EndSub
3.假设用Access创建了一个名为“学生.MDB”的数据库,并在其中创建了一张名为“学生基本情况”的数据表,表中存放了学生的基本信息,如图1所示。
现在要求利用VB编写一个数据库查询程序,程序的运行界面如图2所示,基本逻辑是:
首先文本框(Text1)中输入希望查询的学生学号,然后点击“查询”按钮(Command1),如果数据库中存在该学号,则分别在Text2、Text3、Text4中显示学号、姓名、籍贯信息,否则提示用户“记录不存在”并使Text1获得焦点,要求用户重新输入。
当点击退出按钮(Command2)时关闭本窗体。
图1用Access创建的学生基本情况数据表
图2查询程序运行界面
程序如下,请补充完整。
PrivateADOcnAsConnection
PrivateSubForm_Load()
[1]
ADOcn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:
\[2]"
EndSub
PrivateSubCommand1_Click()
DimstrSQLAsString
DimADOrsAs[3]Recordset
ADOrs.ActiveConnection=ADOcn
strSQL="Select*From学生基本情