问题 单项选择题

程序代码如下,当单击窗体上的Command1控件时,窗体上输出的结果是( )。
Private Sub Command1_Click()
Dim Y As Integer,I As Integer
Dim A(7)As Integer
Y=18:I=0
Do
A(I)=Y Mod 2
I=I+1
Y=Y\2
Loop Until Y<1
For j=I-1 To 0 Step-1
Print A(j);
Next j
End Sub

A.1 0 0 0

B.1 0 0 1 0

C.0 0 1 1 0

D.1 0 1 0 0

答案

参考答案:B

解析: 程序中Do-Loop循环的执行过程是:第一次I=0,Y=18,把Y Mod 2的值0存入a(0),I加1使I值变成1,Y\2存入Y,从而使Y变成9,Y为9不小于1,依旧循环:第二次I=1,Y=9,把Y Mod 2的值1存入a(1),i加1变成2,Y\2存入Y,从而使 Y变成4,Y为4不小于1,依旧循环:第三次I=2,Y=4,把Y Mod 2的值0存入a(2),i值加1变成3,Y\2存入Y,从而使Y变成2,Y为2不小于1,依旧循环;第四次I=3,Y=2,把Y Mod 2的值0存入a(3),i值加1变成4,Y\2存入Y,从而使Y变成1,Y为1不小于 1,依旧循环:第五次I=4,Y=1,把Y Mod 2的值1存入a(4),i值的加1变成5,Y/2存入 Y,从而使Y变成0,Y为0小于1,循环退出。再通过For循环从a(4)到a(0)输出数组元素,结果是“1 0 0 1 0”。

单项选择题
单项选择题