1、二级 VISUAL+BASIC 笔试-73 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.用菜单编辑器创建菜单时,如果要在一个菜单中添加一条分隔线,正确的操作是_。(分数:2.00)A.在标题输入框中输入“-”(减号)B.在名称输入框中输入“-”(减号)C.在标题输入框中输入“_”(下画线)D.在名称输入框中输入“_”(下画线)2.在窗体上画一个名称为 List1 的列表框,一个名称为 Label1 的标签。列表框中显示若干项内容。当单击列表框中的某项内容时,该项内容能在标签中显示出来。下列能够正确实现上述功能的程序是_。(分数:2.00
2、)A.Private Sub List1_Click( )Label1.Caption=List1.ListIndexEnd SubB.Private Sub List1_Click( )Label1.Name=List1.ListIndexEnd SubC.Private Sub List1_Click( )Label1.Name=List1.TextEnd SubD.Private Sub List1_Click( )Label1.Caption=List1.TextEnd Sub3.数据库的概念模型_。(分数:2.00)A.依赖于计算机硬件和 DBMSB.独立于计算机硬件,依赖于 DBM
3、SC.依赖于计算机硬件,独立于 DBMSD.独立于计算机硬件和 DBMS4.在 VisualBasic 中,要遍历一个对象集合中元素,应使用的语句是_。(分数:2.00)A.For.NextB.ForEach.NextC.With.End WithD.Do.Loop5.在窗体上画一个名称为 Command1 的命令按钮。有下列程序:Option Base 1Private Sub Command1_Click( )Dim aa=Array(45,27,34,24,91,37,11,67,82,63)For i=1 To 9For j=i+1 To 10If a(i)a(j)Thena1=a(i
4、)a(i)=a(j)a(j)=a1End IfNext jNext iFor i=1 To 10Print a(i)Next iEnd Sub程序运行后,单击命令按钮,则窗体上第二行和第三行显示的内容是_。(分数:2.00)A.27 和 34B.34 和 24C.45 和 63D.24 和 276.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click( )y=8Print fun1(i+fun1(fun1(fun1(y)*10)End SubPrivate Function fun1((分数:2.00)A.fun1=17
5、.Visual Basic 中的对话框分为 3 种类型,即预定义对话框、自定义对话框和_。(分数:2.00)A.列表框B.图片框C.通用对话框D.文本框8.软件开发的结构化生命周期方法将软件生命周期划分成_。(分数:2.00)A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计9.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click( )Dim n As IntegerFor n=0 To 9 Step 3Print rel(n);Next nEnd S
6、ubPrivate Function tel(ByVal i As Integer)As IntegerDim x As Integerx=0For j=1 To iIf i5 Then rel=i:Exit Functionx=x+jNext jrel=xEnd Function程序运行后,单击命令按钮,则窗体上显示的内容是_。(分数:2.00)A.1 3 5 7B.2 8 14 53C.0 3 21 45D.0 5 11 3410.在窗体上丽一个命令按钮(其 Name 属性为 Command1),然后编写如下代码:Option Base 1Private Sub Command1_Clic
7、k( )Dim a(4,4)For i=1 To 4For j=1 To 4a(i,j)=(i-1)*3+jNext jNext iFor i=3 To 4For j=3 To 4Print a(j,i);Next jNext iEnd Sub程序运行后,单击命令按钮,在窗体上显示的内容为_。(分数:2.00)A.6 9 7 10B.7 10 8 11C.8 11 9 12D.9 12 10 1311.关于多重窗体应用程序,以下捕述中不正确的是_。(分数:2.00)A.对于多重窗体应用程序,可以有多个当前窗体B.多重窗体应用程序的启动窗体可以在设计时设定C.多重窗体应用程序中每个窗体作为一个磁
8、盘文件保存,所有窗体、标准模块等作为一个工程文件被保存D.多重窗体应用程序可以编译生成一个 EXE 文件12.下列关于线性链表叙述中,正确的是_。(分数:2.00)A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的13.假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口中设置窗体的属性,预先应该执行的操作是_。(分数:2.00)A.单击窗体上没有控件的地方B.
9、单击任一个控件C.不执行任何操作D.双击窗体的标题栏14.在窗体上画一个命令按钮,其名称为 Command1,然后编写如下程序:Option Base 1Private Sub Command1_Click( )Dim a As Varianta=Array(1,2,3,4)j=1For i=4 To 1 Step-1s=s+a(i)*jj=j*10Next iPrint sEnd Sub运行上面的程序,单击命令按钮,其输出结果是_。(分数:2.00)A.4321B.12C.34D.123415.在窗体上画一个文本框(Text1),然后编写如下事件过程:Private Sub Text1_Ke
10、yPress(KeyAscii As Integer)Dim char As Stringchar=Chr(KeyAscii)KeyAscii=Asc(UCase(char)Print String(4,KeyAscii)End Sub程序运行后,在输入文本框 Text1 中输入“A”,则程序在窗体上的输出结果为_。(分数:2.00)A.aB.AC.aaaaD.AAAA16.以下叙述中错误的是_。(分数:2.00)A.如果过程被定义为 Static 类型,则该过程中的局部变量都是 Static 类型B.Sub 过程中不能嵌套定义 Sub 过程C.Sub 过程中可以嵌套调用 Sub 过程D.St
11、atic 类型用于定义变量,不能定义过程17.下列叙述中,不属于软件需求规格说明书的作用的是_。(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析18.在数据结构中,根据各数据元素之间前后件关系的复杂程度,一般将数据结构分成两类,它们是_。(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构19.以下语句的输出结果是_。Print Format$(5874.567,“0.00E-00“)(分数:2.00)A.5874.5
12、7B.5.87456E03C.5874.567D.5.87E0320.已知二叉树 BT 的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是_。(分数:2.00)A.cedbaB.acbedC.decabD.deabc21.下面是窗体的 4 个属性,在界面设计时,改变属性值而看不到窗体变化的是_。(分数:2.00)A.TopB.WidthC.LeftD.Enabled22.在窗体上画一个文本框,然后编写如下代码:Option Base 1Private Sub Form_Click( )Dim arrDim Start As Integer, Finish As Int
13、egerDim Sum As Integerart=Array(12,4,8,16)Start=LBound(arr)Finish=UBound(arr)Sum=0For i=Start To FinishSum=Sum+arr(i)Next ic=Sum/FinishText1.Text=cEnd Sub程序运行后,单击窗体则在文本框中显示的内容是_。(分数:2.00)A.40B.10C.12D.1623.在窗体上画一个命令按钮,然后编写如下程序:Function fun1(ByVal Bum As Long)As LongDim k As Longk=0Bum=AbsfBum)Do Whi
14、le Bumk=k+(Bum Mod 10)Bum=Bum/10Loopfun1=kEnd FunctionPrivate Sub Command1_Click( )Dim n As Longn=InputBox(“请输入一个数“)Print fun1(n)End Sub程序运行后,单击命令按钮,在输入对话框中输入 234,输出结果为_。(分数:2.00)A.3B.4C.9D.1024.把窗体的 KeyPreview 属性设置为 True,然后编写如下过程:Private Sub Form_KeyDown(KeyCode As Integer,ShiftAs Integer)Print Chr
15、(KeyCode)End SubPrivate Sub Form_KeyUp(KeyCode As Integer,Shift AsInteger)Print Chr(KeyCode+2)End Sub程序运行后,如果按“A”键,则输出结果为_。(分数:2.00)A.AAB.ABC.ACD.AD25.栈的输入序列为 1,2,3,n-1,n,输出序列的第 1 个元素为 n,则第 i 个输出元素为_。(分数:2.00)A.n-i+1B.n-1C.iD.哪个元素无所谓26.为了使标签中的内容居中显示,应把 Alignment 属性设置为_。(分数:2.00)A.0B.1C.2D.327.在运行时,按
16、 Tab 键跳过了一个可以获得焦点的控件(如文本框),则可能是因为_。(分数:2.00)A.该控件的 TabStop 属性值为 TrueB.该控件的 TabStop 属性值为 FalseC.该控件的 Enabled 属性值为 TrueD.该控件的 Enabled 属性值为 False28.要暂时关闭计时器,应把计时器的某个属性设置为 False,这个属性是_。(分数:2.00)A.VisibleB.TimerC.EnabledD.Interval29.以下各组序列中,属于堆的是_。(分数:2.00)A.19,34,26,97,56,75B.97,26,34,75,19,56C.19,56,26
17、,97,34,75D.19,75,34,26,97,5630.下列程序Private Sub Command1_Click( )x=“abcd“y=“1234“For i=1 To 4z=z+Mid(x,i,1)+Left(y,1)Next iPrint zEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容是_。(分数:2.00)A.abcd1234B.a1b2c3d4C.a1b1c1d1D.1234abcd31.一个对象在收到消息时,要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做对象的_。(分数:2.00)A.继承性B.多态性C.抽象性D.封装性32.语句 P
18、rint Sgn(-62)+Abs(6-2)+Int(-62)的输出结果是_。(分数:2.00)A.-36B.1C.-1D.-7233.在窗体上按顺序,分别画出变量按钮 command1、文本框 Text1 和文本框 Text2。为了把 Text2 的 Tab顺序设置为第一,应将 Text2 的 TabIndex 属性没置为_。(分数:2.00)A.0B.1C.2D.334.与传统的程序设计语言相比,Visual Basic 最突出的特点是_。(分数:2.00)A.结构化程序设计B.程序开发环境C.程序调试技术D.事件驱动编程机制35.设 R 和 S 为两个关系,分别代表选择、投影、乘积的关系
19、代数的运算符号是_。(分数:2.00)A.F(R)、A(R)、RSB.EA(R)、VA(S)、R*SC.RS、RS、RSD.A(R)、F(R)、RS二、填空题(总题数:12,分数:30.00)36.对于任何一棵二叉树,若度为 l 的结点数为 n1,度为 2 的结点数为 n2,则叶子数 n0为 1。(分数:2.00)填空项 1:_37.链表适用于 1 查找。(分数:2.00)填空项 1:_38.程序注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_39.软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和 1 的设计来实现。(分数:2.00)填空项
20、 1:_40.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体“工人”与实体“设备”之间存在 1 联系。(分数:2.00)填空项 1:_在窗体上画两个文本框和一个命令按钮,然后在代码窗口中编写如下事件过程:Private Sub Coraraand1_Click( )Text1.Text=“计算机“Text2.Text=Text1.TextText1.Text=“等级考试“End Sub程序运行后,单击命令按钮,两个文本框(Text1 和 Text2)内容分别为 (6) 和 (7) 。(分数:4.00)填空项 1:_填空项 1:_41.为了在运行时把窗体 Form1 的标题(Ca
21、ption 属性)设置为“Test Program”,应使用的语句为_。(分数:2.00)填空项 1:_42.假定有以下当循环:While Not 条件循环体Loop则执行循环体的“条件”是_。(分数:2.00)填空项 1:_43.为了使标签能自动调整大小以显示全部文本内容,应把标签的 1 属性设置为 True。(分数:2.00)填空项 1:_44.有时候需要暂时关闭计时器,这可以通过 1 属性来实现。(分数:2.00)填空项 1:_45.下列过程的功能是:用来计算并输出 S=1+1/2+1/3+1/100 的值。请完善程序。Function SumF(n As Integer)As Sing
22、les=0For i=1 To ns=_Next iSuraF=sEnd FunctionPrivate Sub Form_Click( )Sum1=SumF(100)PrintPrint “sum1=“ :sum1End Sub(分数:2.00)填空项 1:_下列程序的功能是计算两个自然数的最大公约数,如下图所示。给定的程序不完整,将程序补充完整。(分数:6.00)填空项 1:_填空项 1:_填空项 1:_二级 VISUAL+BASIC 笔试-73 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.用菜单编辑器创建菜单时,如果要在一个菜单中添
23、加一条分隔线,正确的操作是_。(分数:2.00)A.在标题输入框中输入“-”(减号) B.在名称输入框中输入“-”(减号)C.在标题输入框中输入“_”(下画线)D.在名称输入框中输入“_”(下画线)解析:解析 如果要在一个菜单中添加一条分隔线,正确的操作是在标题输入框中输入“-”(减号)。2.在窗体上画一个名称为 List1 的列表框,一个名称为 Label1 的标签。列表框中显示若干项内容。当单击列表框中的某项内容时,该项内容能在标签中显示出来。下列能够正确实现上述功能的程序是_。(分数:2.00)A.Private Sub List1_Click( )Label1.Caption=List
24、1.ListIndexEnd SubB.Private Sub List1_Click( )Label1.Name=List1.ListIndexEnd SubC.Private Sub List1_Click( )Label1.Name=List1.TextEnd SubD.Private Sub List1_Click( )Label1.Caption=List1.TextEnd Sub 解析:解析 所给出的 4 个选择都是列表框的 Click 事件过程。当单击列表框中的某一项时,将发生单击事件,同时选择一个列表项,这个列表项可以用列表框的 Text 属性来表示。也就是说,List1.Te
25、xt 就是所选择的项目。此外,为了在标签中显示所选择的列表项,必须使用列表框的标题属性,即Label1.Caption。因此,正确的语句应当是:Label1.Caption=List1.Text在 Visual Basic 中,不能在运行期间改变控件或窗体的名称(Name 属性),因此选项 B 和选项 C 都是错误的;而列表框的 ListIndex 属性是所选择的列表项的位置,即列表项的标题,不是列表项本身。3.数据库的概念模型_。(分数:2.00)A.依赖于计算机硬件和 DBMSB.独立于计算机硬件,依赖于 DBMSC.依赖于计算机硬件,独立于 DBMSD.独立于计算机硬件和 DBMS 解析
26、:解析 数据库的概念模型是对客观世界复杂事物的结构描述及它们之间的内在联系的刻画。它是一种面向客观世界、面向用户的模型,它与具体的数据库管理系统 DBMS 无关,也与具体的计算机平台无关。4.在 VisualBasic 中,要遍历一个对象集合中元素,应使用的语句是_。(分数:2.00)A.For.NextB.ForEach.Next C.With.End WithD.Do.Loop解析:解析 ForEachNext 语句是针对一个数组或集合中的每个元素,重复执行一组语句。而选项 A、选项 C、选项 D 都是在满足条件时执行。5.在窗体上画一个名称为 Command1 的命令按钮。有下列程序:O
27、ption Base 1Private Sub Command1_Click( )Dim aa=Array(45,27,34,24,91,37,11,67,82,63)For i=1 To 9For j=i+1 To 10If a(i)a(j)Thena1=a(i)a(i)=a(j)a(j)=a1End IfNext jNext iFor i=1 To 10Print a(i)Next iEnd Sub程序运行后,单击命令按钮,则窗体上第二行和第三行显示的内容是_。(分数:2.00)A.27 和 34B.34 和 24C.45 和 63D.24 和 27 解析:解析 冒泡排序是常用的一种排序方
28、法,它就是每次对两个数据进行比较的方法,本题中就是a(i)和 a(j)进行比较,循环变量 i 和 j 的关系为 j=i+1。南此,对同一个数组操作,i 的范围应是 1 至9,而 j 的范围应是 i+1 至 10。容易犯错误的地方就是取 i 的范围为 1 至 10,这样势必会造成在对 j 进行操作会达到 j=11,因此产生数组下标溢出的错误。如果是求“按升序排列”,那么就是将满足“a(i)a(j)”条件时,把 a(i)和 a(j)进行交换,数据交换时需要通过一个临时变量来进行。6.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_
29、Click( )y=8Print fun1(i+fun1(fun1(fun1(y)*10)End SubPrivate Function fun1((分数:2.00)A.fun1=1 解析:解析 此题目主要是多次循环调用函数 fun1,处理过程如下:fun1(1+fun1(fun1(fun1(8)*10)=fun1(1+fun1(fun1(9)*10)=fiat(1+run1(10)*10)=fun1(1+11*10):fun1(111)=112。逐层计算即可返回正确结果。7.Visual Basic 中的对话框分为 3 种类型,即预定义对话框、自定义对话框和_。(分数:2.00)A.列表框B
30、.图片框C.通用对话框 D.文本框解析:解析 CommonDialog(通用对话框)控件在 Visual Basic 和 Microsoft Windows 动态链接库commdlg.dll 的例程之间提供了一个接口。在应用程序中要使用 CommonDialog(公共对话框)控件,应该将其添加到窗体中并设置其属性。8.软件开发的结构化生命周期方法将软件生命周期划分成_。(分数:2.00)A.定义、开发、运行维护 B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计解析:解析 软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。它可以分
31、为软件定义、软件开发及软件运行维护三个阶段。9.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click( )Dim n As IntegerFor n=0 To 9 Step 3Print rel(n);Next nEnd SubPrivate Function tel(ByVal i As Integer)As IntegerDim x As Integerx=0For j=1 To iIf i5 Then rel=i:Exit Functionx=x+jNext jrel=xEnd Function程序运行后,单击命令
32、按钮,则窗体上显示的内容是_。(分数:2.00)A.1 3 5 7B.2 8 14 53C.0 3 21 45 D.0 5 11 34解析:解析 Exit Function 的功能是立即终止函数的运行并回到调用函数的地方继续执行其他语句。在 Function 过程的任何位置都可以设置:Exit Function 语句。变量 n 传值为 0、3、6、9,4 次调用 rel函数过程,由于 0 和 3 都小于 5,使得 i5 不成立,被执行了“Exit Function”,函数名将 0 和 3 传回。而 6 和 9 没有使得 i5 成立,变量 x 的计算结果分别为 21 和 45,也被函数名传回。1
33、0.在窗体上丽一个命令按钮(其 Name 属性为 Command1),然后编写如下代码:Option Base 1Private Sub Command1_Click( )Dim a(4,4)For i=1 To 4For j=1 To 4a(i,j)=(i-1)*3+jNext jNext iFor i=3 To 4For j=3 To 4Print a(j,i);Next jNext iEnd Sub程序运行后,单击命令按钮,在窗体上显示的内容为_。(分数:2.00)A.6 9 7 10B.7 10 8 11C.8 11 9 12D.9 12 10 13 解析:解析 本题是测试对二维数组赋
34、值过程的理解。一般情况下,一个二维数组用一个二重循环来赋值,本程序是给一个 5 行 5 列二维数组的部分数组元素赋值。在双重 For 循环结构中,外循环的循环变量i 从 1 增加到 4,循环 4 次,内循环的循环变量 j 从 1 增加到 4,也循环 4 次。因为在本例中,要求输出的是 a(3,3),a(4,3),a(3,4),a(4,4)。直接通过内循环中的赋值语句 a(i,j)=(i-1)3+j,分别给所求的 a(3,3),a(3,4),a(4,3),a(4,4)赋值,不难算出 a(3,3)=9,a(3,4)=10,a(4,3)=12,a(4,4)=13。11.关于多重窗体应用程序,以下捕述
35、中不正确的是_。(分数:2.00)A.对于多重窗体应用程序,可以有多个当前窗体 B.多重窗体应用程序的启动窗体可以在设计时设定C.多重窗体应用程序中每个窗体作为一个磁盘文件保存,所有窗体、标准模块等作为一个工程文件被保存D.多重窗体应用程序可以编译生成一个 EXE 文件解析:解析 对于多重窗体应用程序,当前窗体只能有一个。12.下列关于线性链表叙述中,正确的是_。(分数:2.00)A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存
36、储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 解析:解析 线性表的链式存储结构中的结点空间是动态生成的,它们在内存中地址可以是连续的,也可能是不连续。13.假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口中设置窗体的属性,预先应该执行的操作是_。(分数:2.00)A.单击窗体上没有控件的地方 B.单击任一个控件C.不执行任何操作D.双击窗体的标题栏解析:解析 单击窗体内没有控件的地方,能使得窗体成为当前的活动对象。14.在窗体上画一个命令按钮,其名称为 Command1,然后编写如下程序:Option Base 1Private Sub Command1_Clic
37、k( )Dim a As Varianta=Array(1,2,3,4)j=1For i=4 To 1 Step-1s=s+a(i)*jj=j*10Next iPrint sEnd Sub运行上面的程序,单击命令按钮,其输出结果是_。(分数:2.00)A.4321B.12C.34D.1234 解析:解析 四次执行语句 s=s+a(i)j,执行完第一次 s=4,执行完第二次 s=34,执行完第三次s=234,执行完第四次 s=1234,正确答案应为选项 D。15.在窗体上画一个文本框(Text1),然后编写如下事件过程:Private Sub Text1_KeyPress(KeyAscii As
38、 Integer)Dim char As Stringchar=Chr(KeyAscii)KeyAscii=Asc(UCase(char)Print String(4,KeyAscii)End Sub程序运行后,在输入文本框 Text1 中输入“A”,则程序在窗体上的输出结果为_。(分数:2.00)A.aB.AC.aaaaD.AAAA 解析:解析 Chr(x)是把 x 的值转换为相应的 ASCII 字符,Asc(x)是返回字符串 x 中笫一个字符的ASCII 码,Ucase(“字符串”)把“字符串”中的小写字母转换为大写字母。本程序中是把在文本框中输入的字符都转换成 4 个大写字符输出。16.
39、以下叙述中错误的是_。(分数:2.00)A.如果过程被定义为 Static 类型,则该过程中的局部变量都是 Static 类型B.Sub 过程中不能嵌套定义 Sub 过程C.Sub 过程中可以嵌套调用 Sub 过程D.Static 类型用于定义变量,不能定义过程 解析:解析 用 Static 来指定过程中的局部变量在内存中的默认存储方式。如果使用了 Static,则过程中的局部变量就是“Static”型的,即在每次调用过程时,局部变量的值保持不变。17.下列叙述中,不属于软件需求规格说明书的作用的是_。(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件
40、开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析 解析:解析 软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:便于用户、开发人员进行理解和交流;反映出用户问题的结构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。18.在数据结构中,根据各数据元素之间前后件关系的复杂程度,一般将数据结构分成两类,它们是_。(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构解析:解析 数据的逻辑结构抽象地反映数据元素之间的逻辑关系,即数据元素之间的前后件关系,而不
41、管它在计算机中的存储表示形式。根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。19.以下语句的输出结果是_。Print Format$(5874.567,“0.00E-00“)(分数:2.00)A.5874.57B.5.87456E03C.5874.567D.5.87E03 解析:解析 在使用 Format$函数使数值按“格式字符串”指定的格式输出时,符号“E+”或“E-”表示将用指数形式显示数值,两者作用基本相同。按“0.00E-00”的输出格式,选项 D 是正确的。20.已知二叉树 BT 的后序遍历序列是 dabec,中序遍历序列是 de
42、bac,它的前序遍历序列是_。(分数:2.00)A.cedba B.acbedC.decabD.deabc解析:解析 由二叉树后序遍历序列和中序遍历序列可以唯一确定一棵二叉树。二叉树 BT 的后序遍历序列为 dabec,故 BT 的根结点为 c(后序遍历序列的最后一个结点为树的根结点);而 BT 的中序遍历序列是debac,即遍历序列中最后一个结点为根结点,说明 BT 的右子树为空。由 BT 的后序遍历序列和中序遍历序列可知 BT 的左子树的后序遍历序列和中序遍历序列分别为 dabe 和 deba,因此 BT 的左子树的根结点是e。再由中序遍历序列可知其左子树为 d,右子树为 ba。因此 BT
43、 的前序遍历序列为 cedba。21.下面是窗体的 4 个属性,在界面设计时,改变属性值而看不到窗体变化的是_。(分数:2.00)A.TopB.WidthC.LeftD.Enabled 解析:解析 Enabled 属性用于触发或禁止。每个对象都有一个 Enabled 属性,可以被设置为 True 或者False,分别用来触发或禁止该对象。对于窗体,该属性一般设置为 True,但为了避免鼠标或键盘事件发送到某个窗体,也可以设置为 False。22.在窗体上画一个文本框,然后编写如下代码:Option Base 1Private Sub Form_Click( )Dim arrDim Start
44、As Integer, Finish As IntegerDim Sum As Integerart=Array(12,4,8,16)Start=LBound(arr)Finish=UBound(arr)Sum=0For i=Start To FinishSum=Sum+arr(i)Next ic=Sum/FinishText1.Text=cEnd Sub程序运行后,单击窗体则在文本框中显示的内容是_。(分数:2.00)A.40B.10 C.12D.16解析:解析 本题首先定义了数组变量 arr 和三个整型变量,接着用 Array 函数定义了一个数组,并用LBound 和 UBound 函数求
45、出数组的上下界,分别存放在变量 Stan 和 Finish 中。然后通过 For 循环求出数组中各元素的和,放在变量 Sum 中,最后将和除以数组的上界,实际上是求出数组各元素的平均值,即(12+4+8+16)/4=10,在文本框中显示出来。23.在窗体上画一个命令按钮,然后编写如下程序:Function fun1(ByVal Bum As Long)As LongDim k As Longk=0Bum=AbsfBum)Do While Bumk=k+(Bum Mod 10)Bum=Bum/10Loopfun1=kEnd FunctionPrivate Sub Command1_Click(
46、)Dim n As Longn=InputBox(“请输入一个数“)Print fun1(n)End Sub程序运行后,单击命令按钮,在输入对话框中输入 234,输出结果为_。(分数:2.00)A.3B.4C.9 D.10解析:解析 变量 n 接受 234 值后,通过调用函数过程 fun,实参与形参结合后传送给形参变量 Bum。在函数过程的计算过程中,Bum 的值 234 从个位至百位数被分解得 4、3、2,然后计算 4+3+2=9,其结果给变量 k,函数过程运行结束后再由 k 赋值给函数过程名 fun1,最后打印结果为 9。24.把窗体的 KeyPreview 属性设置为 True,然后编写
47、如下过程:Private Sub Form_KeyDown(KeyCode As Integer,ShiftAs Integer)Print Chr(KeyCode)End SubPrivate Sub Form_KeyUp(KeyCode As Integer,Shift AsInteger)Print Chr(KeyCode+2)End Sub程序运行后,如果按“A”键,则输出结果为_。(分数:2.00)A.AAB.ABC.AC D.AD解析:解析 当按下“A”键的操作过程中,先触发 KeyDown 事件,再触发 KeyUp 事件,最终在窗体上显示的是 A 和 C。25.栈的输入序列为 1,2,3,n-1,n,输出序列的第 1 个元素为 n,则第 i 个输出元素为_。(分数:2.00)A.n-i+1 B.n-1C.iD.哪个元素无所谓解析:解析 栈操作原则是“后进先出”,由于输出序列的第 1 个元素为 n,n 必定是最后进栈元素,所以一定是将序列(1,2,3,n-1,n)全部进栈后才有出栈,这样输出序列的第 1 个元素为 n,第 2 个元素是 n-1,第 3 个元素是 n-2,第 j 个元素是 n-i+1。26.为了使标