1、全国计算机等级考试四级软件测试工程师真题 2012年 9月及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列叙述正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上 3种描述都不对(分数:2.00)A.B.C.D.2.程序流程图中带有箭头的线段表示的是A) 图元关系 B) 数据流 C) 控制流 D) 调用关系(分数:2.00)A.B.C.D.3.已知二叉树后序遍历序列是 CDABE,中序遍历序列是 CADEB,它的
2、前序遍历序列是 ( )。A) ABCDE B) ECABD C) EACDB D) CDEAB(分数:2.00)A.B.C.D.4.模块的功能性注释的主要内容不应包括_。A) 程序段的功能 B) 语句的功能C) 数据的状态 D) 模块的功能(分数:2.00)A.B.C.D.5.下列叙述中,不属于测试的特征的是A) 测试的挑剔性 B) 完全测试的不可能性C) 测试的可靠性 D) 测试的经济性(分数:2.00)A.B.C.D.6.已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为 90的元素时,查找成功的比较次数为( )。A) 1 B)
3、 2C) 3 D) 9(分数:2.00)A.B.C.D.7.下面关于对象概念的描述中错误的是A) 对象就是 C语言中的结构体变量B) 对象代表着正在创建的系统中的一个实体C) 对象是一个状态和操作(或方法) 的封装体D) 对象之间的信息传递是通过消息进行的(分数:2.00)A.B.C.D.8.信息隐蔽的概念与下述哪一种概念直接相关_。A) 软件结构定义 B) 模块独立性C) 模块类型划分 D) 模拟耦合度(分数:2.00)A.B.C.D.9.用树形结构表示实体之间联系的模型是( )。A关系模型 B网状模型 C层次模型 D以上三个都是(分数:2.00)A.B.C.D.10.以下( )不能存入在资
4、源文件里。A独立的字符串 B位图C声音文件 D事件过程(分数:2.00)A.B.C.D.11.下列选项中不属于软件生命周期开发阶段任务的是( )。A) 软件测试 B) 概要设计C) 软件维护 D) 详细设计(分数:2.00)A.B.C.D.12.栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E入栈前,栈中元素可以出栈,则出栈序列可能是A) ABCED B) DCBEA C) DBCEA D) CDABE(分数:2.00)A.B.C.D.13.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符号不属于数据流图的是_。(A) 控制流(B) 加工(C) 数据存储(
5、D) 源和潭(分数:2.00)A.B.C.D.14.在下列有关测试的论述中,错误的是_。(A) 证明错误存在(B) 证明错误不存在(C) 发现程序的错误(D) 提供诊断信息(分数:2.00)A.B.C.D.15.下列程序段错误的是( )。(分数:2.00)A.B.C.D.16.关系表中的每一横行称为一个A) 元组 B) 字段 C) 属性 D) 码(分数:2.00)A.B.C.D.17.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。A模块间的关系 B系统结构部件转换成软件的过程描述C软件层次结构 D软件开发过程(分数:2.00)A.B.C.D.18.假定有以下两个过程
6、:Private Sub PPP(aAsSingle,b As Single)a=a+bPrinta,bb=a+bPrinta,bEnd SubPrivate Sub Form_Activate( )x=18Call PPP(x),(x)PrintX:End Sub则以下说法中不正确的是( )。A虚参是 a和 b,两个实参(x)和(x)允许重名B虚参是 a和 b,实参(x)表示传值调用C虚参是 a和 b,实参(x)表示是非传址调用D虚参是 a和 b,两个实参(x)和(x)不允许重名(分数:2.00)A.B.C.D.19.下列关于图片框的语句中不正确的是( )。A) Picture1.Pictu
7、re=Picture2.PictureB) Picture1.Picture=LoadPicture(“C:/v60/Arw04Up.ico“)C) Picture1.Print Tab(20); CurrentX, CurrentYD) Picture1.Stretch=True(分数:2.00)A.B.C.D.20.下面的数组声明语句中正确的是A) Dim gg1,5As String B) Label1.BackStyle=1C) Dim gg(1 To 5)As String D) Dim gg1:5,1:5As String(分数:2.00)A.B.C.D.21.在设计菜单时,如果要
8、在菜单中加入一个菜单分隔项,则菜单分隔项的标题必须设置为_。A) 加号(+) B) 减号(-) C) 星号(*) D) 感叹号(!)(分数:2.00)A.B.C.D.22.窗体上有名称为 Command1的命令按钮和名称为 Text1的文本框( )。Private Sub Command1_Click()Text1.Text=“程序设计“Text1.SetFocusEnd SubPrivate Sub Text1_GotFocus()Text1.Text=“等级考试“End Sub运行以上程序,单击命令按钮后( )。A) 文本框中显示的是“程序设计”,且焦点在文本框中B) 文本框中显示的是“等
9、级考试”,且焦点在文本框中C) 文本框中显示的是“程序设计”,且焦点在命令按钮上D) 文本框中显示的是“等级考试”,且焦点在命令按钮上(分数:2.00)A.B.C.D.23.假定一个工程由一个窗体文件 Form1和两个标准模块文件 Model1及 Model2组成。Model1代码如下:Public x As IntegerPublic y As IntegerSub S1()x=1S2End SubSub S2()y=10Form1. ShowEnd SubModel2的代码如下:Sub Main()S1End Sub其中 Sub Main被设置为启动过程。程序运行后,各模块的执行顺序是(
10、)。AFormlModel1Model2 BModel1Model2Form1CModel2Model1Form1 DModel2Form1Model1(分数:2.00)A.B.C.D.24.通常情况下,垂直滚动条的值是A) 由下往上递增 B) 由上往下递增C) 由左到右递增 D) 由右到左递增(分数:2.00)A.B.C.D.25.不能脱离控件(包括窗体)而独立存在的过程是( )。A事件过程 B通用过程 CSub 过程 D函数过程(分数:2.00)A.B.C.D.26.执行以下程序段a$=“abbacddcba“For i=6 To 2 Step-2X=Mid(a,i,i)Y=Left(a,
11、i)Z=Right(a,i)z=UCase(XnA) 1 5 B) 14 6 C) a b D) 10 25(分数:2.00)A.B.C.D.33.下列的程序段执行后,x 的值为_。Private Sub Command1_Ciick()x =0for i =1 To 10for j = i To 10x=x+1Next jNext iPrint xEnd SubA) 50 B) 55 C) 5 D) 105(分数:2.00)A.B.C.D.34.单击一次命令按钮后,下列程序的执行结果是Private Sub Command1_Click()s=P(1) + P(2) + P(3) + P(4
12、)Print sEnd SubPublic Function P(N As Integer)Static SumFor i=1 To NSum=Sum + iNext iP=SumEnd FunctionA) 15 B) 25 C) 35 D) 45(分数:2.00)A.B.C.D.35.下列说法不正确的是( )。A) 滚动条的重要事件是 Change和 ScrollB) 框架的主要作用是将控件进行分组,以完成各自相对独立的功能C) 组合框是组合了文本框和列表框的特性而形成的一种控件D) 计时器控件可以通过对 Visible属性的设置,在程序运行期间显示在窗体上(分数:2.00)A.B.C.D
13、.二、填空题(总题数:13,分数:30.00)36.设一棵完全二叉树共有 500个结点,则在该二叉树中有U /U个叶子结点。(分数:2.00)填空项 1:_37.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_38.面向对象的模型中,最基本的概念是对象和U /U。(分数:2.00)填空项 1:_39.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_40.度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_41.要使命令按钮控件不可用,应设置的属性是 1。(分数:2.
14、00)填空项 1:_42.设 A=2,B=-2,则表达式 A/2+1B+5OrB*(-2)=6 的值是 1。(分数:2.00)填空项 1:_43.执行下面的程序段后,变量 S的值为_。S=5For i=2.6 To 4.9 Step 0.6S=S+1Next i(分数:2.00)填空项 1:_44.设有下列程序,查找并输出该数组中的最小值,请在空白处填上合适的代码,将程序补充完整。Option Base 1Private Sub Command1_Click()Dim arr1Dim Min As Integer,i As Integerarr1=Array(12,435,76,-24,78,
15、54,866,43)Min=arr1(1)For i=2 To 8If arr(i)Min Then_Next iPrint“最小值是:“;MinEnd Sub(分数:2.00)填空项 1:_45.窗体中有一个命令按钮,然后编写下列事件过程:Private Sub Command1_Click()x=0Do Untilx=-1a=InputBox(“请输入第一个数字 a的值“)a=Val(a)b=InputBox(“请输入第二个数字 b的值“)b=Val(b)x=InputBox(“请输入第三个数字 x的值“)x=Val(x)a=a+b+xLoopPrint aEnd Sub在程序运行后,单击
16、命令按钮,在对话框中分别输入 5,4,8,5,8,-1,输出的结果是_。(分数:2.00)填空项 1:_46.用 Line Input语句从顺序文件读出数据时,每次读出一行数据。一行是指遇到_分隔符,即认为一行的结束。(分数:2.00)填空项 1:_47.在窗体上画一个名称为 Command1的命令按钮,然后编写如下程序:Option Base 1Private Sub Command1_Click()Dim a(10) As IntegerFor i=1 To 10a(i)=iNextCall swap(U /U)For i=1 To 10Print a(i)NextEnd SubSub s
17、wap(b() As Integer)n=Ubound(b)For i=1 To n/2t=b(i):b(i)=b(n):b(n)=tU /UNextEnd Sub上述程序的功能是:通过调用过程 swap,调换数组中数值的存放位置,即 a(1)与 a(10)的值互换,a(2)与 a(9)的值互换,。请填空。(分数:4.00)填空项 1:_48.下面的程序执行时,可以从键盘输入一正整数,然后把该数的每位数字按逆序输出。例如:输入7685,则输出 5867;输入 1000,则输出 0 0 0 1。请填空。Private Sub Command1_Click()Dim x As Integerx=I
18、nputBox(“请输入一个正整数“)While xU /UPrint x Mod 10;x=x/10WendPrintU /UEnd Sub(分数:4.00)填空项 1:_全国计算机等级考试四级软件测试工程师真题 2012年 9月答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列叙述正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上 3种描述都不对(分数:2.00)A.B.C. D.解析:解析 算法的执行效率与数
19、据的存储结构密切相关。算法的空间复杂度是指算法执行过程中所需的存储空间。2.程序流程图中带有箭头的线段表示的是A) 图元关系 B) 数据流 C) 控制流 D) 调用关系(分数:2.00)A.B.C. D.解析:解析 在程序流程图中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。带箭头的线段在数据流程图中表示数据流。带箭头的线段在程序流程图中表示控制流。在题中给出的选项中,在图元之间用带有箭头的线段表示图元关系。在模块之间用带有箭头的线段表示调用关系。3.已知二叉树后序遍历序列是 CDABE,中序遍历序列是 CADEB,它的前序遍历序列是 ( )。A) AB
20、CDE B) ECABD C) EACDB D) CDEAB(分数:2.00)A.B.C. D.解析:解析 由于后序遍历的最后一个元素为 E,所以 E为根结点,所以它的前序遍历的首个元素为 E,故排除 A)和 D)选项。由于中序遍历中,元素 B在元素根结点 E的后面,所以 B为二叉树的右子树,并且该二叉树右子树只有一个元素,所以前序遍历的最后一个元素应为 B,故选项 C)为正确选项,即该二叉树的前序遍历序列是 EACDB。4.模块的功能性注释的主要内容不应包括_。A) 程序段的功能 B) 语句的功能C) 数据的状态 D) 模块的功能(分数:2.00)A.B.C.D. 解析:分析 功能性注释一般
21、嵌在源程序体中,主要描述其后的语句或者程序的主要功能,所以不应包括模块的功能。5.下列叙述中,不属于测试的特征的是A) 测试的挑剔性 B) 完全测试的不可能性C) 测试的可靠性 D) 测试的经济性(分数:2.00)A.B.C. D.解析:解析 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有 3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。没有测试的可靠性这一说法。6.已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为 90的元素时,查找成功的比较次数为( )。A) 1
22、 B) 2C) 3 D) 9(分数:2.00)A.B. C.D.解析:解析 根据二分法查找法需要两次,首先将 90与表中间的元素 50进行比较,由于 90大于50,所以在线性表的后半部分查找;第二次比较的元素是后半部分的中间元素,即 90,这时两者相等,即查找成功。7.下面关于对象概念的描述中错误的是A) 对象就是 C语言中的结构体变量B) 对象代表着正在创建的系统中的一个实体C) 对象是一个状态和操作(或方法) 的封装体D) 对象之间的信息传递是通过消息进行的(分数:2.00)A. B.C.D.解析:解析 对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息
23、互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的;对象的思想广泛应用于 C+、Java 等语言中,因此 A)错误。8.信息隐蔽的概念与下述哪一种概念直接相关_。A) 软件结构定义 B) 模块独立性C) 模块类型划分 D) 模拟耦合度(分数:2.00)A.B. C.D.解析:评析 信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。衡量软件的模块独立性的度量标准是耦合性和内聚性。一个模块的内聚性越强,则该模块的模块独立性越强。而内聚性是信息
24、隐蔽和局部化概念的自然扩长。9.用树形结构表示实体之间联系的模型是( )。A关系模型 B网状模型 C层次模型 D以上三个都是(分数:2.00)A.B.C. D.解析:10.以下( )不能存入在资源文件里。A独立的字符串 B位图C声音文件 D事件过程(分数:2.00)A.B.C.D. 解析:11.下列选项中不属于软件生命周期开发阶段任务的是( )。A) 软件测试 B) 概要设计C) 软件维护 D) 详细设计(分数:2.00)A.B.C. D.解析:解析 软件的生命周期可分为软件定义、软件开发及软件运行维护 3个阶段。其中软件定义阶段的主要工作有可行性研究与计划制定和需求分析等;软件开发阶段的主要
25、工作有概要设计、详细设计和测试等;软件运行维护阶段的主要工作是软件的运行及后期的维护等。12.栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E入栈前,栈中元素可以出栈,则出栈序列可能是A) ABCED B) DCBEA C) DBCEA D) CDABE(分数:2.00)A.B. C.D.解析:解析 栈操作原则上“后进先出”,栈底至栈顶依次存放元素 A、B、C、D,则表明这 4个元素中D是最后进栈,B、C 处于中间,A 最早进栈,所以出栈时一定是先出 D,再出 C,最后出 A。13.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符号不属于数据流图的是_。(
26、A) 控制流(B) 加工(C) 数据存储(D) 源和潭(分数:2.00)A. B.C.D.解析:14.在下列有关测试的论述中,错误的是_。(A) 证明错误存在(B) 证明错误不存在(C) 发现程序的错误(D) 提供诊断信息(分数:2.00)A.B.C. D.解析:15.下列程序段错误的是( )。(分数:2.00)A. B.C.D.解析:16.关系表中的每一横行称为一个A) 元组 B) 字段 C) 属性 D) 码(分数:2.00)A. B.C.D.解析:解析 关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为一个属性,对应表中的一个字段;在二维表中凡能唯一标识元组的最小属性集称为该表的
27、键或码。17.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。A模块间的关系 B系统结构部件转换成软件的过程描述C软件层次结构 D软件开发过程(分数:2.00)A.B. C.D.解析:18.假定有以下两个过程:Private Sub PPP(aAsSingle,b As Single)a=a+bPrinta,bb=a+bPrinta,bEnd SubPrivate Sub Form_Activate( )x=18Call PPP(x),(x)PrintX:End Sub则以下说法中不正确的是( )。A虚参是 a和 b,两个实参(x)和(x)允许重名B虚参是 a和 b,
28、实参(x)表示传值调用C虚参是 a和 b,实参(x)表示是非传址调用D虚参是 a和 b,两个实参(x)和(x)不允许重名(分数:2.00)A.B.C.D. 解析:19.下列关于图片框的语句中不正确的是( )。A) Picture1.Picture=Picture2.PictureB) Picture1.Picture=LoadPicture(“C:/v60/Arw04Up.ico“)C) Picture1.Print Tab(20); CurrentX, CurrentYD) Picture1.Stretch=True(分数:2.00)A.B.C.D. 解析:解析 A)选项中的语句是将图片框
29、2的图片显示在图片 1中;B)选项中的语句是在运行时载入图片;C)选项是使用图片框的 Print方法在图片框中输出文本;图片框没有 Stretch属性。20.下面的数组声明语句中正确的是A) Dim gg1,5As String B) Label1.BackStyle=1C) Dim gg(1 To 5)As String D) Dim gg1:5,1:5As String(分数:2.00)A.B.C. D.解析:解析 声明数组时,数组的默认下界为 0,如果希望下界不是 0,可以用关键字 To规定下界。如选项 C中,数组 gg的索引从 1到 5。21.在设计菜单时,如果要在菜单中加入一个菜单分
30、隔项,则菜单分隔项的标题必须设置为_。A) 加号(+) B) 减号(-) C) 星号(*) D) 感叹号(!)(分数:2.00)A.B. C.D.解析:解析 以连字符“-”作为标题的菜单控件,将作为一个分割条出现。22.窗体上有名称为 Command1的命令按钮和名称为 Text1的文本框( )。Private Sub Command1_Click()Text1.Text=“程序设计“Text1.SetFocusEnd SubPrivate Sub Text1_GotFocus()Text1.Text=“等级考试“End Sub运行以上程序,单击命令按钮后( )。A) 文本框中显示的是“程序设
31、计”,且焦点在文本框中B) 文本框中显示的是“等级考试”,且焦点在文本框中C) 文本框中显示的是“程序设计”,且焦点在命令按钮上D) 文本框中显示的是“等级考试”,且焦点在命令按钮上(分数:2.00)A.B. C.D.解析:解析 SetFocus 方法用于将焦点移到指定的对象上,而当一个对象获得焦点时将触发其 GotFocus事件过程。23.假定一个工程由一个窗体文件 Form1和两个标准模块文件 Model1及 Model2组成。Model1代码如下:Public x As IntegerPublic y As IntegerSub S1()x=1S2End SubSub S2()y=10F
32、orm1. ShowEnd SubModel2的代码如下:Sub Main()S1End Sub其中 Sub Main被设置为启动过程。程序运行后,各模块的执行顺序是( )。AFormlModel1Model2 BModel1Model2Form1CModel2Model1Form1 DModel2Form1Model1(分数:2.00)A.B.C. D.解析:解析 本题考查 Visual Basic程序执行过程中各模块和窗体的调用过程。按照本题中代码的执行顺序,首先程序调用执行 Model2,Model2 中调用 S1,S1 数组属于 Model1模块,Model1 会调用 S2,S2致使
33、Form1执行,从而可以得出正确答案为选项 C。24.通常情况下,垂直滚动条的值是A) 由下往上递增 B) 由上往下递增C) 由左到右递增 D) 由右到左递增(分数:2.00)A.B. C.D.解析:解析 一般情况下,垂直滚动条的值由上往下递增,最上端代表最小值,最下端代表最大值;水平滚动条的值从左到右递增,最左端代表最小值,最右端代表最大值。因此选项 B)是正确的。25.不能脱离控件(包括窗体)而独立存在的过程是( )。A事件过程 B通用过程 CSub 过程 D函数过程(分数:2.00)A. B.C.D.解析:26.执行以下程序段a$=“abbacddcba“For i=6 To 2 Ste
34、p-2X=Mid(a,i,i)Y=Left(a,i)Z=Right(a,i)z=UCase(XnA) 1 5 B) 14 6 C) a b D) 10 25(分数:2.00)A.B. C.D.解析:解析 此题内容比较简单,开始 m为 2,n 为 3,执行 Do语句,具体运行为:执行 m=m+n;n=n+1语句后,m 为 5,n 为 4。这样运行到 m=14,程序终止循环,此时 n=6。33.下列的程序段执行后,x 的值为_。Private Sub Command1_Ciick()x =0for i =1 To 10for j = i To 10x=x+1Next jNext iPrint xE
35、nd SubA) 50 B) 55 C) 5 D) 105(分数:2.00)A.B. C.D.解析:解析 本题的难点是嵌套循环的循环次数。由于内层的初值为外层循环的循环变量,循环次数为“10+9+8+7+6+5+4+3+2+1=55”。34.单击一次命令按钮后,下列程序的执行结果是Private Sub Command1_Click()s=P(1) + P(2) + P(3) + P(4)Print sEnd SubPublic Function P(N As Integer)Static SumFor i=1 To NSum=Sum + iNext iP=SumEnd FunctionA)
36、15 B) 25 C) 35 D) 45(分数:2.00)A.B.C. D.解析:解析 在被调用过程中,有这样的语句“Static Sum”,因为变量 Sum是局部变量,局部变量除了可以用:Dim 语句声明外,还可用 Static语句将变量声明为静态变量,它在程序运行过程中可保留变量的值,这就是说每次调用过程时,用 Static说明的变量保持原来的值。具体过程分析如下。调用 P(1),所以在被调过程中 N=1,执行 For Next循环,P(1)=Sum=1;调用 P(2),所以在被调过程中 N=2,执行 For Next循环,P(2)=Sum=4;调用 P(3),所以在被调过程中 N=3,执
37、行 For Next循环,P(3)=Sum=10;调用 P(4),所以在被调过程中 N=4,执行 For Next循环,P(4)=Sum=20;不难看出,最后输出的结果 S值应为 1+4+10+20=35,所以选项 C)正确。35.下列说法不正确的是( )。A) 滚动条的重要事件是 Change和 ScrollB) 框架的主要作用是将控件进行分组,以完成各自相对独立的功能C) 组合框是组合了文本框和列表框的特性而形成的一种控件D) 计时器控件可以通过对 Visible属性的设置,在程序运行期间显示在窗体上(分数:2.00)A.B.C.D. 解析:解析 本题综合考查了 Visual Basic中
38、几个控件的属性和事件的基本知识。与滚动条有关的事件主要是 Change和 Scroll。当在滚动条内拖动滚动框时会触发 Scroll事件,而改变滚动框的位置后会触发 Change事件。框架控件为控件提供可标识的分组,可以在功能上进一步分割个窗体。组合框是组合列表框和文本框的特性而成的控件。计时器控件是不可见的控件,没有 Visible属性,其主要的属性是Interval属性和 Enabled属性。二、填空题(总题数:13,分数:30.00)36.设一棵完全二叉树共有 500个结点,则在该二叉树中有U /U个叶子结点。(分数:2.00)填空项 1:_ (正确答案:250)解析:评析 所谓完全二叉
39、树是指除最后一层外,每一层上的结点数均达到最大值:在最后一层上只缺少右边的若干结点。具有 n个结点的完全二叉树,其父结点数为 int(n/2),而叶子结点数等于总结点数减去父结点数。本题n=500,故父结点数等于 int(500/2)=250,叶子结点数等于 500-250=250。37.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_ (正确答案:类)解析:解析 在面向对象方法中,把具有相同属性和方法的对象称为类,类是对象的抽象,对象是类的实例。38.面向对象的模型中,最基本的概念是对象和U /U。(分数:2.00)填空项 1:_ (正确答案:类
40、)解析:评析 面向对象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化;将属性集和方法集相同的所有对象组合在一起,可以构成一个类。39.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_ (正确答案:存储或物理或存储结构或物理结构)解析:40.度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_ (正确答案:45)解析:解析 对于长度为 N的线性表,在最坏情况下(即线性表中元素现在的顺序与目标顺序正好相反),冒泡排序需要经过 N/2遍的从前往后的扫描和 N/2遍的从后往前的扫描,需要的比较次数为 N
41、(N-1)/2。41.要使命令按钮控件不可用,应设置的属性是 1。(分数:2.00)填空项 1:_ (正确答案:Enabled 属性)解析:42.设 A=2,B=-2,则表达式 A/2+1B+5OrB*(-2)=6 的值是 1。(分数:2.00)填空项 1:_ (正确答案:False)解析:43.执行下面的程序段后,变量 S的值为_。S=5For i=2.6 To 4.9 Step 0.6S=S+1Next i(分数:2.00)填空项 1:_ (正确答案:9)解析:44.设有下列程序,查找并输出该数组中的最小值,请在空白处填上合适的代码,将程序补充完整。Option Base 1Private
42、 Sub Command1_Click()Dim arr1Dim Min As Integer,i As Integerarr1=Array(12,435,76,-24,78,54,866,43)Min=arr1(1)For i=2 To 8If arr(i)Min Then_Next iPrint“最小值是:“;MinEnd Sub(分数:2.00)填空项 1:_ (正确答案:Min=arrl(i))解析:解析 题目要求输出数组中的最小值,分析程序可知,本程序求数组最小值的算法是:假设最小的值是第一个数组元素,并把它存在 Min变量中,然后从数组的第二个元素开始逐个与 Min变量对比,如果有
43、比 Min更小的数,则赋值给 Min,这样对比到数组最后一个元素时,就能找到最小的元素,且它存储在 Min变量中,因此最后只要输出 Min变量值即可。45.窗体中有一个命令按钮,然后编写下列事件过程:Private Sub Command1_Click()x=0Do Untilx=-1a=InputBox(“请输入第一个数字 a的值“)a=Val(a)b=InputBox(“请输入第二个数字 b的值“)b=Val(b)x=InputBox(“请输入第三个数字 x的值“)x=Val(x)a=a+b+xLoopPrint aEnd Sub在程序运行后,单击命令按钮,在对话框中分别输入 5,4,8,
44、5,8,-1,输出的结果是_。(分数:2.00)填空项 1:_ (正确答案:12)解析:解析 程序执行过程如下:第 1次循环:输入 5时,a=5;输入 4时,b=4;输入 8时,x=8;然后计算 a=a+b+x=17。第 2次循环:输入 5 时,a=5;输入 8时,b=8;输入-1 时,x=-1。然后计算 a=a+b+x=12;此时条件不成立,退出循环。46.用 Line Input语句从顺序文件读出数据时,每次读出一行数据。一行是指遇到_分隔符,即认为一行的结束。(分数:2.00)填空项 1:_ (正确答案:Enter)解析:命题目的 考查考生对文件读写操作的掌握情况。解题要点 Line I
45、nput#语句一次只从文件中读出一个字符,直到遇到回车符(chr(13)或回车一换行符(Chr(13)+chr(10)为止。回车一换行符将被跳过,而不会被附加到字符串上。考点链接 文件的读写操作。47.在窗体上画一个名称为 Command1的命令按钮,然后编写如下程序:Option Base 1Private Sub Command1_Click()Dim a(10) As IntegerFor i=1 To 10a(i)=iNextCall swap(U /U)For i=1 To 10Print a(i)NextEnd SubSub swap(b() As Integer)n=Ubound
46、(b)For i=1 To n/2t=b(i):b(i)=b(n):b(n)=tU /UNextEnd Sub上述程序的功能是:通过调用过程 swap,调换数组中数值的存放位置,即 a(1)与 a(10)的值互换,a(2)与 a(9)的值互换,。请填空。(分数:4.00)填空项 1:_ (正确答案:(11)a (12)n=n-1)解析:解析 题目中,首先定义一个长度为 10的一维数组,并给数组赋值为 110 的整数,接下来调用swap过程完成数组元素值的互换。由于 swap过程的形参为数组,所以调用 swap过程时传递的实参应该是一个数组名,本题中11只能是 a。在过程 swap中,首先求得数
47、组 b的上界 n,然后在 for循环中作元素值的互换,循环第一次时,i=1,a(1)与 a(n)互换;循环第二次时,i=2,应该与数组倒数第二个元素值互换,以此类推,所以每循环一次 n值应减少 1,即12为 n=n-1。48.下面的程序执行时,可以从键盘输入一正整数,然后把该数的每位数字按逆序输出。例如:输入7685,则输出 5867;输入 1000,则输出 0 0 0 1。请填空。Private Sub Command1_Click()Dim x As Integerx=InputBox(“请输入一个正整数“)While xU /UPrint x Mod 10;x=x/10WendPrintU /UEnd Sub(分数:4.00)填空项 1:_ (正确答案:(14)10 (15)x)解析:解析 任何一个正整数与