VB2.docx
《VB2.docx》由会员分享,可在线阅读,更多相关《VB2.docx(81页珍藏版)》请在冰豆网上搜索。
VB2
第一套
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)软件是指
A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整集合
(2)软件调试的目的是
A)发现错误B)改正错误C)改善软件的性能D)验证软件的正确性
(3)在面向对象方法中,实现信息隐蔽是依靠
A)对象的继承B)对象的多态C)对象的封装D)对象的分类
(4)下列叙述中,不符合良好程序设计风格要求的是
A)程序的效率第一,清晰第二B)程序的可读性好C)程序中要有必要的注释D)输入数据前要有提示信息
(5)下列叙述中正确的是
A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构
C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对
(6)下列叙述中正确的是
A)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D)以上三种说法都不对
(7)冒泡排序在最坏情况下的比较次数是
A)
B)
C)
D)
(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
A)219B)221C)229D)231
(9)下列叙述中正确的是
A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题
C)数据库管理系统就是数据库系统D)以上三种说法都不对
(10)下列叙述中正确的是
A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项
C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表
(11)要使一个文本框可以显示多行文本,应设置为True的属性是
A)EnabledB)MultiLineC)MaxLengthD)Width
(12)在窗体上有一个名为Text1的文本框。
当光标在文本框中时,如果按下字母键“A”,则被调用的事件过程是
A)Form_KeyPress()B)Text1_LostFocus()C)Text1_Click()D)Text1_Change()
(13)设在窗体上有一个名称为Command1的命令按钮和一个名称为Text1的文本框。
要求单击Command1按钮时可把光标移到文本框中。
下面正确的事件过程是
A)PrivateSubCommand1_Click()B)PrivateSubCommand1_Click()
Text1.GotFocusCommand1.GotFocus
EndSubEndSub
C)PrivateSubCommand1_Click()D)PrivateSubCommand1_Click()
Text1.SetFocusCommand1.SetFocus
EndSubEndSub
(14)执行以下程序后输出的是
PrivateSubCommand1_Click()
ch$="ABCDEFGH"
PrintMid(Right(ch$,6),Len(Left(ch$,4)),2)
EndSub
A)CDEFGHB)ABCDC)FGD)AB
(15)设在窗体Form1上有一个列表框List1,其中有若干个项目。
要求单击列表框中某一项时,把该项显示在窗体上,正确的事件过程是
A)PrivateSubList1_Click()B)PrivateSubForm1_Click()
PrintList1.TextPrintList1.Text
EndSubEndSub
C)PrivateSubList1_Click()D)PrivateSubForm1_Click()
PrintForm1.TextList1.PrintList1.Text
EndSubEndSub
(16)若窗体上的图片框中有一个命令按钮,则此按钮的Left属性是指
A按钮左端到窗体左端的距离B按钮左端到图片框左端的距离C按钮中心点到窗体左端的距离D按钮中心点到图片框左端的距离
(17)为使程序运行时通用对话框CD1上显示的标题为“对话框窗口”,若通过程序设置该标题,则应使用的语句是
A)CD1.DialogTitle="对话框窗口"B)CD1.Action="对话框窗口"C)CD1.FileName="对话框窗口"D)CD1.Filter="对话框窗口"
(18)在窗体上有如右图所示的控件,各控件的名称与其标题相同,并有如下程序:
PrivateSubForm_Load()
Command2.Enabled=False
Check1.Value=1
EndSub
刚运行程序时,看到的窗体外观是
A)B)
C)D)
(19)设在窗体中有一个名称为List1的列表框,其中有若干个项目(如图)。
要求选中某一项后单击Command1按钮,就删除选中的项,则正确的事件过程是
A)PrivateSubCommand1_Click()
List1.Clear
EndSub
B)PrivateSubCommand1_Click()
List1.ClearList1.ListIndex
EndSub
C)PrivateSubCommand1_Click()
List1.RemoveItemList1.ListIndex
EndSub
D)PrivateSubCommand1_Click()
List1.RemoveItem
EndSub
(20)某人设计了如下程序用于计算并输出7!
(7的阶乘)
PrivateSubCommand1_Click()
t=0
Fork=7To2Step-1
t=t*k
Next
Printt
EndSub
执行程序时,发现结果是错误的。
下面的修改方案中能够得到正确结果的是
A)把t=0改为t=1B)把Fork=7To2Step–1改为Fork=7To1Step–1
C)把Fork=7To2Step–1改为Fork=1To7D)把Next改为Nextk
(21)若窗体中已经有若干个不同的单选按钮,要把它们改为一个单选按钮数组,在属性窗口中需要且只需要进行的操作是
A)把所有单选按钮的Index属性改为相同值B)把所有单选按钮的Index属性改为连续的不同值
C)把所有单选按钮的Caption属性值改为相同D)把所有单选按钮的名称改为相同,且把它们的Index属性改为连续的不同值
(22)窗体上有文本框Text1和一个菜单,菜单标题、名称如表,结构见图。
要求程序执行时单击“保存”菜单项,则把其标题显示在Text1文本框中。
下面可实现此功能的事件过程是
标题
名称
文件
file
新建
new
保存
save
A)PrivateSubsave_Click()B)PrivateSubsave_Click()
Text1.Text=file.save.CaptionText1.Text=save.Caption
EndSubEndSub
C)PrivateSubfile_Click()D)PrivateSubfile_Click()
Text1.Text=file.save.CaptionText1.Text=save.Caption
EndSubEndSub
(23)某人在窗体上画了一个名称为Timer1的计时器和一个名称为Label1的标签,计时器的属性设置为Enabled=True,Interval=0,并编程如下。
希望在程序运行时,可以每2秒在标签上显示一次系统当前时间。
PrivateSubTimer1_Timer()
Label1.Caption=Time$
EndSub
在程序执行时发现未能实现上述目的,那么,他应做的修改是A)通过属性窗口把计时器的Interval属性设置为2000B)通过属性窗口把计时器的Enabled属性设置为FalseC)把事件过程中的Label1.Caption=Time$语句改为Timer1.Interval=Time$D)把事件过程中的Label1.Caption=Time$语句改为Label1.Caption=Timer1.Time
(24)形状控件的Shape属性有6种取值,分别代表6种几何图形。
下列不属于这6种几何图形的是
A)B)C)D)
(25)下面关于文件的叙述中错误的是
A)随机文件中各条记录的长度是相同的B)打开随机文件时采用的文件存取方式应该是Random
C)向随机文件中写数据应使用语句Print#文件号D)打开随机文件与打开顺文件一样,都使用Open语句
(26)设窗体上有一个图片框Picture1,要在程序运行期间装入当前文件夹下的图形文件File1.jpg,能实现此功能的语句是
A)Picture1.Picture="File1.jpg"B)Picture1.Picture=LoadPicture("File1.jpg")
C)LoadPicture("File1.jpg")D)CallLoadPicture("File1.jpg")
(27)下面程序执行时,在窗体上显示的是
PrivateSubCommand1_Click()
Dima(10)
Fork=1To10
a(k)=11-k
Nextk
Printa(a(3)\a(7)Moda(5))
EndSub
A)3B)5C)7D)9
(28)为达到把a、b中的值交换后输出的目的,某人编程如下:
PrivateSubCommand1_Click()
a%=10:
b%=20
Callswap(a,b)
Printa,b
EndSub
PrivateSubswap(ByValaAsInteger,ByValbAsInteger)
c=a:
a=b:
b=c
EndSub
在运行时发现输出结果错了,需要修改。
下面列出的错误原因和修改方案中正确的是
A)调用swap过程的语句错误,应改为:
Callswapa,bB)输出语句错误,应改为:
Print"a","b"
C)过程的形式参数有错,应改为:
swap(ByRefaAsInteger,ByRefbAsInteger)
D)swap中3条赋值语句的顺序是错误的,应改为a=b:
b=c:
c=a
(29)有如下函数:
Functionfun(aAsInteger,nAsInteger)AsInteger
DimmAsInteger
Whilea>=n
a=a-n
m=m+1
Wend
fun=m
EndFunction
该函数的返回值是
A)a乘以n的乘积B)a加n的和C)a减n的差D)a除以n的商(不含小数部分)
(30)下面程序的输出结果是
PrivateSubCommand1_Click()
ch$="ABCDEF"
procch
Printch
EndSub
PrivateSubproc(chAsString)
s=""
Fork=Len(ch)To1Step-1
s=s&Mid(ch,k,1)
Nextk
ch=s
EndSub
A)ABCDEFB)FEDCBAC)AD)F
(31)某人编写了一个能够返回数组a中10个数中最大数的函数过程,代码如下:
FunctionMaxValue(a()AsInteger)AsInteger
Dimmax%
max=1
Fork=2To10
Ifa(k)>a(max)Then
max=k
EndIf
Nextk
MaxValue=max
EndFunction
程序运行时,发现函数过程的返回值是错的,需要修改,下面的修改方案中正确的是
A)语句max=1应改为max=a
(1)B)语句Fork=2To10应改为Fork=1To10
C)If语句中的条件a(k)>a(max)应改为a(k)>maxD)语句MaxValue=max应改为MaxValue=a(max)
(32)在窗体上画一个名称为Command1的命令按钮,并编写以下程序:
PrivateSubCommand1_Click()
Dimn%,b,t
t=1:
b=1:
n=2
Do
b=b*n
t=t+b
n=n+1
LoopUntiln>9
Printt
EndSub
此程序计算并输出一个表达式的值,该表达式是
A)9!
B)10!
C)1!
+2!
+…+9!
D)1!
+2!
+…+10!
(33)有一个名称为Form1的窗体,上面没有控件,设有以下程序(其中方法PSet(X,Y)的功能是在坐标X,Y处画一个点):
DimcmdmaveAsBoolean
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
cmdmave=True
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfcmdmaveThen
Form1.PSet(X,Y)
EndIf
EndSub
PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
cmdmave=False
EndSub
此程序的功能是A)每按下鼠标键一次,在鼠标所指位置画一个点B)按下鼠标键,则在鼠标所指位置画一个点;放开鼠标键,则此点消失C)不按鼠标键而拖动鼠标,则沿鼠标拖动的轨迹画一条线D)按下鼠标键并拖动鼠标,则沿鼠标拖动的轨迹画一条线,放开鼠标键则结束画线
(34)某人设计了下面的函数fun,功能是返回参数a中数值的位数
Functionfun(aAsInteger)AsInteger
Dimn%
n=1
Whilea\10>=0
n=n+1
a=a\10
Wend
fun=n
EndFunction
在调用该函数时发现返回的结果不正确,函数需要修改,下面的修改方案中正确的是
A)把语句n=1改为n=0B)把循环条件a\10>=0改为a\10>0
C)把语句a=a\10改为a=aMod10D)把语句fun=n改为fun=a
(35)在窗体上有一个名称为Check1的复选框数组(含4个复选框),还有一个名称为Text1的文本框,初始内容为空。
程序运行时,单击任何复选框,则把所有选中的复选框后面的文字罗列在文本框中(见图)。
下面能实现此功能的事件过程是
A)PrivateSubCheck1_Click(IndexAsInteger)
Text1.Text=""
Fork=0To3
IfCheck1(k).Value=1Then
Text1.Text=Text1.Text&Check1(k).Caption&""'双引号中是空格
EndIf
Nextk
EndSub
B)PrivateSubCheck1_Click(IndexAsInteger)
Fork=0To3
IfCheck1(k).Value=1Then
Text1.Text=Text1.Text&Check1(k).Caption&""'双引号中是空格
EndIf
Nextk
EndSub
C)PrivateSubCheck1_Click(IndexAsInteger)
Text1.Text=""
Fork=0To3
IfCheck1(Index).Value=1Then
Text1.Text=Text1.Text&Check1(Index).Caption&""'双引号中是空格
EndIf
Nextk
EndSub
D)PrivateSubCheck1_Click(IndexAsInteger)
Text1.Text=""
Fork=0To3
IfCheck1(k).Value=1Then
Text1.Text=Text1.Text&Check1(k).Caption&""'双引号中是空格
ExitFor
EndIf
Nextk
EndSub
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(1)软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是。
(2)在两种基本测试方法中,测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。
(3)线性表的存储结构主要分为顺序存储结构和链式存储结构。
队列是一种特殊的线性表,循环队列是队列的存储结构。
(4)对下列二叉树进行中序遍历的结果为。
(5)在E-R图中,矩形表示。
(6)窗体上有一个组合框,其中已输入了若干个项目。
程序运行时,单击其中一项,即可把该项与最上面的一项交换。
例如:
单击图1中的“重庆”,则与“北京”交换,得到图2的结果。
下面是可实现此功能的程序,请填空。
PrivateSubCombo1_Click()
Dimtemp
temp=Combo1.Text
=Combo1.List(0)
Combo1.List(0)=temp
EndSub
(7)设窗体上有一个名称为HScroll1的水平滚动条,要求当滚动块移动位置后,能够在窗体上输出移动的距离(即新位置与原位置的刻度值之差,向右移动为正数,向左移动为负数)。
下面是可实现此功能的程序,请填空。
DimAsInteger
PrivateSubForm_Load()
pos=HScroll1.Value
EndSub
PrivateSubHScroll1_Change()
Print-pos
pos=HScroll1.Value
EndSub
(8)设窗体上有一个名称为CD1的通用对话框、一个名称为Text1的文本框和一个名称为Command1的命令按钮。
程序执行时,单击Command1按钮,则显示打开文件对话框,操作者从中选择一个文本文件,并单击对话框上的“打开”按钮后,则可打开该文本文件,并读入一行文本,显示在Text1中。
下面是实现此功能的事件过程,请填空。
PrivateSubCommand1_Click()
CD1.Filter="文本文件|*.txt|Word文档|*.doc"
CD1.FilterIndex=1
CD1.ShowOpen
IfCD1.FileName<>""Then
OpenForInputAs#1
LineInput#1,ch$
Close#1
Text1.Text=
EndIf
EndSub
(9)下面的程序执行时,可以从键盘输入一个正整数,然后把该数的每位数字按逆序输出。
例如:
输入7685,则输出5867;输入1000,则输出0001。
请填空。
PrivateSubCommand1_Click()
DimxAsInteger
x=InputBox("请输入一个正整数")
Whilex>
PrintxMod10;
x=x\10
Wend
Print
EndSub
(10)有如图所示的窗体。
程序执行时先在Text1文本框中输入编号,当焦点试图离开Text1时,程序检查编号的合法性,若编号合法,则焦点可以离开Text1文本框;否则,显示相应错误信息,并自动选中错误的字符,且焦点不能离开Text1文本框(见图)。
合法编号的组成是:
前2个字符是大写英文字母,第3个字符是“-”,后面是数字字符(至少1个)。
下面程序可实现此功能,请填空。
PrivateSubText1_LostFocus()
Dimk%,n%
n=Len()
Fork=1ToIIf(n>3,n,4)
c=Mid(Text1.Text,k,1)
SelectCasek
Case1,2
Ifc<"A"Orc>"Z"Then
MsgBox("第"&k&"个字符必须是大写字母!
")
SetPositionk
ExitFor
EndIf
Case3
Ifc<>"-"Then
MsgBox("第"&k&"个字符必须是字符""-""")
SetPositionk
ExitFor
EndIf
CaseElse
Ifc<"0"Orc>"9"Then
MsgBox("第"&k&"个字符必须是数字!
")
SetPositionk
ExitFor
EndIf
EndSelect
Nextk
EndSub
PrivateSubSetPosition(posAsInteger)
Text1.SelStart=pos-1
Text1.SelLength=
Text1.
EndSub
选择题:
1—5DBCAA6—10DCABC11-15BDCCA16