二级VISUAL+BASIC101.docx
《二级VISUAL+BASIC101.docx》由会员分享,可在线阅读,更多相关《二级VISUAL+BASIC101.docx(18页珍藏版)》请在冰豆网上搜索。
二级VISUAL+BASIC101
二级VISUALBASIC-10-1
(总分:
68.00,做题时间:
90分钟)
一、选择题(总题数:
25,分数:
39.50)
1.在窗体上画两个标签和一个命令按钮,其名称分别为Labell、Label2和Command1,然后编写如下程序:
PrivateSubfunc(LAsLabel,ByValaAsInteger)
L.Caption="1234"
a=a*a
EndSub
PrivateSubForm_Load()
Label1.Caption="ABCD"
Label2.Caption=10
EndSub
PrivateSubCommand1_Click()
a=Val(Label2.Caption)
Callfunc(Labell,A)
Label2.Caption=a
EndSub
程序运行后,单击命令按钮,在两个标签Label1和Label2中显示的内容分别是______。
(分数:
1.00)
A.ABCD和10
B.1234和100
C.ABCD和100
D.1234和10 √
解析:
[解析]单击命令按钮后变量a赋初值a=10,通过Call调用函数后,Labell.Caption="1234",而由于参数a是按值传递的,所以调用完函数后变量a的值在单击事件中并没有改变,所以执行语句Label2.Caption=a后,Label2中显示的值仍为10。
2.有如下程序:
OptionBase1
PrivateSubFormClick()
Dimarr,Sum
Sum=0
alt=Array(1,3,5,7,9,11,13,15,17,19)
Fori=1To10
Ifarr(i)/3=arr(i)/3Then
Sum=Sum+arr(i)
EndIf
Nexti
PrintSum
EndSub
程序运行后,单击窗体,输出结果为______。
(分数:
1.00)
A.25
B.26
C.27 √
D.28
解析:
[解析]OptionBase1表示数组的下标是从1开始的。
本题中先定义arr=Array(1,3,5,7,9,11,13,15,17,19),即a
(1)=1,a
(2)=3,a(3)=5,a(4)=7,a(5)=9,a(6)=11,a(7)=13,a(8)=15,a(9)-17,a(10)=19,而在循环语句中就是要求把能被3整除的数加起来,即4
(2)+a(5)+a(8)=3+9+15=27。
3.在深度为5的满二叉树中,叶子结点的个数为______。
(分数:
1.00)
A.32
B.31
C.16 √
D.15
解析:
[解析]所谓满二叉树是指这样的一种二叉树:
除最后一层外,每层上的所有结点都有两个子结点。
这就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第K层上有2k-1个结点,且深度为m的满二叉树有2m个结点。
在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为25-1=24=16。
4.VisualBasic中的“启动对象”是指启动VisualBasic应用程序时,被自动加载并首先执行的对象。
下列关于VisualBasic“启动对象”的描述中,错误的是
(分数:
2.50)
A.“启动对象”可以是指定的标准模块 √
B.“启动对象”可以是指定的窗体
C.“启动对象”可以是SubMain过程
D.若没有经过设置,则默认的“启动对象”是第一个被创建的窗体
解析:
[解析]对于多重窗体程序,必须指定其中某一个窗体为启动窗体,如果未指定,设计时的第一个窗体默认为启动窗体。
只有启动窗体才能在运行程序时自动显示出来,其他窗体必须通过Load及Show方法才能看到。
在一个应用程序中,有时候需要在显示多个窗体之前对一些条件进行初始化,这就需要在启动程序时执行一个特定启动过程,并命名为SubMain,它类似于C语言中的Main函数。
一个工程可以含有多个标准模块,但SubMain过程只能有一个,并且通常被用作启动过程。
5.在窗体上画一个命令按钮,名称为Commandl。
然后编写如下程序:
PrivateSubCommand1_Ctick()
ForI=1TO2
ForJ=1TOI
PrintString(I,"Hello");
NextJ
Print
NextI
EndSub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是
(分数:
2.00)
A.HHHHH
B.HHHHH √
C.HHHHH
D.HHHHHHH
解析:
[解析]Click事件是在按钮控件上按下然后释放一个鼠标按钮时发生。
Print函数用于在指定窗口显示文本。
String函数返回包含指定长度重复字符的字符串。
题中嵌套For循环,第一次"i=1",故"forj=1to1",输出"H",内层J循环结束,输出空行。
第二次"i=2",故"forj=1to2",内层J循环2次,输出"HHHH",内层J循环结束,输出空行,I循环结束。
6.在计算机中,算法是指______。
(分数:
2.00)
A.查询方法
B.加工方法
C.解题方案的准确而完整的描述 √
D.排序方法
解析:
[解析]计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:
可行性、确定性、有穷性和拥有足够的情报。
7.有弹出式菜单的结构如下表,程序运行时,单击窗体则弹出如下图所示的菜单。
下面的事件过程中能正确实现这一功能的是
(分数:
2.00)
A.PrivateSubForm_Click()PopupMenucutEndSub
B.PrivateSubCommand1Click()PopupMenueditEndSub
C.PrivateSubForm_Click()PopupMenueditEndSubEndSub √
D.PrivateSubForm_lick()PopupMenucutPopupMenupaste
解析:
8.窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。
以下程序的功能是从顺序文件中读取数据:
PrivateSubCommand1_Click()
Dims1AsString,s2AsString
Open"c:
/d4.dat"ForAppendAs#3
LineInput#3,s1LineInput#3,s2
Text1.Text=s1+s2
Close
EndSub
该程序运行时有错误,应该进行的修改是
(分数:
2.00)
A.将Open语句中的ForAppend改为ForInput √
B.将LineInput改为Line
C.将两条LineInput语句合并为LineInput#3,s1,s2
D.将Close语句改为Close#3
解析:
[解析]VisualBasic程序中关于文件的操作,主要是先打开一个文件,然后对这个文件进行读或写的操作,操作完成后,关闭这个文件。
打开文件的基本格式为:
OpenFileNameForModeAs#FileNumber。
打开方式主要有Output、Append、Input、Random等几种方式。
Output、Append、Input方式打开的文件进行的读写操作都是以顺序方式进行的,其中Output、Append打开的文件主要用来输出数据,与Print#、Write#等方法配合使用;以Input方式打开的文件主要用来读入数据,它与Input#、LineInput#语句配合使用。
9.在关系数据库中,实现主码标识元组的作用是通过______。
(分数:
1.00)
A.实体完整性规则 √
B.参照完整性规则
C.用户自定义的完整性
D.属性的值域
解析:
10.下面子过程语句说明合法的是______。
(分数:
2.00)
A.Subf1(slAsString*8)
B.Subf1(nAsInteger)AsInteger
C.Functionf1(f1AsInteger)AsInteger
D.Functionf1(ByValnAsInteger) √
解析:
[解析]在选项A中,在定义Sub过程时,形参不能用定长字符串变量或定长字符串数组作为形式参数;在选项B中,过程名不能被指定其数据类型;在选项C中,函数名与形参名不能同名。
只有选项D是正确的。
11.设有语句:
Temp=MsgBox("继续执行吗",vbYesNo,"退出提示框")
程序运行时,在对话框的标题栏将显示____。
(分数:
1.00)
A.继续执行吗
B.vbYesNo
C.退出提示框 √
D.Temp
解析:
[解析]MsgBox函数用于向用户发布提示信息,并要求用户作出必要的响应。
该函数的前三个参数的含义如下:
第一个参数是消息框中的提示文字:
第二个参数的用来指示消息框中显示的按钮、图标和默认按钮等:
第三个参数是对话框的标题。
12.确定—个控件在窗体上的位置的属性是
(分数:
1.00)
A.Width和fteight
B.Width或Iteight
C.Top和Left √
D.Top或Left
解析:
[解析]确定一个控件在窗体中的位置,用Top与Left属性,前者确定控件与窗体上端的距离,后者确定控件与窗体左端的距离。
确定一个控件在窗体上的位置要由这两个属性共同决定。
A、B项是Width与HeisLt属性确定控件本身的高度与长度。
13.在窗体上画一个列表框和一个命令按钮,其名称分别为List1和Command1,然后编写如下事件过程:
PrivateSubForm_Load()
List1.AddItem"Item1"
List1.AddItem"Item2"
List1.AddItem"Item3"
EndSub
PrivateSubCommand1_Click()
List1.List(List1.ListCount)="AAAA"
EndSub
程序运行后,单击命令按钮,其结果为______。
(分数:
2.00)
A.把字符串“AAAA”添加到列表框中,但位置不能确定
B.把字符串“AAAA”添到列表框的最后(即“Item3”的后面) √
C.把列表框之中原有的最后一项改为“AAAA”
D.把字符串“AAAA”插入到列表框的最前面(即“Iteml”的前面)
解析:
[解析]列表框的List属性用来列出表项的内容,也可以改变数组中已有的值。
列表框中表项的排列是从0开始,最后一项的序号为ListCount-1。
本程序的功能是:
把字符串“AAAA”添加到列表框的最后,但不改变Item3的值。
14.如果要改变窗体的标题,需要设置窗体对象的______属性。
(分数:
1.00)
A.Name
B.Caption √
C.BackColor
D.BorderStyle
解析:
[解析]窗体的Caption属性决定了窗体对象在显示时的标题。
15.下列关于Sub过程的叙述正确的是____。
(分数:
2.00)
A.一个Sub过程必须有一个ExitSub语句
B.一个Sub过程必须有一个EndSub语句 √
C.在Sub过程中可以定义一个Function过程
D.可以用Goto语句退出Sub过程
解析:
[解析]每个Sub过程必须以Sub开始,以EndSub结束;ExitSub语句使程序立即从一个Sub过程中退出,在Sub过程中可以使用一个或多个ExitSub语句,也可以没有ExitSub语句,因此选项A)错误,选项B)正确。
在Sub过程中不能嵌套定义Sub过程或者Function过程,不能使用Goto语句进入或转出一个Sub过程,因此选项C)、选项D)说法是错误的。
16.下列程序段的执行结果为______。
X=5
Y=-20
IfNotX>0ThenX=Y-3ElseY=X+3
PrintX-Y;Y-X
(分数:
1.00)
A.-33 √
B.5-8
C.3-3
D.25-25
解析:
[解析]IF…Else语句
跟踪程序:
在IP语句中,因为x=5>0,所以NotX>0为假,执行Else分支,即y=5+3=8
所以打印的结果应当为:
X-Y=5-8=-3
y-X=8-5=3。
17.VisualBasic中的数值可以用十六进制或八进制表示,十六进制数的开头符号是&H,八进制数的开头符号是____。
(分数:
2.00)
A.$O
B.&O √
C.$E
D.&E
解析:
[解析]本题考查VisualBasic-中的数值表示规则。
十六进制以&H开头;八进制以&O开头。
18.下列对变量的定义中,不能定义a为变体变量的是
(分数:
2.00)
A.DimaAsDouble √
B.DimaAsVariant
C.Dima
D.a=24
解析:
[解析]本题的难点是变体类型变量的概念。
任何未经说明的变量,VisualBasic都将自动设置为变体类型变量。
19.如果要将窗体中的某个命令按钮设置成不可见状态,应该设置命令按钮的什么属性
(分数:
2.00)
A.Value
B.Visible √
C.Enabled
D.Default
解析:
[解析]Visible属性是命令按钮的状态属性,如果将该属性设为True,则命令按钮可见;如果设置成Flase,则命令按钮不可见。
20.假定已在窗体上画了多个控件,其中有一个被选中,为了在属性窗口中设置窗体的属性,预先应执行的操作是______。
(分数:
1.00)
A.单击窗体上没有控件的地方 √
B.单击任意一个控件
C.双击任意一个控件
D.单击属性窗口的标题栏
解析:
[解析]单击窗体上没有控件的地方,在属性窗口就会出现窗体的各属性,这样就可对窗体的属性进行设置,故A选项正确。
单击任意一个控件,在属性窗口中出现的是该控件的属性,放B选项错误;双击任意一个控件,打开的是“代码窗口”,故C选项错误;单击属性窗口的标题栏,属性窗口成为活动窗口,故D选项错误。
21.在窗体上画4个文本框,并用这4个文本框建立一个控件数组,名称为Text1(下标从0开始,自左至右顺序增大),然后编写下列事件过程:
PrivateSubCommand1_Click()
ForEachTextBoxInText1
Text1(i)=Text1(i).Index
i=i+1
Next
EndSub
程序运行后,单击命令按钮,4个文本框中显示的内容分别为____。
(分数:
2.00)
A.0123 √
B.1234
C.0132
D.出错信息
解析:
[解析]数组控件的Index属性默认从0开始,因此这4个文本框的Index值分别为0、1、2、3。
题中通过ForEach循环,依次将每个文本框的Index属性值赋给它自己的Text属性,因此,运行程序后,文本框显示的内容为0、1、2、3。
22.下列关于结构化设计方法的特点描述中,不正确的是____。
(分数:
1.00)
A.采用逐步求精的方法进行详细设计,由于相邻步之间变化小,易于验证其等效性和设计正确性
B.程序清晰和模块化使得修改和重新设计一个软件时使用的代码量不大
C.在进行程序设计时不能使用goto语句 √
D.良好清晰的控制结构使设计容易阅读和理解
解析:
[解析]题中选项A、B、D所述均为结构化设计方法的特点。
在进行程序设计时可以使用goto语句,但要严格控制。
因此选项C的叙述是错误的。
23.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubComandl_Click()
Dimarrayl(10,10)AsInteger
DimiAsInteger,jAsInteger
Fori=1To3
Forj=2To4
arrayl(i,j)=i+j
Nextj
Nexti
Text1.Text=arrayl(2,3)+arrayl(3,4)
EndSub
程序运行后,单击命令按钮,在文本框中显示的值是______。
(分数:
2.00)
A.15
B.14
C.13
D.12 √
解析:
[解析]数组Arrayl的部分元素在双重循环中被初值,其规律为:
数组元素的值是两个下标值的之和,所以Arrayrl(2,3)=5,Arrayl(3,4)=7。
表达式“Arrayl(2,3)+Arrayl(3,4)”的计算结果为12。
24.在下列叙述中,不正确的一条是______。
(分数:
1.00)
A.数据库设计包括结构设计和行为设计两方面的内容
B.数据库设计的关键是结构特征的设计
C.数据库设计是数据库应用系统设计的核心部分
D.数据库的物理设计和具体的DBMS的类型无关 √
解析:
[解析]数据库设计包括结构设计和行为设计两方面的内容,其中结构设计是确定数据库的数据模型,行为设计是应用程序的设计。
结构设计是数据库设计的关键和核心,因此,选项A、B和C都是正确的。
数据库的物理设计依赖于给定的计算机,不同类型的DBMS所提供的物理环境不同,物理结构有很大差别。
25.下面语句中能够打开随机文件的是
(分数:
2.00)
A.Open"file.txt"ForRandomAs#1 √
B.Open"file.txt"ForInputAs#1
C.Open"file.txt"ForOutputAs#1
D.Open"file.txt"ForAppendAs#1
解析:
[解析]VisualBasic程序中关于文件的操作,主要是先打开一个文件,然后对这个文件进行读或写的操作,操作完成后,关闭这个文件。
打开文件的基本格式为:
OperiFileNameForModeAs#FileNumber。
打开方式主要有Output、Append、Input、Random等几种方式,其中打开随机文件使用Random方式打开。
二、填空题(总题数:
14,分数:
28.50)
26.设一棵完全二叉树共有500个结点,则在该二叉树中有__1__个叶子结点。
(分数:
1.00)
解析:
250[解析]所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。
具有n个结点的完全二叉树,其父结点数为int(n/2),而叶子结点数等于总结点数减去父结点数。
本题n=500,故父结点数等于int(500/2)=250,叶子结点数等于500-250=2500
27.数据结构包括数据的逻辑结构、数据的__1__以及对数据的操作运算。
(分数:
2.00)
解析:
存储结构[解析]数据结构包括3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。
28.数据模型按不同应用层次分成3种类型,它们是概念数据模型、1和物理数据模型。
(分数:
2.00)
解析:
逻辑数据模型
29.通用对话框控件可通过调整其Action属性而改变成各种实用的对话框,但它不能改变成1对话框。
(分数:
2.00)
解析:
设詈
30.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为__1__。
(分数:
1.00)
解析:
n(n-1)/2[解析]假设线性表的长度为n,则在最坏的情况下,冒泡排序要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要比较次数为n(n-1)/2。
31.单击命令按钮后,下列程序代码的执行结果是1。
PublicSubfun(Byvala()AsInteger)
StaticnAsInteger
Do
a(n)=a(n)+a(n+1)
n=n+1
LoopWhilen<3
EndSub
PrivateSubcommand1_click()
DimmAsInteger,nAsInteger,a(10)AsInteger
Forn=0To2:
a(n)=n+1:
Nextn
Forn=1To2:
Callfun(a):
Nextn
Forn=0To3:
Printa(n):
Nextn
EndSub
(分数:
2.00)
解析:
编译错误
在窗体上画两个文本框(名称分别为Text1和Text2)和一个命令按钮(名称为Command1),然后编写如下事件过程:
PrivateSubCommand1Click(
)
Text1.Text=InputBox("请输入数据1")
Text2.Text=InputBox("请输入数据2)
EndSub
程序运行后,如果单击命令按钮,将先后显示两个输入对话框,在两个输入对话框中分别输入123和abc,则两个文本框中显示的内容分别为7和8。
(分数:
4.00)
解析:
123
解析:
abc
32.要使一个文本框具有水平和垂直滚动条,应先将其MultiLine属性设置为True,然后再将ScrollBar属性设置为1。
(分数:
2.00)
解析:
3
33.下列程序弹出对话框中按钮的个数为1。
MsgBox"确认!
",vbAbortRetryIgnore+vbMsgBoxHelpButton+vbQuestion,"提示"
(分数:
2.00)
解析:
4[解析]MsgBox函数在对话框中显示消息,等待用户单击按钮,并返回一个Integer告诉用户单击哪一个按钮。
MsgBox函数的第二个参数用来控制在对话框中显示的按钮、图标的种类及数量,共分为4组,如下表所示。
组
文字常数
值
描述
第
一
组
vbOKOnly
0
只显示确定(OK)按钮
vbOKCancel
1
显示确定(OK)及取消(Cencel)按钮
vbAbortRetryIgnore
2
显示终止(Abort)、重试(Retry)、及忽略(Ignore)按钮
vbYesNoCancel
3
显示是(Yes)、否(No)及取消(Cancel)按钮
vbYesNo
4
显示是(Yes)及否(No)按钮
vbRetryCancel
5
显示重试(Retry)及取消(Cancel)按钮
第
二
组
vbCritical
16
显示图标X
vbQu