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

admin2009-01-15  28

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

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

答案1

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

最新回复(0)