1、VB 笔试-试卷 58 及答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:36,分数:72.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_2.下列数据结构中,按先进后出原则组织数据的是(分数:2.00)A.线性链表B.栈C.循环链表D.顺序表3.具有 3 个结点的二叉树有(分数:2.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态4.设有下列二叉树: (分数:2.00)A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY5.结构化程序设计主
2、要强调的是(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性6.程序的 3 种基本控制结构是(分数:2.00)A.过程、子过程和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移7.下列叙述中,不属于测试的特征的是(分数:2.00)A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性D.测试的经济性8.需求分析中开发人员要从用户那里了解(分数:2.00)A.软件做什么B.用户使用界面C.输入的信息D.软件的规模9.下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接C.投影D.并10.
3、下列叙述中,正确的是(分数:2.00)A.用 E-R 图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B.用 E-R 图只能表示实体集之间一对一的联系C.用 E-R 图只能表示实体集之间一对多的联系D.用 E-R 图表示的概念数据模型只能转换为关系数据模型11.“年龄在 18-25 之间”这种约束是属于数据库当中的(分数:2.00)A.原子性措施B.一致性措施C.完整性措施D.安全性措施12.Visual Basic 集成的主窗口中不包括(分数:2.00)A.属性窗口B.标题栏C.菜单栏D.工具栏13.下面的数组声明语句中正确的是(分数:2.00)A.Dim gg1,5As Stri
4、ngB.Dim gg1 To 5,1 To 5As StringC.Dim gg(1 To 5)As StringD.Dim gg1:5,1:5As String14.关于 Visual Basic“方法”的概念错误的是(分数:2.00)A.方法是对象的一部分B.方法是预先定义好的操作C.方法是对事件的响应D.方法用于完成某些特定的功能15.新建一个窗体,其 BorderStyle 属性设置为 Fixed Single,但运行时却没有最大化和最小化按钮,可能的原因是(分数:2.00)A.BorderStyle 的值设为 Fixed.Single,此项设置值的作用即禁止最大化和最小化按钮B.窗体
5、的 MaxButton 和 MinButton 值设为 FalseC.正常情况下新建的窗体都没有最大化和最小化按钮D.该窗体可用鼠标拖动边框的方法改变窗体的大小16.下列程序执行的结果为 x=25:y=20: z=7 Print“S(“;x+2*y;“)“(分数:2.00)A.S(47)B.S(165)C.S(25+7*20)D.S(87)17.可以在常量的后面加上类型说明符以显示常量的类型,用来表示字符串常量的是(分数:2.00)A.%B.#C.!D.$18.声明一个变量为局部变量应该用(分数:2.00)A.GlobalB.PrivateC.StaticD.Public19.在 Visual
6、 Basic 中,要将一个窗体从内存中释放,应使用的语句是(分数:2.00)A.HideB.UnloadC.LoadD.Show20.当文本框 ScrollBars 属性设置了非零值,却没有效果,原因是(分数:2.00)A.文本框中没有内容B.文本框的 MultiLine 属性为 FalseC.文本框的 MultiLine 属性为 TrueD.文本框的 Locked 属性为 True21.保存一个工程至少应保存两个文件,这两个文件分别是(分数:2.00)A.文本文件和工程文件B.窗体文件和工程文件C.窗体文件和标准模块文件D.类模块文件和工程文件22.以下各项中,Visual Basic 不能
7、接收的图形文件是(分数:2.00)Aico 文件Bjpg 文件Cpsd 文件Dbmp 文件23.下面的属性中,用于自动调整图像框中图形内容的大小的是(分数:2.00)A.PictureB.CurentYC.CurrentXD.Stretch24.设有数组定义语句:Dim a(5)As Integer,List1 为列表框控件。下列给数组元素赋值的语句错误的是(分数:2.00)A.a(3)=3B.a(3)=InputBox(“input data“)C.a(3)=List1.ListIndexD.a=Array(1,2,3,4,5,6)25.窗体文件的扩展名是(分数:2.00)AbasBclsC
8、frmDres26.有如下程序。 Private Sub Command1_Click() Dim k As Integer,m As Integer Dim op As Integer k=4:m=1 Op=PPC(k,m):Print op; Op=PPC(k,m):Print op End Sub Private Function PPC(a As Integer,b As Integer) Static m As Integer,i As Integer m=0:i=2 i=i+m+1 m=i+a+b PPC=m End Function 程序运行后,输出的结果为(分数:2.00)A.
9、4 6B.6 6C.8 8D.10 1227.在窗体上画一个通用对话框,其名称为 CommonDialogl,然后画一个命令按钮,并编写如下事件过程。Private Sub Command1_Click() CommonDialog1.Flags=vbOFNHideReadOnly CommonDialog1.Filter=“All Files(*.*)|*.*|Text Files(*.txt)|*.txt CommonDialog1.FilterIndex=1 CommonDialog1.ShowOpen MsgBox CommonDialog1.FileName End Sub 程序运行
10、后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是(分数:2.00)A.All Files(*.*)B.Text Files(*.txt)C.*.txtD.All Files(*.*)|Text Files(*.*)28.如果在 c 盘当前文件夹下已存在名称为 studata.dat 的顺序文件,那么执行语句 Open“ c:/ studata.dat“ For Append As #1 之后,将(分数:2.00)A.删除文件中原有内容B.保留文件中原有内容,并在文件尾填加新内容C.保留文件中原有内容,并在文件头填加新内容D.以上均不对29.在窗体上画一个命令按钮 co
11、mmand1 和两个文本框,名称分别为 Text1 和 Text2。编写如下两个事件过程: Dim Str1 As String,str2 As String Private Sub form_load() Text1.Text=“ “ Text2.Text=“ “ Text1.Enabled=False Text2.Enabled=False End Sub Private Sub Form_KeyPress(KeyAscii As Integer) str1=str1 str1; “str2 =“; str2 End Sub Function YAG(a()As Integer) Dim
12、t#,i% t=1 For i=LBound(a)TO UBound(A)t=t * a(i) Next YAG=t End Function(分数:2.00)A.str1=24 str2=720B.str1=12 str2=360C.str1=24 str2=180D.str1=36 str2=720二、填空题(总题数:15,分数:30.00)37.填空题(每空)请将每一个空的正确答案写在答题卡上。注意:以命令关键字填空的必须拼写完整。(分数:2.00)_38.一个类可以直接或间接的祖先中继承所有的属性和方法采用这个方法可以提高了软件的 1。(分数:2.00)填空项 1:_39.有 64 个
13、结点的完全二叉树的深度为 1(根的层次为 1)。(分数:2.00)填空项 1:_40.采用顺序查找方法查找长度为 n 的线性表,平均查找长度为 1。(分数:2.00)填空项 1:_41.模块独立性概念是模块化、抽象, 1 这些软件工程基本原理的直接产物。(分数:2.00)填空项 1:_42.在概念设计阶段可用 E-R 图,其中“矩形框”表示实体, 1 表示实体间联系。(分数:2.00)填空项 1:_43.Visual Basic 提供了列表框控件,当列表框中的项目较多。超过了列表框的长度时,系统会自动在列表框边上加一个 1。(分数:2.00)填空项 1:_44.一个程序最多可以有 1 窗体。(
14、分数:2.00)填空项 1:_45.将一般窗体转换为 MDI 窗体的子窗体时要把 MDIChild 属性的值设置为 1。(分数:2.00)填空项 1:_46.VB 有两种类型的数组:固定大小的 1 和在运行时可以改变的动态数组。(分数:2.00)填空项 1:_47.有如下 SUB 过程: Sub s(x As Single,y As Single) t =x x=t / y Y=t Mod y End Sub 在窗体上添加一个命令按纽,然后编写如下事件过程: Private Sub Form_ Click() Dim a As Single Dim b As Single a=5 b=4 s
15、a,b Print a,b End Sub 则程序运行后,单击命令按纽,输出的结果为: 1。(分数:2.00)填空项 1:_48.要选择多个不相领的控件,按住 1 咸 SHIFT 键不放,再单击要选择的控件。(分数:2.00)填空项 1:_49.下列程序的作用是:打开顺序文件 C:/stuDatA.txt,读取文件中的数据,并将数据显示在窗体上。该程序不完整,请补充完该程序。 Private Sub Form_Click() 1 Do While Not EOF(1) Input # 1,StrNo,StuName,StuEng Print StuNo;Tab(10);StuName;Tab(
16、20);StuEng Loop Close #1End Sub(分数:2.00)填空项 1:_50.下面的程序代码实现将一个一维数组中元素向右循环移动,移位次数由文本框 Text1 输入。例如数组各元素的值依次为 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; 移动三次后,各元素的值依次为 8, 9, 10, 0, 1,2 3,4,5,6,7。 Private Sub MoveRight (x() As Integer) Dim i As Integer Dim j As Integer Dim k As Integer i = UBound (x) j = x(i) Fo
17、r k = i To 1Step -1 2 Next k x(LBeund(x) = j End Sub Private Sub Command1_click() Dim a(10) As Integer Dim i As Integer Dim j As Integer Dim k As Integer For i = 0 To 10 a(i) = i Next i j = Val(TextText) k=0 Do k=k+1 Call MoveRight(A) Loop Until k = j For i = 0 To 10 Print a(i); Next i End Sub(分数:2.
18、00)填空项 1:_51.面向对象的程序设计方法是把 1 封装起来作为一个对象,并为每一个对象设置所需要的 2。(分数:2.00)填空项 1:_填空项 1:_VB 笔试-试卷 58 答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:36,分数:72.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_解析:2.下列数据结构中,按先进后出原则组织数据的是(分数:2.00)A.线性链表B.栈 C.循环链表D.顺序表解析:解析:栈是限定在二端进行插入与删除的线性表。在栈中,允许插入与删除的一端称
19、为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的。注意: 队列组织数据的原则是“先进先出”或“后进后出”。注意:数据结构中,栈和队列组织数据的原则。3.具有 3 个结点的二叉树有(分数:2.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态 解析:解析:具有 3 个结点的二叉树具有以下的几种形态:4.设有下列二叉树: (分数:2.00)A.ZBTYCPXAB.ATBZXCYP C.ZBTACYXPD.ATBZXCPY解
20、析:解析:所谓二叉树的前序遍历(DLR)是指在访问根结点、遍历左子树与遍历右子树这 3 者中,首先访问根结点,然后遍历左子树,最后遍历右子树,并且,在遍历左右子树时,上述规则同样适用,即“根-左 -右”。故该二叉树的前序遍历结果为“ATBZXCYP“。注意:对于本题,若使用后序遍历和中序遍历的结果分别为“ZBTYCPXA“和“TZBACYXP“。5.结构化程序设计主要强调的是(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性 解析:6.程序的 3 种基本控制结构是(分数:2.00)A.过程、子过程和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回
21、和转移解析:解析:采用结构化程序设计方法编写程序,可使程序结构良好、易读、易理解、易维护,它包括 3种基本控制结构,分别是顺序结构、选择结构和重复结构(又称循环结构)。注意:控制程序结构的方法和作用。7.下列叙述中,不属于测试的特征的是(分数:2.00)A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性 D.测试的经济性解析:解析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有 3 个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中没有测试的可靠性这一说法。注意:软件测试与软件调试的概念,以及相应的方法。8.需求分析中开发人
22、员要从用户那里了解(分数:2.00)A.软件做什么 B.用户使用界面C.输入的信息D.软件的规模解析:解析:需求分析是软件定义时期的最后一个阶段,它的基本任务就是准确问答“系统必须做什么”。这个问题即软件系统功能,需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。9.下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接 C.投影D.并解析:解析:关系代数中包括传统的集合运算和专门的关系运算。经过选择或投影运算得到的新关系的属性个数最多不会超过原关系中的属性个
23、数。经过连接运算得到的新关系最多不少于原关系中属性的个数。10.下列叙述中,正确的是(分数:2.00)A.用 E-R 图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B.用 E-R 图只能表示实体集之间一对一的联系C.用 E-R 图只能表示实体集之间一对多的联系 D.用 E-R 图表示的概念数据模型只能转换为关系数据模型解析:解析:两个实体之间的联系实际上是实体集间的函数关系,这种函数关系可以有下面几种,即一对一的联系、一对多(或多对一)的联系和多对多的联系;概念模型便于向各种模型转换。由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。
24、11.“年龄在 18-25 之间”这种约束是属于数据库当中的(分数:2.00)A.原子性措施B.一致性措施C.完整性措施 D.安全性措施解析:解析:数据库的完整性是指数据的正确性和相容性(如学生的学号必须惟一,性别只能是女或男等),数据库是否具备完整性关系到数据库系统能否真实反映现实世界,因此维护数据库的完整性是非常重要的。注意:数据库的各种特性及表达形式。12.Visual Basic 集成的主窗口中不包括(分数:2.00)A.属性窗口 B.标题栏C.菜单栏D.工具栏解析:解析:在 Visual Basic 集成的主窗口又称为设计窗口,它由标题栏、菜单栏、工具栏等几部分组成;标题栏是位于屏幕
25、的顶部的水平条,它显示应用程序的名字,启动 Visual Basic 后,标题栏中出现的信息是“工程 1-Microsoft Visual Basic设计”;菜单栏位于标题栏之下,提供了开发、调试应用程序的工具,包括“文件”菜单、“编辑”菜单、“试图”菜单、“工程”菜单等;工具栏位于菜单栏的下面,它以图标形式提供了部分常用命令的功能;属性窗口不在主窗口的范围之内。注意: 学习时对Visual Basic 集成开发环境不重视,知识了解不全面。注意:Visual Basic 集成开发环境组成结构。13.下面的数组声明语句中正确的是(分数:2.00)A.Dim gg1,5As StringB.Dim
26、 gg1 To 5,1 To 5As StringC.Dim gg(1 To 5)As String D.Dim gg1:5,1:5As String解析:解析:在默认情况下无论是一维还是二维或更多维的数组其缺省下标都从。开始,但有时为了方便,用户可以自定义数组的上下界,这时可用关键字 To 来设置。例如;d(1 To 6),共含义就是一个名为 d,上界为 6,下界为 1 的数组。注意: 对于数组定义概念了解不够透彻。注意:数组的定义、赋值和应用。14.关于 Visual Basic“方法”的概念错误的是(分数:2.00)A.方法是对象的一部分B.方法是预先定义好的操作C.方法是对事件的响应
27、D.方法用于完成某些特定的功能解析:解析:对象是属性、方法和事件的集成,所以选项 A 说法正确;例如 Print 方法是用来输出字符串、变量和表达式的值,也就是完成输出的这一功能,所以选项 D 的说法正确;在执行方法时,不必考虑实现输出的具体步骤,方法的步骤是系统预先规定好的,所以选项 B 说法正确。注意: 对于 Visual Basic 对象方法的概念了解不够透彻。方法是预先定义好的操作,用于完成某些特定的功能,它与事件同为对象的一部分。注意:对象的属性、事件和方法。15.新建一个窗体,其 BorderStyle 属性设置为 Fixed Single,但运行时却没有最大化和最小化按钮,可能的
28、原因是(分数:2.00)A.BorderStyle 的值设为 Fixed.Single,此项设置值的作用即禁止最大化和最小化按钮B.窗体的 MaxButton 和 MinButton 值设为 False C.正常情况下新建的窗体都没有最大化和最小化按钮D.该窗体可用鼠标拖动边框的方法改变窗体的大小解析:解析:如果窗体的 BorderStyle 属性设置为 Fixed Single,则窗体为固定单边框,可以包含控制菜单框、标题栏、最大化和最小化按钮,但要注意的是,如果窗口的 MaxButton 和 MinButton 属性设置为True,则可以使用,运行时显示最大化和最小化按钮;如果设置为 Fa
29、lse,则运行时不显示。注意: 窗体的属性中有些是相互关联的,单独使用则无效。因此,要把握好各属性之间的关联关系。注意:对象属性的设置。16.下列程序执行的结果为 x=25:y=20: z=7 Print“S(“;x+2*y;“)“(分数:2.00)A.S(47)B.S(165) C.S(25+7*20)D.S(87)解析:解析:题中表达式的计算顺序是:先计算 z* y,然后计算 x+(z*y),最后的出一个表达式值。注意:该题涉及到赋值语句与运算符优先级的顺序,Print 语句具有运算功能,故选项 C 是错误的;由于运算符的优先级是先乘除后加减,所以选项 B 为正确,选项 A 和选项 D 不
30、正确。注意:表达式计算的优先顺序。17.可以在常量的后面加上类型说明符以显示常量的类型,用来表示字符串常量的是(分数:2.00)A.%B.#C.!D.$ 解析:解析:下面是常量类型及其类型说明符: 整型% 长整型 str1; “str2 =“; str2 End Sub Function YAG(a()As Integer) Dim t#,i% t=1 For i=LBound(a)TO UBound(A)t=t * a(i) Next YAG=t End Function(分数:2.00)A.str1=24 str2=720 B.str1=12 str2=360C.str1=24 str2=
31、180D.str1=36 str2=720解析:解析:程序首先调用循环语句为数组 a、b 赋值,其中 a(i)=i;b(i)=i,且数组。的上下界分别为1 和 4,数组 b 的上下界分别为 2 和 6;接着将数组。作为参数调用 YAG 过程,在 YAG 过程中,定义了两个变量及 i,i 作为循环语句 For 的变量,它的初始值和终值分别为数组的上下界,循环体为 t=t*a(i),即将 a(i)的值乘以 t,然后再赋给 t,当循环结束后,程序返回的就是数组 a 中的各元素的积;同理程序将数组 b 作为参数传递给 YAG 过程后返回数组 b 中各元素的积,运行程序结束后,输出结果为:strX=24
32、。注意:对象参数。二、填空题(总题数:15,分数:30.00)37.填空题(每空)请将每一个空的正确答案写在答题卡上。注意:以命令关键字填空的必须拼写完整。(分数:2.00)_解析:38.一个类可以直接或间接的祖先中继承所有的属性和方法采用这个方法可以提高了软件的 1。(分数:2.00)填空项 1:_ (正确答案:正确答案:可重用性)解析:39.有 64 个结点的完全二叉树的深度为 1(根的层次为 1)。(分数:2.00)填空项 1:_ (正确答案:正确答案:7)解析:40.采用顺序查找方法查找长度为 n 的线性表,平均查找长度为 1。(分数:2.00)填空项 1:_ (正确答案:正确答案:(
33、n+)/2)解析:41.模块独立性概念是模块化、抽象, 1 这些软件工程基本原理的直接产物。(分数:2.00)填空项 1:_ (正确答案:正确答案:信息隐蔽)解析:42.在概念设计阶段可用 E-R 图,其中“矩形框”表示实体, 1 表示实体间联系。(分数:2.00)填空项 1:_ (正确答案:正确答案:菱形框)解析:43.Visual Basic 提供了列表框控件,当列表框中的项目较多。超过了列表框的长度时,系统会自动在列表框边上加一个 1。(分数:2.00)填空项 1:_ (正确答案:正确答案:滚动条)解析:44.一个程序最多可以有 1 窗体。(分数:2.00)填空项 1:_ (正确答案:正
34、确答案:255)解析:45.将一般窗体转换为 MDI 窗体的子窗体时要把 MDIChild 属性的值设置为 1。(分数:2.00)填空项 1:_ (正确答案:正确答案:true)解析:46.VB 有两种类型的数组:固定大小的 1 和在运行时可以改变的动态数组。(分数:2.00)填空项 1:_ (正确答案:正确答案:静态数组)解析:47.有如下 SUB 过程: Sub s(x As Single,y As Single) t =x x=t / y Y=t Mod y End Sub 在窗体上添加一个命令按纽,然后编写如下事件过程: Private Sub Form_ Click() Dim a
35、As Single Dim b As Single a=5 b=4 s a,b Print a,b End Sub 则程序运行后,单击命令按纽,输出的结果为: 1。(分数:2.00)填空项 1:_ (正确答案:正确答案:1.25 1)解析:48.要选择多个不相领的控件,按住 1 咸 SHIFT 键不放,再单击要选择的控件。(分数:2.00)填空项 1:_ (正确答案:正确答案:CTRL)解析:49.下列程序的作用是:打开顺序文件 C:/stuDatA.txt,读取文件中的数据,并将数据显示在窗体上。该程序不完整,请补充完该程序。 Private Sub Form_Click() 1 Do Wh
36、ile Not EOF(1) Input # 1,StrNo,StuName,StuEng Print StuNo;Tab(10);StuName;Tab(20);StuEng Loop Close #1End Sub(分数:2.00)填空项 1:_ (正确答案:正确答案:Open“C:/StuDatA.txt”For Input As #1)解析:50.下面的程序代码实现将一个一维数组中元素向右循环移动,移位次数由文本框 Text1 输入。例如数组各元素的值依次为 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; 移动三次后,各元素的值依次为 8, 9, 10, 0, 1,
37、2 3,4,5,6,7。 Private Sub MoveRight (x() As Integer) Dim i As Integer Dim j As Integer Dim k As Integer i = UBound (x) j = x(i) For k = i To 1Step -1 2 Next k x(LBeund(x) = j End Sub Private Sub Command1_click() Dim a(10) As Integer Dim i As Integer Dim j As Integer Dim k As Integer For i = 0 To 10 a(i) = i Next i j = Val(TextText) k=0 Do k=k+1 Call MoveRight(A) Loop Until k = j For i = 0 To 10 Print a(i); Next i End Sub(分数:2.00)填空项 1:_ (正确答案:正确答案:LBound (x)+1,x(k)=x(k-1))解析:51.面向对象的程序设计方法是把 1 封装起来作为一个对象,并为每一个对象设置所需要的 2。(分数:2.00)填空项 1:_ (正确答案:正确答案:程序和数据)填空项 1:_ (正确答案:属性)解析: