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

admin2010-03-30  24

问题 单击命令按钮时,下列程序的执行结果是       Private Sub Book( x As Integer)            x=x*2+1            If x<6 Then               Call Book(x)             End If             x=x * 2 + 1             Print x;       End Sub       Private Sub Command2_Click( )            Book 2      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,判断条件11<6为假,故返回此调用过程执行x=x*2+1语句得x=23并输出,结束此次调用过程。由于两次调用Book过程,第二次仍返回调用时的断点语句,即执行x=x*2+ 1,Print x,输出x的值为47,返回到主调过程,结束程序,两次输出为23  47,正确答案为选项A。注意: 递归调用法是Visual Basic中一种特殊的函数调用方法。这种函数采用嵌套调用函数本身的方式调用函数。
转载请注明原文地址:https://kaotiyun.com/show/DEmp777K
0

最新回复(0)