全国计算机等级考试四级软件测试工程师真题2012年9月
(总分100, 做题时间90分钟)
一、选择题
下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的。
1. 
下列叙述正确的是(    )。
   A) 算法的执行效率与数据的存储结构无关
   B) 算法的空间复杂度是指算法程序中指令(或语句)的条数
   C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止
   D) 以上3种描述都不对

A  B  C  D  
2. 
程序流程图中带有箭头的线段表示的是
   A) 图元关系    B) 数据流    C) 控制流    D) 调用关系

A  B  C  D  
3. 
已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是 (    )。
   A) ABCDE    B) ECABD    C) EACDB    D) CDEAB

A  B  C  D  
4. 
模块的功能性注释的主要内容不应包括______。
   A) 程序段的功能    B) 语句的功能
   C) 数据的状态    D) 模块的功能

A  B  C  D  
5. 
下列叙述中,不属于测试的特征的是
   A) 测试的挑剔性    B) 完全测试的不可能性
   C) 测试的可靠性    D) 测试的经济性

A  B  C  D  
6. 
已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为(    )。
   A) 1    B) 2
   C) 3    D) 9

A  B  C  D  
7. 
下面关于对象概念的描述中错误的是
   A) 对象就是C语言中的结构体变量
   B) 对象代表着正在创建的系统中的一个实体
   C) 对象是一个状态和操作(或方法) 的封装体
   D) 对象之间的信息传递是通过消息进行的

A  B  C  D  
8. 
信息隐蔽的概念与下述哪一种概念直接相关______。
   A) 软件结构定义    B) 模块独立性
   C) 模块类型划分    D) 模拟耦合度

A  B  C  D  
9. 
用树形结构表示实体之间联系的模型是(    )。
   A.关系模型    B.网状模型    C.层次模型    D.以上三个都是

A  B  C  D  
10. 
以下(    )不能存入在资源文件里。
   A.独立的字符串       B.位图
   C.声音文件    D.事件过程

A  B  C  D  
11. 
下列选项中不属于软件生命周期开发阶段任务的是(    )。
   A) 软件测试    B) 概要设计
   C) 软件维护        D) 详细设计

A  B  C  D  
12. 
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是
   A) ABCED    B) DCBEA    C) DBCEA    D) CDABE

A  B  C  D  
13. 
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符号不属于数据流图的是________。
   (A) 控制流
   (B) 加工
   (C) 数据存储
   (D) 源和潭

A  B  C  D  
14. 
在下列有关测试的论述中,错误的是________。
   (A) 证明错误存在
   (B) 证明错误不存在
   (C) 发现程序的错误
   (D) 提供诊断信息

A  B  C  D  
15. 
下列程序段错误的是(    )。


A  B  C  D  
16. 
关系表中的每一横行称为一个
   A) 元组    B) 字段    C) 属性    D) 码

A  B  C  D  
17. 
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(    )。
   A.模块间的关系    B.系统结构部件转换成软件的过程描述
   C.软件层次结构    D.软件开发过程

A  B  C  D  
18. 
假定有以下两个过程:
   Private  Sub  PPP(aAsSingle,b As Single)
   a=a+b
   Printa,b
   b=a+b
   Printa,b
   End Sub
   Private Sub Form_Activate( )
   x=18
   Call  PPP((x),(x))
   PrintX:
   End Sub
   则以下说法中不正确的是(    )。
   A.虚参是a和b,两个实参(x)和(x)允许重名
   B.虚参是a和b,实参(x)表示传值调用
   C.虚参是a和b,实参(x)表示是非传址调用
   D.虚参是a和b,两个实参(x)和(x)不允许重名

A  B  C  D  
19. 
下列关于图片框的语句中不正确的是(    )。
   A) Picture1.Picture=Picture2.Picture
   B) Picture1.Picture=LoadPicture("C:\v60\Arw04Up.ico")
   C) Picture1.Print Tab(20); CurrentX, CurrentY
   D) Picture1.Stretch=True

