二级Visual+Basic语言程序设计模拟216.docx
- 文档编号:12402480
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:25
- 大小:25.89KB
二级Visual+Basic语言程序设计模拟216.docx
《二级Visual+Basic语言程序设计模拟216.docx》由会员分享,可在线阅读,更多相关《二级Visual+Basic语言程序设计模拟216.docx(25页珍藏版)》请在冰点文库上搜索。
二级Visual+Basic语言程序设计模拟216
[模拟]二级VisualBasic语言程序设计模拟216
单项选择题
第1题:
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是____。
A.快速排序
B.冒泡排序
C.直接插入排序
D.堆排序
参考答案:
D
除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n-1)/2。
第2题:
下列叙述中正确的是____。
A.栈是"先进先出"的线性表
B.队列是"先进后出"的线性表
C.循环队列是非线性结构
D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
参考答案:
D
栈是先进后出的线性表,所以A错误;队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。
第3题:
VisualBasic中的"启动对象"是指启动VisualBasic应用程序时,被自动加载并首先执行的对象。
下列关于VisualBasic"启动对象"的描述中,错误的是____。
A.启动对象可以是指定的标准模块
B.启动对象可以是指定的窗体
C.启动对象可以是SubMain过程
D.若没有经过设置,则默认的"启动对象"是第一个被创建的窗体
参考答案:
A
VB中启动对象可以是SubMain过程或窗体,不能是标准模块。
故A选项错误。
第4题:
算法的空间复杂度是指____。
A.算法在执行过程中所需要的计算机存储空间
B.算法所处理的数据量
C.算法程序中的语句或指令条数
D.算法在执行过程中所需要的临时工作单元数
参考答案:
A
算法的空间复杂度是指算法在执行过程中所需要的内存空间。
所以选择A。
第5题:
对于循环队列,下列叙述中正确的是____。
A.队头指针是固定不变的
B.队头指针一定大于队尾指针
C.队头指针一定小于队尾指针
D.队头指针可以大于队尾指针,也可以小于队尾指针
参考答案:
D
循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。
因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。
第6题:
设循环队列为Q(1:
m),其初始状态为front=rear=m。
经过一系列入队与退队运算后,front=20,rear=15。
现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为
A.5
B.6
C.m-5
D.m-6
参考答案:
D
循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=20,rear=15时,队列中有m-20+15=m-5个元素,比较次数为m-6次,D选项正确。
第7题:
在面向对象方法中,不属于"对象"基本特点的是____。
A.一致性
B.分类性
C.多态性
D.标识唯一性
参考答案:
A
对象有如下一些基本特点:
标识唯一性、分类性、多态性、封装性、模块独立性好。
所以选择A。
第8题:
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是____。
A.一对一
B.一对多
C.多对一
D.多对多
参考答案:
B
因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。
第9题:
顺序文件在一次打开期间____。
A.只能读,不能写
B.只能写,不能读
C.既可读,又可写
D.或者只读,或者只写
参考答案:
D
顺序文件的读写是由Open语句的打开模式决定。
用Output模式打开,则可对顺序文件进行写操作;用Input模式打开,可对顺序文件进行读操作;用Append模式打开,可将数据追加到文件尾部。
打开一次期间,只能读,或只能写,不能同时进行读写操作。
但随机文件和二进制文件打开以后可以同时进行读写操作。
故D选项正确。
第10题:
为了建立随机文件,要求文件的每条记录应包含多个不同数据类型的数据项,则记录应使用的数据类型是
A.记录类型
B.字符串类型
C.字符串数组
D.变体类型
参考答案:
A
Type语句定义的类型又称记录类型,记录类型文件的每条记录应包含多个不同数据类型的数据项,故Type语句定义的类型满足题目需求,记录应使用的数据类型是为记录型数据,选项A正确。
B、C、D项不能包含多个不同数据类型的,故都错误。
第11题:
在VB集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是____。
参考答案:
D
第12题:
设x是整型变量,与函数IIf(x﹥0,-x,x)有相同结果的代数式是____。
A.|x|
B.-|x|
C.x
D.-x
参考答案:
B
IIF函数是条件函数,本题的含义是如果x﹥0条件成立,即x为正数,就返回-x,即x的负数,否则返回x(它本身),两种情况都是返回负数。
根据这一点,选项B符合要求。
故B选项正确。
第13题:
下面有关标准模块的叙述中,错误的是____。
A.标准模块不完全由代码组成,还可以有窗体
B.标准模块中的Private过程不能被工程中的其他模块调用
C.标准模块的文件扩展名为.bas
D.标准模块中的全局变量可以被工程中的任何模块引用
参考答案:
A
标准模块中只包含其他窗体模块中公用的一些变量、过程等代码,不包括窗体。
故选项A错误。
标准模块中用Private声明的过程属于私有过程,只能被它所在的模块中的其他过程调用,不能被工程中其他模块调用,用Public声明的全局变量属于公用变量,可以被工程中的任何模块引用。
标准模块的文件扩展名是.bas。
第14题:
以下数组定义语句中,错误的是____。
A.Statica(10)AsInteger
B.Dimc(3,1To4)
C.Dimd(-10)
D.Dimb(0To5,1To3)AsInteger
参考答案:
C
第15题:
以下关于过程及过程参数的描述中,错误的是____。
A.调用过程时可以用控件名称作为实际参数
B.用数组作为过程的参数时,使用的是"传地址"方式
C.只有函数过程能够将过程中处理的信息传回到调用的程序中
D.窗体(Form)可以作为过程的参数
参考答案:
C
过程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。
相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。
故A、D选项正确。
调用过程时,如果过程的参数是数组,则实参传给形参的是地址,这个地址是用数组名表示的一个符号地址,是数组的起始地址,形参和实参用的是同一个地址,在过程中形参的改变会引起实参的改变。
故B选项正确。
在过程调用时,不只是函数过程能把过程中处理的信息传回到调用程序中,Sub过程也可以。
Sub过程中形参声明时前面有关键字ByRef或省略ByRef(默认)时,实参和形参之间传递的是地址,Sub过程中形参的变化也会引起实参的变化,这样Sub过程中处理的信息也可以传回调用程序中。
故C选项说法错误。
第16题:
窗体上建立了一个名为CommonDialong1的通用对话框,用下面的语句建立一个对话框:
CommonDialong1.Action=2,则以下语句与之等价的是()。
A.CommonDialon1.ShowOpen
B.CommonDialog1.ShowSave
C.CommonDialog1.ShowColor
D.CommonDialog1.ShowFont
参考答案:
B
本题考查通用对话框。
系统提供了6种通用对话框。
可以利用其Action值和提供的不同方法来区分不同的对话框。
Action取值可为:
1、2、3、4、5、6,对应的方法分别为ShowOpen、ShowSave、ShowColor、ShowFont、ShowPrimer、ShowHelp。
第17题:
若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是
A.一对一
B.一对多
C.多对一
D.多对多
参考答案:
B
A和B为一对多的联系,则对于A中的每一个实体,B中有多个实体与之联系,而B与C为一对一联系,则对于B中的每一个实体,C中之多有一个实体与之联系,则可推出对于A中的每一个实体,C中有多个实体与联系,所以为一对多联系。
第18题:
可以产生30~50(含30和50)之间的随机整数的表达式是____。
A.Int(Rnd*21+30)
B.Int(Rnd*20+30)
C.Int(Rnd*50-Rnd*30)
D.Int(Rnd*30+50)
参考答案:
A
第19题:
为了使文本框同时具有垂直和水平滚动条,应先把MultiLine属性设置为True,然后再把ScrollBars属性设置为____。
A.0
B.1
C.2
D.3
参考答案:
D
文档的ScrollBars属性值,0表示无滚动条,1表示只有水平滚动条,2表示只有垂直滚动条,3表示水平和垂直滚动条都有。
故D选项正确。
第20题:
某人编写了下面的程序,希望能把Text1文本框中的内容写到out.txt文件中:
PrivateSubCommand1_Click()
Open"out.txt"ForOutputAs#2
Print"Text1"
Close#2
EndSub
调试时发现没有达到目的,为实现上述目的,应做的修改是____。
A.把Print"Text1"改为Print#2,Text1
B.把Print"Text1"改为PrintText1
C.把Print"Text1"改为Write"Text1"
D.把所有#2改为#1
参考答案:
A
要把文本框中的内容写入文本文件中,首先要用Open语句的ForOutput模式打开文本文件,并为文件制定一个文件号,然后,用Print语句将文本写入文本文件,最后关闭文件。
本题中Click事件过程中第1、3条语句正确。
第2条语句Print语句的格式是:
Print#文件号,要写入的内容,原语句错误。
根据格式按选项A修改正确,故A选项正确。
第21题:
以下能够触发文本框Change事件的操作是____。
A.文本框失去焦点
B.文本框获得焦点
C.设置文本框的焦点
D.改变文本框的内容
参考答案:
D
改变文本框中的内容时就会触发它的Change事件,故选D。
第22题:
构成计算机软件的是
A.源代码
B.程序和数据
C.程序和文档
D.程序、数据及相关文档
参考答案:
D
软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D。
第23题:
在关系A(S,SN,D)和B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则D是A的____
A.外键(码)
B.候选键(码)
C.主键(码)
D.元组
参考答案:
A
第24题:
以下说法中正确的是____。
A.当焦点在某个控件上时,按下一个字母键,就会执行该控件的KeyPress事件过程
B.因为窗体不接受焦点,所以窗体不存在自己的KeyPress事件过程
C.若按下的键相同,KeyPress事件过程中的KeyAscii参数与KeyDown事件过程中的KeyCode参数的值也相同
D.在KeyPress事件过程中,KeyAscii参数可以省略
参考答案:
A
B选项错误原因:
窗体有自己的KeyPress事件过程;C选项错误原因:
KeyPress事件过程中的KeyAscii参数返回按键的ASCII码值,大小写字母返回值不同;而KeyDown事件过程中的KeyCode参数返回的是按键代码,大小写字母返回值相同。
故按下的键相同时,keyAscii和KeyCode参数不一定返回相同值;D选项错误原因:
KeyPress事件中的KeyAscii参数不能省略。
A选项正确。
第25题:
下列关于通用对话框CommonDialog1的叙述中,错误的是____。
A.只要在"打开"对话框中选择了文件,并单击"打开"按钮,就可以将选中的文件打开
B.使用CommonDialog1.ShowColor方法,可以显示"颜色"对话框
C.CancelError属性用于控制用户单击"取消"按钮关闭对话框时,是否显示出错警告
D.在显示"字体"对话框前,必须先设置CommonDialog1的Flags属性,否则会出错
参考答案:
A
打开对话框主要用来获取用户指定的文件信息并供程序使用,对话框本身并不提供打开文件功能,这些功能需另外编写代码才能实现,所以在"打开"对话框中可选中某文件,但不能打开。
故A选项错误。
第26题:
在窗体上画一个名称为Command1的命令按钮,并编写如下程序:
FunctionFun(x)
y=0
Ifx﹤10Then
y=x
Else
y=y+10
EndIf
Fun=y
EndFunction
PrivateSubCommand1_Click()
n=InputBox("请输入一个数")
n=Val(n)
P=Fun(n)
PrintP
EndSub
运行程序,单击命令按钮,将显示输入对话框,如果在对话框中输入100,并单击"确定"按钮,则输出结果为____。
A.10
B.100
C.110
D.出错信息
参考答案:
A
程序中输入100,则调用过程为Fun(100),过程Fun中判断参数是否小于10,小于10则将此值赋给y,如果不小于10,则变量y值加10,由于100不小于10,所以y值加10,等于10,并将此值做为函数值返回。
因此输出结果为10。
第27题:
为了使文本框显示滚动条,除要设置ScrollBars外,还必须设置的属性是____。
A.AutoSize
B.Alignment
C.Multiline
D.MaxLength
参考答案:
C
为了使文本框显示滚动条,要将ScrollBars的值设置为非0的1、2或3,还要设置Multiline属性为True。
第28题:
假定在图片框Picture1中装入了一个图片,在程序运行中,为了清除该图片(注意,清除图片,而不是删除图片框),应采用的正确方法是____。
A.单击图片框,然后按Del键
B.执行语句Picture1.Picture=LoadPicture("")
C.执行语句Picture1.Picture=""
D.执行语句:
Picture1.Cls
参考答案:
B
A选项按Del键不能删除图片;C选项中Pictue属性值不能为空字符串,语法错误;D选项中Cls方法只能清除图片上显示的内容,不能清除图片。
要将图片框中的图片清除,用B选项方法可以。
故B选项正确。
第29题:
以下合法的VB变量名是____。
A._x
B.2y
C.a#b
D.x_1_x
参考答案:
D
VB中变量的命名规则为:
①必须以字母或汉字开头②由字母、汉字、数字或下划线组成③不能使用VB的保留字。
_x不能以_下划线开头,不合法;2y不能以数字开头,不合法;a#b中有#,不合法;D选项符合命名规则,故D选项正确。
第30题:
PrintRight("VBProgramming",2)语句的输出结果是____。
A.VB
B.Programming
C.ng
D.2
参考答案:
C
Right是字符串的右部截取函数,本题中是从字符串"VBProgramming"右边向左截取2个字符,即为"ng",故选C。
第31题:
设有如下一段程序:
PrivateSubCommand1_Click()
StaticaAsVariant
a=Array("one","two","three","four","five")
Printa(3)
EndSub
针对上述事件过程,以下叙述中正确的是____。
A.变量声明语句有错,应改为Statica(5)AsVariant
B.变量声明语句有错,应改为Statica
C.可以正常运行,在窗体上显示three
D.可以正常运行,在窗体上显示four
参考答案:
D
题目中变量a被定义为Variant类型,Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。
变量a被赋值为字符串数组,数组默认下标从0开始,因此元素a(3)的值为"four"。
第32题:
求1!
+2!
+……+10!
的程序如下:
PrivateFunctions(xAsInteger)
f=1
Fori=1Tox
f=f*i
Next
s=f
EndFunction
PrivateSubCommand1_Click()
DimiAsInteger
DimyAsLong
Fori=1To10
Next
Printy
EndSub
为实现功能要求,程序的横线处应该填入的内容是____。
A.Calls(i)
B.Calls
C.y=y+s(i)
D.y=y+s
参考答案:
C
题目中过程s的功能是实现一个数的阶乘,而题目是求1到10的阶乘的和,则程序空缺处应该是过程s返回值的累加,因此就应该为y=y+s(i)。
第33题:
在窗体上画1个名称为Command1的命令按钮,1个名称为Label1的标签,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger
DimsAsInteger
Fori=1To5
Forj=1Toi
s=s+j
Nextj
Nexti
Label1.Caption=s
EndSub
程序运行后,单击命令按钮Command1,则标签中显示的内容是
A.15
B.20
C.35
D.55
参考答案:
C
利用多重For循环,对s累加,当i=1时,完成内层For循环后s=1;当i=2时,完成内层For循环后s=4;依次类推,当i=5时,完成内层For循环后s=35,接着退出最外层循环。
将s的值赋值给标签Label1的标题,故标签中显示为35,选择C项。
第34题:
设窗体上有一个文本框Text1和一个命令按钮Command1,并有以下事件过程:
PrivateSubCommand1_Click()
DimsAsString,chAsString
s=""
Fork=1ToLen(Text1)
ch=Mid(Text1,k,1)
s=ch+s
Nextk
Text1.Text=s
EndSub
程序执行时,在文本框中输入"Basic",然后单击命令按钮,则Text1中显示的是____。
A.Basic
B.cisaB
C.BASIC
D.CISAB
参考答案:
B
Len函数返回字符串的长度,Mid函数为字符串中部截取函数格式为:
Mid(字符串,起始位置,长度)。
程序中,For循环的终值是Text1中输入的字符串的长度,即"Basic"的长度,为5。
循环体中Mid函数从第一个字符开始依次取出一个字符,然后与上次取出的字符连接,本次取出的字符在前,上次取出的字符在后。
最终变量s中应该是"cisaB"。
第35题:
窗体上有名称为Command1的命令按钮,名称分别为List1、List2的列表框,其中List1的MultiSelect属性设置为1(Simple),并有如下事件过程:
PrivateSubCommand1_Click()
Fori=0ToList1.ListCount-1
IfList1.Selected(i)=TrueThen
List2.AddItemText
EndIf
Next
EndSub
上述事件过程的功能是将List1中被选中的列表项添加到List2中。
运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是____。
A.将For循环的终值改为List1.ListCount
B.将List1.Selected(i)=True改为List1.List(i).Selected=True
C.将List2.AddItemText改为List2.AddItemList1.List(i)
D.将List2.AddItemText改为List2.AddItemList1.ListIndex
参考答案:
C
题目程序不能将List1中的选中项添加到List2中,List2.AddItemText一行有误,应该改为List2.AddItemList1.List(i)才能使List1中每个选中的行添加到List2中。
列表框控件的List属性保存了列表框中所有值的数组,可以通过下标访问数组中的值。
第36题:
为计算an的值,某人编写了函数power如下:
PrivateFunctionpower(aAsInteger,nAsInteger)AsLong
DimsAsLong
p=a
Fork=1Ton
p=p*a
Nextk
power=p
EndFunction
在调试时发现是错误的,例如Printpower(5,4)的输出应该是625,但实际输出是3125。
程序需要修改。
下面的修改方案中有3个是正确的,错误的一个是____。
A.把Fork=1Ton改为Fork=2Ton
B.把p=p*a改为p=p^n
C.把Fork=1Ton改为Fork=1Ton-1
D.把p=a改为p=1
参考答案:
B
程序中计算an的算法有误,由于已经将a的值赋给了p,在后边的For循环中再乘n次a显然就多乘了一次a,因此,要改正此程序或者将p=a改为p=1,或者将fork=1ton改成fork=1ton-1或fork=2ton。
而B选项将p=p*a改为p=p^n将会导致p=p^n执行n次,得不到正确结果。
第37题:
编写如下程序:
PrivateSubCommand1_Click()
DimmAsInteger,nAsInteger
n=2
Form=1To3
Printproc(n);
Nextm
EndSub
Functionproc(iAsInteger)
DimaAsInteger
StaticbAsInteger
a=a+1
b=b+1
proc=a*b+i
EndFunction
程序运行后,单击命令按钮Command1,输出结果为____。
A.3 3 3
B.3 4 5
C.3 5 6
D.1 2 3
参考答案:
B
第38题:
下列循环中,可以正常结束的是____。
A.i=10Doi=i+1LoopUntili﹤1
B.i=1Doi=i+1LoopUntili=10
C.i=10Doi=i+1LoopWhilei﹥1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 Visual Basic 语言程序设计 模拟 216