问题 单项选择题

单击命令按钮,下列程序的执行结果是  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

答案

参考答案:A

解析:【命题目的】考查考生对过程的理解。 【解题要点】此题在函数调用过程中采用了简单递归的方式,具体流程如下:主调过程调用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。

单项选择题
单项选择题 A1/A2型题