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

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

(27) 下列程序段的执行结果为
a=5
For k=1 To 0
    a=a + k
Next k
Print k; a
A) -1 6       
B) -1 16
C) 1 5       
D) 11 21
解析:此题是考查For循环结构语句。
For循环有两种格式,其中一种格式是:
For 循环变量=初值 To 终值 Step[步长]
    语句
    [Exit For]
    语句
Next[循环变量]
此循环语句的执行过程为:"循环变量"首先取得"初值",检查是否超过"终值",如果超过,就一次也不循环而跳出循环,属于"先检查后执行"的类型。现在来看程序段,For k=1 To 0中,初值为1,终值为0,显然当"循环变量"首先取得"初值"1,检查后超过"终值"0,所以一次也不执行,即最后执行Print时,k=1,a=5。
(28) 下列程序段的执行结果为
a=3
b=1
For I=1 To 3
   f=a + b
   a=b
   b=f
   Print f
Next I
A) 4 3 6       
B) 4 5 9
C) 6 3 4       
D) 7 2 8
解析:本题考查的是For循环结构语句,现在看程序段是如何运行的。
开始a=3,b=1。For循环中步长缺省值为1,循环变量I的初值为1,终值为3,所以此循环结构可以循环3次。
第一次循环后,结果为:f=4,a=1,b=4
第二次循环后,结果为:f=5,a=4,b=5
第三次循环后,结果为:f=9,a=5,b=9
所以每循环一次,便输出f当前值,循环3次即便输出3个f值分别为4,5,9。
(29) 下列程序段的执行结果为
I=9
x=5
Do
   I=I + 1
   x=x + 2
Loop Until I >=7
Print "I="; I
Print "x="; x
A) I=4x=5      
B) I=7x=15
C) I=6x=8      
D) I=10x=7
解析:此题用的是Do循环结构,其格式为:
Do      [语句块]
  [Exit Do]
Loop Until 循环条件
此循环由于"先执行后检查",所以至少执行一次。本题中,程序运行到循环条件I>=7的值为True,才停止。所以当程序结束运行后I=10,x=7。
(30) 以下程序段运行时从键盘上输入字符"-",则输出结果为
op$=InputBox("op=")
If op$="+" Then a=a + 2
If op$="-" Then a=a - 2
Print a
A) 2        
B) -2
C) 0        
D) +2
解析:此题是根据用户的输入计算变量a的值并显示。当输入字符"-"时,第一个If条件不成立,跳过,而第二个If语句条件满足,因此执行a=a-2,使a=-2。所以选项B)是正确答案。
(31) 以下程序段的输出结果为
Dim l, a(10) , p(3)
k=5
For i=0 To 10
     a(i) =i
Next i
For i=0 To 2
     p(i) =a(i  (i + 1) )
Next i
For i=0 To 2
    k=k + p(i)  2
Next i
Print k
A) 20       
B) 21
C) 56       
D) 32
解析:第一个循环对数组a()进行赋值,第二个循环对数组p()进行赋值,第三个循环对k进行累加,k的初值等于5,第一次循环k=k+p(0) *2=5,……,第三次循环k=k+p(2) *2=21并输出,所以选项B)正确。
(32) 下列程序的执行结果为
Private Sub Command1_Click()
   Dim x As Integer, y As Integer
   x=12: y=20
   Call Value(x, y)
   Print x; y
End Sub
Private Sub Value(ByVal m As Integer, ByVal n As Integer)
   m=m * 2: n=n - 5
   Print m; n
End Sub
A) 20  12      
   20  15 
B) 12  20     
   12  25
C) 24  15      
   12  20 
D) 24  12       
    12  15
解析:被调过程Value的两个参数m和n前面都有关键字"ByVal"修饰,即在主调过程用此过程时,实参与形参之间是以传值方式传递信息的,而当实参与形参以传值方式相结合时,形参的改变并没有影响到实参,单单就这一点来说,当程序代码执行主调过程中的Print x;y语句时,x和y的值应不变,还是12和20,这样就能够排除选项A)和选项B)了。当主调过程调用被调过程时,把实参x、y的值分别传给形参m和n,这就是说此时形参m值为12,n值为20,执行被调过程中的m = m * 2: n = n - 5语句后,m值为24,n值为15,所以Print m; n后, 程序输出的结果为24和15。最后程序输出的结果如选项C)所示。

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

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

考试全流程