A  B  C  D  
20. 
下面的数组声明语句中正确的是
   A) Dim gg[1,5]As String    B) Label1.BackStyle=1
   C) Dim gg(1 To 5)As String   D) Dim gg[1:5,1:5]As String

A  B  C  D  
21. 
在设计菜单时,如果要在菜单中加入一个菜单分隔项,则菜单分隔项的标题必须设置为______。
   A) 加号(+)    B) 减号(-)    C) 星号(*)    D) 感叹号(!)

A  B  C  D  
22. 
窗体上有名称为Command1的命令按钮和名称为Text1的文本框(    )。
   Private Sub Command1_Click()
   Text1.Text="程序设计"
   Text1.SetFocus
   End Sub
   Private Sub Text1_GotFocus()
   Text1.Text="等级考试"
   End Sub
   运行以上程序,单击命令按钮后(    )。
   A) 文本框中显示的是“程序设计”,且焦点在文本框中
   B) 文本框中显示的是“等级考试”,且焦点在文本框中
   C) 文本框中显示的是“程序设计”,且焦点在命令按钮上
   D) 文本框中显示的是“等级考试”,且焦点在命令按钮上

A  B  C  D  
23. 
假定一个工程由一个窗体文件Form1和两个标准模块文件Model1及Model2组成。
   Model1代码如下:
   Public x As Integer
   Public y As Integer
   Sub S1()
   x=1
   S2
   End Sub
   Sub S2()
   y=10
   Form1. Show
   End Sub
   Model2的代码如下:
   Sub Main()
   S1
   End Sub
   其中Sub Main被设置为启动过程。程序运行后,各模块的执行顺序是(    )。
   A.Forml→Model1→Model2    B.Model1→Model2→Form1
   C.Model2→Model1→Form1    D.Model2→Form1→Model1

A  B  C  D  
24. 
通常情况下,垂直滚动条的值是
   A) 由下往上递增    B) 由上往下递增
   C) 由左到右递增    D) 由右到左递增

A  B  C  D  
25. 
不能脱离控件(包括窗体)而独立存在的过程是(    )。
   A.事件过程    B.通用过程    C.Sub过程    D.函数过程

A  B  C  D  
26. 
执行以下程序段
   a$="abbacddcba"
   For i=6 To 2 Step-2
     X=Mid(a,i,i)
     Y=Left(a,i)
     Z=Right(a,i)
     z=UCase(X&Y&z)
   Next i
   Print z
   输出结果为(    )
   A.ABC    B.BBABBA    C.ABBABA    D.AABAAB

A  B  C  D  
27. 
在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后输写如下程序:
   Private Sub Command1_Click()
   Dim x,y,z As Integer
     x=5
     y=7
     z=0
     Text1.Text=""
     Call Funl(x,y,z)
     Text1.Text=Str(z)
   End Sub
   Sub Funl(ByVal a As Integer,ByVal b As Integer,c As Integer)
     C=a+b
   End Sub
   程序运行后,如果单击命令按钮,则在文本框中显示的内容是
   A) 0    B) 12    C) Str(Z)     D) 没有显示

A  B  C  D  
28. 
下列程序
   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
   程序运行后,单击命令按钮,则窗体上显示的内容是________。
   (A) abcd1234
   (B) a1b2c3d4
   (C) a1b1c1d1
   (D) 1234abcd

A  B  C  D  
29. 
对用MsgBox显示的消息框,下面______是错的。
   A) 可以有一个按钮    B) 可以有两个按钮
   C) 可以有三个按钮    D) 可以有四个按钮

A  B  C  D  
30. 
下列程序在运行时输出的结果是(    )。
   Option Base 1
   Private Sub Form_Click()
   Dim x(10)
   For i=1 To 10
   x(i)=10-i+1
   Next i
   For i=10 To 1 Step-2
   Print x(i)
   Next i
   End Sub
   A) 1 3 5 7 9    B) 9 7 5 3 1
   C) 1 2 3 4 5 6 7 8 9 10    D) 10 9 8 7 6 5 4 3 2 1

A  B  C  D  
31. 
以下能判断是否到达文件尾的函数是(    )。
   A) BOF    B) LOC    C) LOF   D) EOF

