2007年9月全国计算机等级考试二级VB模拟试题(3)及答案

出处:Examlink 作者:刀断水 日期:2007年09月13日 10时05分

(25) 运行下面的程序后,输出的结果为
Cls
Dim t(5, 5) as Integer
For i=1 To 5: t(i, i) =1: Next
For i=1 To 5
   For j=1 To 5
      Print t(i, j) ,
   Next j
   Print
Next I

A)1  1  1  1  1     
  1  1  1  1  1      
  1  1  1  1  1       
  1  1  1  1  1        
  1  1  1  1  1 
B) 1
        1
           1
              1        
                  1
C)1  0  0  0  0     
  0  1  0  0  0
  0  0  1  0  0
  0  0  0  1  0
  0  0  0  0  1
D) 1  1  1  1  1
【命题目的】考查考生对循环结构的掌握。
【解题要点】程序以矩阵格式输出一个二维数组,由程序可知,数组的主对角线上的元素赋值为1,其他元素未赋值,初值为0。所以输出结果如选项C)所示。
【考点链接】Do…Loop循环结构。
(26) 以下属于Visual Basic中合法的数组元素的是
A) K8       
B) k[8]
C) k(0)       
D) k[8]
【命题目的】考查考生对数组知识的掌握。
【解题要点】数组元素的正确引用。
【错解分析】在Visual Basic中,数组元素一般形式为x(整数),括号中的整数是一个确定值,而且数组名x后的圆括号不能省去,也不能由其他的括号代替,所以正确答案是选项C)。
【考点链接】控件数组的引用。
(27) Sub过程与Function过程最根本的区别是
A) Sub过程的过程不能返回值,而Function过程能返回值
B) Function过程可以有形参,Sub过程不可以
C) Sub过程可以使用Call语句直接使用过程名调用,而Function过程不可以
D) 两种过程参数的传递方式不同
【命题目的】考查考生对函数和过程的理解。
【解题要点】在Visual Basic中有两类过程,一类是系统提供的内部函数和事件过程;另一类是用户根据自己的需要定义的,供事件过程的多次调用。在第二类过程中,涉及最多的是子过程。它们的共同点都是完成某种特定功能的一组程序代码;不同的是函数是可以直接返回值的特殊过程,所以函数过程定义时有返回值的类型说明。
两者最大的区别就是Sub过程的过程不能直接返回值,而Function过程能直接返回值。
【考点链接】函数和过程的定义及引用。
(28) 单击命令按钮时,下列程序的执行结果是
Private Sub Command1_Click()
   Dim a As Integer, b As Integer, c As Integer
   a=3
   b=4
   c=5
   Print SecProc(c, b, A)
End Sub
Function FirProc(x As Integer, y As Integer, z As Integer)
   FirProc=2 * x + y + 3 * z+2
   End Function
   Function SecProc(x As Integer, y As Integer, z As Integer)
      SecProc=FirProc(z, x, y) + x+7
   End Function
A) 20       
B) 25
C) 37       
D) 32
【命题目的】考查考生对函数调用的应用。
【解题要点】此题程序代码中用了两层调用,我们对这样的问题要多加小心,不能掉以轻心,千万不要把实参和相对应的形参弄混淆。主调过程Command1_Click输出的是SecProc(c, b, a)的返回值,调用过程SecProc时,主调过程分别把实参c、b、a地址传给形参x、y、z,此时在过程SecProc中,SecProc=FirProc(a,c,b) +7。由此看出,程序段执行此语句时,将调用过程FirProc。把实参a,c,b的地址分别传给形参x、y、z,此时在过程FirProc中,FirProc = 2 * x + y + 3 * z+2,所以FirProc(a,c,b)=6+4+15+2=27,SecProc(a,c,b)=27+3+7=37。
【考点链接】过程的定义和调用。

(29) 有如下事件过程:
Function UNC (ByVal x As Integer, ByVal y As Integer) As Integer
   Do While y <> 0
      sic=x / y
      x=y
      y=sic
   Loop
   UNC=x
End Function
以下是该函数的调用过程,该程序的运行结果是
Private Sub Command1_Click()
   Dim a As Integer
   Dim b As Integer
   a=12
   b=2
   x=UNC (a, b)
   Print x
End Sub
A) 0        
B) 6
C) 2        
D) 80
【命题目的】考查考生对函数的定义和调用的运用。
【解题要点】本题考查函数调用和输出格式的语句。调用UNC的过程如下:
x=12,y=2时,sic=6,x=2,y=6;
x=2,y=6时,sic=0,x=6,y=0;
y=0,所以跳出循环,输出x=6并结束程序。
【考点链接】过程的定义和调用。
(30) 有如下程序:
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
程序运行后,输出的结果为
A) 4  6       
B) 6   6
C) 8  8       
D) 10  12
【命题目的】考查考生对函数及函数参数的运用。
【解题要点】在Sub过程中,程序段先定义了3个Integer型变量k,m,op,并给k赋给初值4,m的初值为1,然后调用事件过程PPC,并将它的值赋给op;在事件过程PPC中定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在PPC中,将m,I定义为静态变量,第一次调用后的值仍然保留,但是m,I分别都有赋值语句,将它们的值变为0,2,所以返回值不变。
【考点链接】过程的定义和调用,以及参数传递方式的选择。

最后更新时间:2008-05-28 12:15:56
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
您可以用以下几种方式找到此文章

考试全流程