单击命令按钮,下列程序的执行结果是  Private Sub Blck (x As Integer)    x = x * 2 + l    If x <6 Then      Call Blck(x)    End If    x = x *

admin2009-01-15  28

问题 单击命令按钮,下列程序的执行结果是  Private Sub Blck (x As Integer)    x = x  *  2  +  l    If x <6 Then      Call Blck(x)    End If    x = x  *  2  +  1    Print x;  End Sub  Private Sub Commandl_Click()    Blck 2  End Sub

选项 A、23  47
B、10  36
C、22  44
D、24  50

答案1

解析 考查考生对过程的理解。@解析@此题在函数调用过程中采用了简单递归的方式,具体流程如下:主调过
程调用Blck过程,把实参2传递给Blck过程中的形参x,由x = x * 2 + 1 语句推出x=
5,此时满足Blck过程体中判断语句的判断条件,执行Call Blck(x)语句,第二次调用
Blck过程。由x = x * 2 + 1语句得到x值为11,判断条件11<6为假,故返回此调用
过程,执行x = x * 2 + l语句,的x = 23并输出,结束此次调用过程。由于两次调用
Blck过程,第二次仍返回调用时的断点语句,即执行x=x * 2 + 1,Print x,输出x的值
为47,返回到主调过程,两次输出为2347。
转载请注明原文地址:https://kaotiyun.com/show/r02p777K
0

最新回复(0)