1、二级 VISUAL+BASIC 笔试 16 及答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.在窗体上画一个文本框,然后编写如下代码: Option Base 1 Private Sub Form_Click() Dim arr Dim Start As Integer,Finish As Integer Dim Sum As Integer arr=Array(12,4,8,16) Start=Lbound(arr) Finish=Ubound(arr) Sum=0 For i=Start To Finish Sum=Sum+arr(i
2、) Next i c=Sum/Finish Text1Text=c End Sub 程序运行后,单击窗体,则在文本框中显示的内容是(分数:2.00)A.40B.10C.12D.162.下列关于线性链表的叙述,正确的是(分数:2.00)A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的3.将窗体的 KeyPreview 属性设置为 True,然后编写如下过程: Private
3、Sub Form KeyDown(KeyCode As Integer,Shift As Integer) Print Chr(KeyCode) End Sub Private Sub Form_KeyUp(KeyCode As Integer,Shift As Integer) Print Chr(KeyCode+2) End Sub 程序运行后,如果按“A”键,则输出的结果为(分数:2.00)A.A AB.A BC.A CD.A D4.已知二叉树 BT 的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是(分数:2.00)A.cedbaB.acbedC.decabD
4、.deabc5.数据库的概念模型(分数:2.00)A.依赖于计算机硬件和 DBMSB.独立于计算机硬件,依赖于 DBMSC.依赖于计算机硬件,独立于 DBMSD.独立于计算机硬件和 DBMS6.用菜单编辑器创建菜单时,如果要在一个菜单中添加一条分隔线,正确的操作是(分数:2.00)A.在标题输入框中输入“-”(减号)B.在名称输入框中输入“-”(减号)C.在标题输入框中输入“_”(下划线)D.在名称输入框中输入“_”(下划线)7.以下语句的输出结果是 Print Format$(5874.567,“0.00E-00“)(分数:2.00)A.5874.57B.5.87456E03C.5874.5
5、67D.5.87E038.以下各组序列中,属于堆的是(分数:2.00)A.19,34,26,97,56,75B.97,26,34,75,19,56C.19,56,26,97,34,75D.19,75,34,26,97,569.语句 Print Sgn(-62)+Abs(62)+Int(-62)的输出结果是(分数:2.00)A.-36B.1C.-1D.-7210.以下叙述错误的是(分数:2.00)A.如果过程被定义为 Static 类型,则该过程中的局部变量都是 Static 类型B.Sub 过程中不能嵌套定义 Sub 过程C.Sub 过程中可以嵌套调用 Sub 过程D.Static 类型用于定
6、义变量,不能定义过程11.在窗体上画一个文本框(Textl),然后编写如下事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim char As String char=Chr(KeyAscii) KeyAscii=Asc(Ucase(char) Print String(4,KeyAscii) End Sub 程序运行后,在文本框 Text1 中输入 A,则程序在窗体上的输出结果为(分数:2.00)A.aB.AC.aaaaD.AAAA12.栈的输入序列为 1,2,3,n-1,n,输出序列的第 1 个元素为 n,则第 i 个输出元素为
7、(分数:2.00)A.n-i+1B.n-1C.iD.哪个元素无所谓13.用软件开发的结构化生命周期的方法将软件生命周期划分成(分数:2.00)A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计14.Visual Basic 中的对话框分为 3 种类型,即预定义对话框、自定义对话框和(分数:2.00)A.列表框B.图片框C.通用对话框D.文本框15.在窗体上画一个名称为 List1 的列表框,一个名称为 Labell 的标签,在列表框中显示若干项内容。当单击列表框中的某项内容时,该项内容能在标签中显示出来。下列能够正确实现上述
8、功能的程序是(分数:2.00)A.Private Sub List1_Click() LabelCaption=List1ListIndex End SubB.Private Sub List1_Click() LabelName=List1ListIndex End SubC.PrivateSubListl click() LabelName=List1Text End SubD.Private Sub List1_Click() LabelCaption=List1Text End Sub16.要暂时关闭计时器,应将计时器的某个属性设置为 False,这个属性是(分数:2.00)A.Vis
9、ibleB.TimerC.EnabledD.Interval17.在窗体上画一个名称为 Commandl 的命令按钮。有下列程序: Option Base 1 Private Sub Command1_Click() Dim a a=Array(45,27,34,24,91,37,11,67,82,63) For i = 1 To 9 For i = i + 1 To 10 If a(i) a(j)Then a1 = a(i) a(i) = a(j) a(j) = a1 End If Next j Next i For i = 1 To 10 Print a(i) Next i End Sub
10、 程序运行后,单击命令按钮,则窗体上第 2 行和第 3 行显示的内容是(分数:2.00)A.27 和 34B.34 和 24C.45 和 63D.24 和 2718.下列叙述中,不属于软件需求规格说明书作用的是(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析19.在窗体上画一个命令按钮(其 Name 属性为 Command1),然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a(4,4) For i=1 To
11、4 For i=1 To 4 a(i,j)=(i-1)*3 + i Next j Next i For i=3 To 4 For j=3 To 4 Print a(j,i); Next j Next i End Sub 程序运行后,单击命令按钮,在窗体上显示的内容为(分数:2.00)A.6 9 7 10B.7 10 8 11C.8 11 9 12D.9 12 10 1320.一个对象在收到消息时,要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做对象的(分数:2.00)A.继承性B.多态性C.抽象性D.封装性21.在窗体上画一个名称为 Commandl 的命令按钮,然后编写
12、如下事件过程: Private Sub Command1_Click() y = 8 Print fun1(1 + fun1(fun1(fun1(y)*10) End Sub Private FLinctiOn fUnl(a) funl(a) = 1 + a End Function 程序运行后,单击命令按钮,则窗体上显示的内容是(分数:2.00)A.112B.2C.909090D.100122.在数据结构中,根据各数据元素之间前后件关系的复杂程度,一般将数据结构分成两类,它们是(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构23.
13、在 Visual Basie 中,要遍历一个对象集合中的元素,应使用的语句是(分数:2.00)A.FoNextB.ForEacNextC.WitEnd WithD.DoLoop24.为了使标签中的内容居中显示,应将 Alignment 属性设置为(分数:2.00)A.0B.1C.2D.325.关于多重窗体应用程序,以下描述不正确的是(分数:2.00)A.对于多重窗体应用程序,可以有多个当前窗体B.多重窗体应用程序的启动窗体可以在设计时设置C.多重窗体应用程序中的每个窗体作为一个磁盘文件保存,所有窗体、标准模块等作为一个工程文件被保存D.多重窗体应用程序可以编译生成一个 EXE 文件26.下面是
14、窗体的 4 个属性,在界面设计时,改变属性值而看不到窗体变化的是(分数:2.00)A.TopB.WidthC.LeftD.Enabled27.编写如下程序: Private Sub Command1_Click() x=“abcd“ y=“1234“ For i=1 To 4 z=z+Mid(x,i,1)+Left(y,1) Next i Print z End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是(分数:2.00)A.abcd1234B.a1b2c3d4C.a1b1c1d1D.1234abcd28.与传统的程序设计语言相比,Visual Basic 最突出的特点是(分数:2
15、.00)A.结构化程序设计B.程序开发环境C.程序调试技术D.事件驱动编程机制29.在运行时,按 Tab 键跳过了一个可以获得焦点的控件(如文本框),则可能是因为(分数:2.00)A.该控件的 TabStop 属性值为 TrueB.该控件的 TabStop 属性值为 FalseC.该控件的 Enabled 属性值为 TrueD.该控件的 Enabled 属性值为 False30.在窗体上画一个命令按钮,其名称为 Command1,然后编写如下程序: Option Base 1 Private Sub Command1_Click() Dim a As Variant a=Array(1,2,3
16、,4) j=1 For i=4 To 1 Step -1 s = s + a(i)* j j = j * 10 Next i Print s End Sub 运行上面的程序,单击命令按钮,其输出的结果为(分数:2.00)A.4321B.12C.34D.123431.设 R 和 S 为两个关系,分别代表选择、投影、乘积关系代数的运算符号是(分数:2.00)A. F(、 A(、RSB.EA(、VA(、R*SC.RS、RS、RSD. A(、 F(、RS32.在窗体上按顺序,分别画出变量按钮 Command1、文本框 Text1 和 Text2。为了将 Text2 的 Tab 顺序设置为第一,应将 T
17、ext2 的 TabIndex 属性设置为(分数:2.00)A.0B.1C.2D.333.假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口中设置窗体的属性,预先应该执行的操作是(分数:2.00)A.单击窗体内没有控件的地方B.单击任一个控件C.不执行任何操作D.双击窗体的标题栏34.在窗体上画一个名称为 Commandl 的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim n As Integer For n = 0 To 9 Step 3 Print rel(n); Next n End Sub Private Functio
18、n rel(ByVal i As Integer)As Integer Dim x As Integer x = 0 For j = 1 To i If i 5 Then rel = i: EXit Function x = x + i Next i rel = x End Function 程序运行后,单击命令按钮,则窗体上显示的内容是(分数:2.00)A.1 3 5 7B.2 8 14 53C.0 3 21 45D.0 5 11 3435.在窗体上画一个命令按钮,然后编写如下程序: Function funl(ByVal Bum As Long)As Long Dim k As Long
19、k = 0 Bum=Abs(Bum) Do While Bum k=k+(Bum Mod 10) Bum=Bum/10 Loop fun1=k End Function Private Sub Command1_Click() Dim n As Long n=InputBox(“请输入一个数“) Print fun1(n) End Sub 程序运行后,单击命令按钮,在对话框中输入 234,输出的结果为(分数:2.00)A.3B.4C.9D.10二、B填空题/B(总题数:12,分数:24.00)36.对于任何一棵二叉树,若度为 1 的结点数为 n1,度为 2 的结点数为 n2,则叶子数 n0为U
20、 【1】 /U。(分数:2.00)填空项 1:_37.链表适用于U 【2】 /U查找。(分数:2.00)填空项 1:_38.程序注释一般分为序言性注释和U 【3】 /U注释。(分数:2.00)填空项 1:_39.软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和U 【4】 /U的设计宋实现。(分数:2.00)填空项 1:_40.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体“工人”与实体“设备”之间存在U 【5】 /U关系。(分数:2.00)填空项 1:_41.在窗体上画两个文本框和一个命令按钮,然后在代码窗口中编写如下事件过程: Private
21、 Sub Command1_Click() Text1Text=“计算机“ Text2Text=Text1Text Text1Text=“等级考试“ End Sub 程序运行后,单击命令按钮,两个文本框(Text1 和 Text2)中的内容分别为U 【6】 /U和U 【7】 /U。(分数:2.00)填空项 1:_42.为了在运行时将窗体 Form1 的标题(Caption 属性)设置为“Test Program”,应使用的语句为U 【8】 /U。(分数:2.00)填空项 1:_43.假定有以下当循环: While Not 条件 循环体 Loop 则执行循环体的“条件”是U 【9】 /U。(分数
22、:2.00)填空项 1:_44.为了使标签能自动调整大小以显示全部文本内容,应将标签的U 【10】 /U属性设置为True。(分数:2.00)填空项 1:_45.有时候需要暂时关闭计时器,这可以通过U 【11】 /U属性来实现。(分数:2.00)填空项 1:_46.下列过程的功能是用来计算并输出 S=1+1/2+1/3+1/100 的值,请完善程序。 Function SumF(n As Integer)As Single s = 0 For i=1 To n s=U 【12】 /U Next i SumF=s End Function Private Sub Form_Click() Sum
23、1=SumF(100) Print Print“sum1=“; sum1 End Sub(分数:2.00)填空项 1:_47.下列程序的功能是计算两个自然数的最大公约数,界面如下图所示。给定的程序不完整,将程序补充完整。 (分数:2.00)填空项 1:_二级 VISUAL+BASIC 笔试 16 答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.在窗体上画一个文本框,然后编写如下代码: Option Base 1 Private Sub Form_Click() Dim arr Dim Start As Integer,Finish As
24、Integer Dim Sum As Integer arr=Array(12,4,8,16) Start=Lbound(arr) Finish=Ubound(arr) Sum=0 For i=Start To Finish Sum=Sum+arr(i) Next i c=Sum/Finish Text1Text=c End Sub 程序运行后,单击窗体,则在文本框中显示的内容是(分数:2.00)A.40B.10 C.12D.16解析:分析 本题首先定义了数组变量 arr 和 3 个整型变量,接着用 Array 函数定义了一个数组,并用LBound 和 UBound 函数求出数组的上下界,分别
25、存放在变量 Start 和 Finish 中,然后通过 For 循环求出数组中各元素的和,放在变量 Sum 中,最后将和除以数组的上界,实际上是求出数组各元素的平均值,即(12+4+8+16)/4=10,将在文本框中显示出来。2.下列关于线性链表的叙述,正确的是(分数:2.00)A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 解析:分析 线性表的链式存储结构中的结点空间是
26、动态生成的,它们在内存中的地址可以是连续的,也可能是不连续的。3.将窗体的 KeyPreview 属性设置为 True,然后编写如下过程: Private Sub Form KeyDown(KeyCode As Integer,Shift As Integer) Print Chr(KeyCode) End Sub Private Sub Form_KeyUp(KeyCode As Integer,Shift As Integer) Print Chr(KeyCode+2) End Sub 程序运行后,如果按“A”键,则输出的结果为(分数:2.00)A.A AB.A BC.A C D.A D解
27、析:分析 在按下 A 键的操作过程中,先触发 KeyDown 事件,再触发 KeyUp 事件,最终在窗体上显示的是 A 和 C。4.已知二叉树 BT 的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是(分数:2.00)A.cedba B.acbedC.decabD.deabc解析:分析 由二叉树后序遍历序列和中序遍历序列可以唯一确定一棵二叉树。二叉树 BT 的后序遍历序列为 dabec,故 BT 的根结点为 c(后序遍历序列的最后一个结点为树的根结点):而 BT 的中序遍历序列是debac,即遍历序列中最后一个结点为根结点,说明 BT 的右子树为空。由 BT 的后序遍
28、历序列和中序遍历序列可知 BT 左子树的后序遍历序列和中序遍历序列分别为 dabe 和 deba,因此 BT 左子树的根结点是 e。再由中序遍历序列可知其左子树为 d,右子树为 ba。因此 BT 的前序遍历序列为 cedba。5.数据库的概念模型(分数:2.00)A.依赖于计算机硬件和 DBMSB.独立于计算机硬件,依赖于 DBMSC.依赖于计算机硬件,独立于 DBMSD.独立于计算机硬件和 DBMS 解析:分析 数据库的概念模型是对客观世界复杂事物的结构描述及它们之间内在联系的刻画。它是一种面向客观世界、面向用户的模型,它与具体的数据库管理系统 DBMS 无关,也与具体的计算机平台无关。6.
29、用菜单编辑器创建菜单时,如果要在一个菜单中添加一条分隔线,正确的操作是(分数:2.00)A.在标题输入框中输入“-”(减号) B.在名称输入框中输入“-”(减号)C.在标题输入框中输入“_”(下划线)D.在名称输入框中输入“_”(下划线)解析:分析 如果要在一个菜单中添加一条分隔线,正确的操作是在标题输入框中输入“-”(减号)。7.以下语句的输出结果是 Print Format$(5874.567,“0.00E-00“)(分数:2.00)A.5874.57B.5.87456E03C.5874.567D.5.87E03 解析:分析 在使用 Formats 函数使数值按“格式字符串”指定的格式输出
30、时,符号“E+”或“E-”表示将用指数形式显示数值,两者作用基本相同。按“0.00E-00”的输出格式,选项 D 是正确的。8.以下各组序列中,属于堆的是(分数:2.00)A.19,34,26,97,56,75 B.97,26,34,75,19,56C.19,56,26,97,34,75D.19,75,34,26,97,56解析:分析 根据堆的定义,可以判断选项 A 是一个小根堆。9.语句 Print Sgn(-62)+Abs(62)+Int(-62)的输出结果是(分数:2.00)A.-36B.1C.-1 D.-72解析:分析 Sgn(-62)的返回值为-1;Abs (62)的返回值为 36;
31、Int(-62)的返回值为-36。其计算结果为-1。10.以下叙述错误的是(分数:2.00)A.如果过程被定义为 Static 类型,则该过程中的局部变量都是 Static 类型B.Sub 过程中不能嵌套定义 Sub 过程C.Sub 过程中可以嵌套调用 Sub 过程D.Static 类型用于定义变量,不能定义过程 解析:分析 用 Static 来指定过程中的局部变量在内存中的默认存储方式。如果使用了 Static,则过程中的局部变量就是“Static”型的,即在每次调用过程时,局部变量的值保持不变。11.在窗体上画一个文本框(Textl),然后编写如下事件过程: Private Sub Tex
32、t1_KeyPress(KeyAscii As Integer) Dim char As String char=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(“字符串”)将“字符串”中的小写字母转换为大写字母。本程序是将在文本框中
33、输入的字符都转换成 4 个大写字符输出。12.栈的输入序列为 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,第 i 个元素是 n-i+1。13.用软件开发的结构化生命周期的方法将软件生命周期划分成(分数:2.00)A.定义、开发、运行维护 B.设计阶段
34、、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计解析:分析 软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。它可以分为软件定义、软件开发及软件运行维护 3 个阶段。14.Visual Basic 中的对话框分为 3 种类型,即预定义对话框、自定义对话框和(分数:2.00)A.列表框B.图片框C.通用对话框 D.文本框解析:分析 CommonDialog(通用对话框)控件在 Visual Basic 和 Microsoft Windows 动态链接库 commd1gdll 的例程之间提供了一个接口。在应用程序中要使用 CommonDialog(
35、通用对话框)控件,应该将其添加到窗体中并设置其属性。15.在窗体上画一个名称为 List1 的列表框,一个名称为 Labell 的标签,在列表框中显示若干项内容。当单击列表框中的某项内容时,该项内容能在标签中显示出来。下列能够正确实现上述功能的程序是(分数:2.00)A.Private Sub List1_Click() LabelCaption=List1ListIndex End SubB.Private Sub List1_Click() LabelName=List1ListIndex End SubC.PrivateSubListl click() LabelName=List1Te
36、xt End SubD.Private Sub List1_Click() LabelCaption=List1Text End Sub 解析:分析 给出的 4 个选项都是列表框的 Click 事件过程。当单击列表框中的某一项时,将发生单击事件,同时选择一个列表项,这个列表项可以用列表框的 Text 属性来表示,也就是说, List1Text 就是所选择的项目。此外,为了在标签中显示所选择的列表项,必须使用列表框的标题属性,即LabellCaption。因此,正确的语句应是: LabellCaption=List1Text 在 Visual Basic 中,不能在运行期间改变控件或窗体的名称(
37、Name 属性),因此选项 B 和选项 C 都是错误的:而列表框的 ListIndex属性是所选择的列表项位置,即列表项的标题,不是列表项本身。16.要暂时关闭计时器,应将计时器的某个属性设置为 False,这个属性是(分数:2.00)A.VisibleB.TimerC.Enabled D.Interval解析:分析 若希望窗体一加载定时器就开始工作,应将 Enabled 属性设置为 True。否则,保持Enabled 属性为 False。17.在窗体上画一个名称为 Commandl 的命令按钮。有下列程序: Option Base 1 Private Sub Command1_Click()
38、 Dim a a=Array(45,27,34,24,91,37,11,67,82,63) For i = 1 To 9 For i = i + 1 To 10 If a(i) a(j)Then a1 = a(i) a(i) = a(j) a(j) = a1 End If Next j Next i For i = 1 To 10 Print a(i) Next i End Sub 程序运行后,单击命令按钮,则窗体上第 2 行和第 3 行显示的内容是(分数:2.00)A.27 和 34B.34 和 24C.45 和 63D.24 和 27 解析:分析 冒泡排序是常用的一种排序方法,它是每次对两
39、个数据进行比较的方法,本题中就是 a(i)和 a(j)进行比较,循环变量 i 和 j 的关系为 j=i+1。由此,对同一个数组操作,i 的范围应是 19,而 j的范围应是 i+110。容易犯错误的地方就是取 i 的范围为 110,这样势必会造成在对 j 进行操作时会出现 j=11,因此产生数组下标溢出的错误。如果是“按升序排列”,那么就是将满足“a(i)a(j)”条件时,将 a(i)和 a(j)进行交换,数据交换时需要通过一个临时变量来进行。18.下列叙述中,不属于软件需求规格说明书作用的是(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基
40、础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析 解析:分析 软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:便于用户、开发人员进行理解和交流:反映出用户问题的结构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。19.在窗体上画一个命令按钮(其 Name 属性为 Command1),然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a(4,4) For i=1 To 4 For i=1 To 4 a(i,j)=(i-1)*3 + i Next j Nex
41、t i For i=3 To 4 For j=3 To 4 Print a(j,i); Next j Next i End Sub 程序运行后,单击命令按钮,在窗体上显示的内容为(分数:2.00)A.6 9 7 10B.7 10 8 11C.8 11 9 12D.9 12 10 13 解析:分析 本题是测试对二维数组赋值过程的理解。一般情况下,一个二维数组用一个二重循环来赋值,本程序是给一个 5 行 5 列二维数组的部分数组元素赋值。在双重 For 循环结构中,外循环的循环变量i 从 1 增加到 4,循环 4 次,内循环的循环变量,i 从 1 增加到 4,也循环 4 次。因为在本例中,要求输出
42、的是 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(4,3)=12,a(3,4)=10,a(4,4)=13。20.一个对象在收到消息时,要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做对象的(分数:2.00)A.继承性B.多态性 C.抽象性D.封装性解析:分析 对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行为,该现象称为多态性。21.在窗体上画一个名称为 Com
43、mandl 的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() y = 8 Print fun1(1 + fun1(fun1(fun1(y)*10) End Sub Private FLinctiOn fUnl(a) funl(a) = 1 + a End Function 程序运行后,单击命令按钮,则窗体上显示的内容是(分数:2.00)A.112 B.2C.909090D.1001解析:分析 此题目主要是多次循环调用函数 funl,处理过程如下: fun1(1+fun1(fun1(fun1(8)*10=fun1(1+fun1(fun1(9) *10)
44、=fiat(1+fun1(10)*10)=fun1(1+11*10),fun1(111) =112。逐层计算即可返回正确结果。22.在数据结构中,根据各数据元素之间前后件关系的复杂程度,一般将数据结构分成两类,它们是(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构解析:分析 数据的逻辑结构抽象地反映数据元素之间的逻辑关系,即数据元素之间的前后件关系,而不管它在计算机中的存储表示形式。根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构和非线性结构。23.在 Visual Basie 中,要遍历一个
45、对象集合中的元素,应使用的语句是(分数:2.00)A.FoNextB.ForEacNext C.WitEnd WithD.DoLoop解析:分析 ForEachNext 语句是针对一个数组或集合中的每个元素,重复执行一组语句。而选项A、C、D 都是在满足条件时才执行。24.为了使标签中的内容居中显示,应将 Alignment 属性设置为(分数:2.00)A.0B.1C.2 D.3解析:分析 Alignment 属性用来确定标签中标题的放置方式,设置为 0 表示从标签的左边开始显示标题(默认);1 表示标题靠右显示;2 表示标题居中显示。25.关于多重窗体应用程序,以下描述不正确的是(分数:2.
46、00)A.对于多重窗体应用程序,可以有多个当前窗体 B.多重窗体应用程序的启动窗体可以在设计时设置C.多重窗体应用程序中的每个窗体作为一个磁盘文件保存,所有窗体、标准模块等作为一个工程文件被保存D.多重窗体应用程序可以编译生成一个 EXE 文件解析:分析 对于多重窗体应用程序,当前窗体只能有一个。26.下面是窗体的 4 个属性,在界面设计时,改变属性值而看不到窗体变化的是(分数:2.00)A.TopB.WidthC.LeftD.Enabled 解析:分析 Enabled 属性用于触发或禁止。每个对象都有一个 Enabled 属性,可以被设置为 True 或者False,分别用来触发或禁止该对象
47、。对于窗体,该属性一般设置为 True,但为了避免鼠标或键盘事件发送到某个窗体,也可以设置为 False。27.编写如下程序: Private Sub Command1_Click() x=“abcd“ y=“1234“ For i=1 To 4 z=z+Mid(x,i,1)+Left(y,1) Next i Print z End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是(分数:2.00)A.abcd1234B.a1b2c3d4C.a1b1c1d1 D.1234abcd解析:分析 在 4 次循环过程中,利用 Mid 函数从 x 字符串中逐个获取的是 a、b、c、d,Left 函
48、数从y 字符串中逐个获取的是 1、1、1、1,用“+”号将它们连接起来,就得到了答案 C。28.与传统的程序设计语言相比,Visual Basic 最突出的特点是(分数:2.00)A.结构化程序设计B.程序开发环境C.程序调试技术D.事件驱动编程机制 解析:分析 传统的程序设计语言是面向过程的,但一般都可以实现结构化程序设计,有的也提供了较完善的集成开发环境和程序调试技术,但它们基本上都没有事件驱动编程机制。与这些语言相比,Visual Basic 最突出的特点就是事件驱动编程机制。29.在运行时,按 Tab 键跳过了一个可以获得焦点的控件(如文本框),则可能是因为(分数:2.00)A.该控件的 TabStop 属性值为 TrueB.该控件的 TabStop 属性值为 False C.该控件的 Enabled 属性值为 TrueD.该控件的 Enabled 属性值为 False解析:分析 可以通过