A  B  C  D  
32. 
下列程序段的执行结果为

   m=2

   n=3

   Do

   m=m+n

   n=n+1

   Loop While m<10

   Print m;n
   A) 1 5    B) 14 6    C) a  b    D) 10 25

A  B  C  D  
33. 
下列的程序段执行后,x的值为______。
Private Sub Command1_Ciick()
   x =0
   for i =1 To 10
       for j = i To 10
           x=x+1
       Next j
   Next i
   Print x
End Sub
   A) 50    B) 55    C) 5    D) 105

A  B  C  D  
34. 
单击一次命令按钮后,下列程序的执行结果是
   Private Sub Command1_Click()
     s=P(1) + P(2) + P(3) + P(4)
     Print s
   End Sub
   Public Function P(N As Integer)
     Static Sum
     For i=1 To N
      Sum=Sum + i
     Next i
   P=Sum
   End Function
   A) 15    B) 25    C) 35 D) 45

A  B  C  D  
35. 
下列说法不正确的是(    )。
   A) 滚动条的重要事件是Change和Scroll
   B) 框架的主要作用是将控件进行分组,以完成各自相对独立的功能
   C) 组合框是组合了文本框和列表框的特性而形成的一种控件
   D) 计时器控件可以通过对Visible属性的设置,在程序运行期间显示在窗体上

A  B  C  D  
二、填空题

36. 
设一棵完全二叉树共有500个结点,则在该二叉树中有             个叶子结点。

37. 
在面向对象方法中,______描述的是具有相似属性与操作的一组对象。

38. 
面向对象的模型中,最基本的概念是对象和              

39. 
数据结构分为逻辑结构和存储结构,循环队列属于______结构。

40. 
度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为______。

41. 
要使命令按钮控件不可用,应设置的属性是______。

42. 
设A=2,B=-2,则表达式A/2+1>B+5OrB*(-2)=6的值是______。

43. 
执行下面的程序段后,变量S的值为______。
   S=5
   For i=2.6 To 4.9 Step 0.6
   S=S+1
   Next i

44. 
设有下列程序,查找并输出该数组中的最小值,请在空白处填上合适的代码,将程序补充完整。
   Option Base 1
   Private Sub Command1_Click()
   Dim arr1
   Dim Min As Integer,i As Integer
       arr1=Array(12,435,76,-24,78,54,866,43)
       Min=arr1(1)
       For i=2 To 8
           If arr(i)<Min Then______
       Next i
       Print"最小值是:";Min
   End Sub

45. 
窗体中有一个命令按钮,然后编写下列事件过程:
   Private Sub Command1_Click()
       x=0
       Do Untilx=-1
           a=InputBox("请输入第一个数字a的值")
           a=Val(a)
           b=InputBox("请输入第二个数字b的值")
           b=Val(b)
           x=InputBox("请输入第三个数字x的值")
           x=Val(x)
           a=a+b+x
       Loop
       Print a
   End Sub
   在程序运行后,单击命令按钮,在对话框中分别输入5,4,8,5,8,-1,输出的结果是______。

46. 
用Line Input语句从顺序文件读出数据时,每次读出一行数据。一行是指遇到______分隔符,即认为一行的结束。

47. 
在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
   Option Base 1
   Private Sub Command1_Click()
   Dim a(10) As Integer
   For i=1 To 10
   a(i)=i
   Next
   Call swap(               )
   For i=1 To 10
   Print a(i)
   Next
   End Sub
   Sub swap(b() As Integer)
   n=Ubound(b)
   For i=1 To n/2
   t=b(i):b(i)=b(n):b(n)=t
              
   Next
   End Sub
   上述程序的功能是:通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,……。请填空。

48. 
下面的程序执行时,可以从键盘输入一正整数,然后把该数的每位数字按逆序输出。例如:输入7685,则输出5867;输入1000,则输出0 0 0 1。请填空。
   Private Sub Command1_Click()
   Dim x As Integer
   x=InputBox("请输入一个正整数")
   While x>              
   Print x Mod 10;
   x=x\\10
   Wend
   Print             
   End Sub

答题卡