1、二级 VISUAL+BASIC 笔试-287 及答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在窗体上建立通用对话框需要添加的控件是(分数:2.00)A.Data 控件B.From 控件C.CommonDialog 控件D.VBComboBox 控件2.只有将组合框的 Style 属性设置为何值时,才能触发 DblClick 事件?(分数:2.00)A.0B.1C.2D.33.Sub 过程与 Function 过程最根本的区别是(分数:2.00)A.Sub 过程可以用 Call 语句直接使用过程名调用,而 Function 过程不可以B.Fu
2、nction 过程可以有形参,Sub 过程不可以C.Sub 过程不能返回值,而 Function 过程能返回值D.两种过程参数的传递方式不同4.栈和队列的共同特点是(分数:2.00)A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点5.链表不具有的特点是(分数:2.00)A.不必事先估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比6.结构化程序设计的 3 种结构是(分数:2.00)A.顺序结构、选择结构、转移结构B.分支结构、等价结构、循环结构C.多分支结构、赋值结构、等价结构D.顺序结构、选择结构、循环结构7.运行下列程序
3、段后,显示的结果为J1=23J2=32If J1J2 Then Print J2 Else Print J1(分数:2.00)A.23B.32C.55D.23328.下列语句正确的是(分数:2.00)A.If AB Then Print“A 不等于 B“B.If AB Then Print“A 不等于 B“D.1f AB Print“A 不等于 B“9.下面有关注释语句的格式,错误的是(分数:2.00)A.Rem 注释内容B.注释内容C.a=3:b=2,对 a、b 赋值D.Private Sub Command1_MouseDown(button As Integer,shift As Int
4、eger,_Rem 鼠标按下事件的命令调用过程 X As Single,Y As Single)10.算法的时间复杂度是指(分数:2.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数11.下列各控件不包含滚动条的控件是(分数:2.00)A.ListBoxB.ComboBoxC.TextBoxD.LabelBox12.单击命令按钮时,下列程序的执行结果是Private Sub Command1_Click()Dim a As Integer,b As Integer,c As Integera=3b=4c=5Print SecPr
5、oc(c,b,(分数:2.00)A.End Sub=y Then z=x:z=yB.If x=y Then z=x Else z=yC.z=y:If x=y Then z=xD.If xB Then Printf“A 不等于 B“C.If A=y Then z=x Else z=yC.z=y:If x=y Then z=xD.If x=y Then z=y Else z=x解析:解析:选项 A)中的语句行有两条语句,执行 If 语句后,执行 z=y 语句,所以不管 x 是否大于 y,最终 x 的值都等于 y。29.以下各项中,Visual Basic 不能接收的图形文件是(分数:2.00)Ai
6、co 文件Bjpg 文件Cpsd 文件 Dbmp 文件解析:解析:在 Visual Basic 中,可以接受不同的图形文件,见下表。*从上表可知,.psd 文件不是 Visual Basic 所支持的图形文件。30.下面语句正确的是(分数:2.00)A.If xy Then y=x3 B.If xy Then y=3xC.If xy Then y=x3D.If xy Then y=x * * 3解析:解析:此题考查是条件浯句的结构。条件语句可以分为三种类型,如下:If Then 结构If Then Else 结构Select Case 结构而 If Then 结构有两种格式:条件 Then 语
7、句条件 Then语句块End If31.不能脱离控件(包括客体)而独立存在的过程是(分数:2.00)A.事件过程 B.通用过程C.Sub 过程D.函数过程解析:解析:事件过程由 Visual Basic 创建,事件过程是当用户对一个对象发出一个动作时所产生的事件,不能脱离控件而独立存在;通用过程时通用的,不与任何特定事件相联系,它完成特定的任务,只能由别的过程调用;Sub 过程包括事件过程和通用过程,称之为子过程。也就是说,有些 Sub 过程与对象相关联,有些 Sub 过程与对象没有联系;函数过程类似于内部函数,由用户定义的,完成一些特殊函数关系的计算,并且要返回函数值的过程,显然函数过程不必
8、与控件发生联系。32.在 Visual Basic 中,要将一个窗体加载到内存进行预处理但不显示,应使用的语句是(分数:2.00)A.Load B.ShowC.HideD.Unload解析:解析:此题是考查有关 Load 语句、Unload 语句、Show 方法和 Hide 方法的,在此简单介绍一下这些语句和方法:Load 语句格式:Load 窗体名称Load 语句把一个窗体装入内存,执行 Load 语句后,可以引用窗体中的控件及各种属性,但此时窗体没有显示出来,“窗体名称”是窗体的 Name 属性;Unload 语句格式:Unload 窗体名称该语句与 Load 语句的功能相反,它清除内存中
9、指定的窗体;Show 方法格式:窗体名称.Show模式Show 方法用来显示一个窗体。如果省略“窗体名称”,则显示当前窗体。参数“模式”用来确定窗体的状态,可以取两种值,即 0 和 1(不是 False 和 True)。当“模式”值为 1 (或常量 vbModal)时,表示窗体是“模态型”窗体,在这种情况下,鼠标只在此窗体内起作用,不能到其他窗口内操作,只有关闭该窗口才能对其他窗口进行操作;当“模式”值为 0 (或省略参数“模式”值)时,表示窗体为“非模态型”窗体,不用关闭该窗体就可以对其他窗体进行操作;Hide 方法格式:窗体名称HideHide 方法使窗体隐藏,即不在屏幕上显示,但仍在内存
10、中,因此,它与 Unload 语句的作用不同。33.单击命令按钮时,下列程序的执行结果为Private Sub Command1_Click()Dim x As Integer,y As Integerx=12:y=32Call Proc(x,y)Print x;yEnd SubPublic Sub Proc(n As Integer,ByVal m As Integer)n=n Mod 10m=m Mod 10End Sub(分数:2.00)A.12 32B.2 32 C.2 3D.12 3解析:解析:此题是函数过程的调用。在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传
11、递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在 Visual Basic 中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下:传址的结合过程是,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。传值的结合过程时:当调用一个过程时,系统将实参的值赋值给形参并断开了联系,被调用过程中的操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程 Proc 中有两个形参,其中第一个形参 n为传址
12、方式,第二个形参 m 为传值方式。主调过程分别把实参 x、y 传递给 Proc,所以当过程调用结束后,实参 x 的值应随着被调过程变化而变化,而实参 y 值在主调函数中始终不变,所以输出 y 的值仍为 32;在被调过程中“n=n Mod l0”被调用时,相当于“x=x Mod l0”,所有 x 的值最终为 2,最后输出结果如选项 B)所示。34.下列有关数据库的描述,正确的是(分数:2.00)A.数据处理是将信息转化为数据的过程B.数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C.关系中的每一列称为元组,一个元组就是一个字段D.如果一个关系中的属性或属性组并非该关系的关键字,但
13、它是另一个关系的关键字,则称其为本关系的外关键字 解析:解析:数据处理是指将数据转换成信息的过程,所以选项 A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,所以选项 B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,所以选项 C)叙述错误。35.执行 x$=InputBox(“请输入 x 的值“)时,在弹出的对话框中输入 123,在列表框 List1 选中 1 个列表项(数据为 456),使有的值使 123456 的语句是(分数:2.00)A.y=x$+List1List(0) B.y=x$+List1List(
14、1)C.y=Val(x$)+Val(List1List(0)D.y=Val(x$)&Val(List1List(1)解析:解析:选项 A)中,x$和 List1List(0)都是字符类型,用“+”运算符表示将这两个字符串连接起来,结果正好是 123456;选项 B)中,List1List(1)不是列表框控件的第一个列表项;选项 c)中,Val函数将字符串转换成数值,这两个数值相加的表达式的运算结果为 579;选项 D)同选项 B)。二、填空题(总题数:10,分数:20.00)36.算法的基本特征是可行性、确定性、 【1】 和拥有足够的情报。(分数:2.00)填空项 1:_ (正确答案:【1】有
15、穷性)解析:解析:算法是指解题方案的准确而完整的描述。它有 4 个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。37.在长度为 n 的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 【2】 。(分数:2.00)填空项 1:_ (正确答案:【2】log 2n)解析:解析:对于长度为 n 的有序线性表,在最坏情况下,二分查找只需要比较 log2n 次,而顺序查找需要比较 n 次。38.在面向对象的程序设计中,类描述的是具有相似性质的一组 【3】 。(分数:2.00)填空项 1:_ (正确答案:【3】对象)解析:解析:将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同
16、方法的对象的集合。39.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。(分数:2.00)填空项 1:_ (正确答案:【4】软件生命周期)解析:解析:软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。40.数据库管理系统常见的数据模型有层次模型、网状模型和 【5】 3 种。(分数:2.00)填空项 1:_ (正确答案:【5】关系模型)解析:解析:数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数
17、据模型,可以分为层次模型、网状模型和关系模型。41.Visual Basic 对象可以分为两类,分别为 【6】 和 【7】 。(分数:2.00)填空项 1:_ (正确答案:【6】预定义对象【7】用户定义对象)解析:解析:对象分为两类:预定义对象和用户定义对象,预定义对象是由系统设计好的,可以直接使用或对其进行操作;而用户定义对象中的对象可由程序员自己定义,建立自己的对象。42.完成下面的程序,使显示结果如下图所示。Private Sub Form_Click()FontSize=18Sample$s=“ 【8】 “x=(ScaleWidth-TextWidth(Sample$)2y=(Scal
18、eHeight-TextHeight(Sample$)2CurrentX=xCurrentY=y【9】 Sample$End Sub(分数:2.00)填空项 1:_ (正确答案:【8】Welcome to Beijing!【9】Print)解析:解析:该题中主要是考查了赋值语句与显示语句。赋值语句是根据图示给出的信息,填写上字符串,然后,用 Print 命令,使字符串显示在窗体上。赋值语句为 Sample$= “Welcome to Beijing!“;输出语句为:Print Sample$。43.下列程序的功能是:当 x100 时,没有意义。请填空。Private Sub Command1_
19、Click()Dim x As Singlex=InputBox(“请输入 x 的值!“)【10】 Case Is50y=08 * xCase 50 To 100y=07 * x【11】 Print“输入的数据出界!“End SelectPrint x,yEnd Sub(分数:2.00)填空项 1:_ (正确答案:【10】Select Case x【11】Case Else)解析:解析:阅读程序后,看到程序中有了 Case 和 End Select 子句,没有多分支选择结构的起始语句,很明显,第一个空应该填写多分支结构的起始语句 Select Case x。在 Select Case 结构中,
20、只有两个Case 子句,分别表示 x 取值的两种情况,但题目中将 x 的值分为 3 种情况,可见第二个空应该填写 Case Else 语句。44.改变驱动器列表框的 Drive 属性值将引发 【12】 事件。(分数:2.00)填空项 1:_ (正确答案:【12】Change)解析:解析:本题考查的是驱动器列表框的知识。驱动器列表框的最常用的事件是“Change 事件”,每次重新设置 Drive 属性都会引起“Change”事件。45.下面程序是由鼠标事件在窗体上画图,如果按下鼠标将可以画图,双击窗体可以清除所画图形。补充完整下面的程序。首先在窗体层定义如下变量:Dim PaintStart A
21、s Boolean编写如下事件过程:Private Sub Form_Load()DrawWidth=2ForeColor=vbGreenEnd SubPrivate Sub Form_MouseDown(Button As Integer,Shift As Integer,_X As Single,Y As Single)【13】 End SubPrivate Sub Form_MouseMove(Button As Integer,Shift As Integer,_X As Single,Y As Single)If PaintStart ThenPSet(X,Y)End IfEnd S
22、ubPrivate Sub Form_MouseUp(Button As Integer,Shift As Integer,_X As Single,Y As Single)【14】 End SubPrivate Sub Form_Db1Click()【15】 End Sub(分数:2.00)填空项 1:_ (正确答案:【13】PaintStart=True【14】PaintStart=False 【15】Cis)解析:解析:上述过程定义了一个布尔型变量 PaintStart,当按下鼠标左键(触发 MouseDown 事件)时,由题意按下鼠标键表示能画图,所以该变量的值为 True,而松开鼠标左键(触发 MouseUp 事件)时,该变量为 False;如果变量 PaintStart 为 True,则移动鼠标(触发 MouseMove 事件),将在窗体上绘出一个点;除鼠标事件外,上述程序还含有一个 Load 事件过程和一个 DblClick 事件过程,其中 Load 事件过程用来设置画点的大小和颜色, DblClick 事件过程用来清除所画的图形,函数 Pset 是画点语句,用它可以在(x,y)处画一个点。