单选题 运行下列程序,在立即窗口显示的结果是
Private Sub Commando_Click( )
Dim I As Integer,J As Integer
F0r I=2 To 10
For J=2 To I/2
If I mod J=0 Then Exit For
Next J
If J>Sqr(I)Then Debug.Print I;
Next I
End sub
【正确答案】 D
【答案解析】[解析] 本题考查的是循环嵌套。
循环初值:I=2,J=2,I/2=1,J>I/2,不执行内层的For循环,直接执行If—Then语句,sqr(I)<J,输出I的值2;
I=3,J=2,I/2=1,不会执行内层的for循环,sqr(I)<J,输出I的值3;
I=4,J=2,I/2=2,内层For循环执行一次,I Mod J=0,退出内层循环,sqr(I)=J,无输出;
I=5,J=2,I/2=2,执行内层For循环,I Mod J=1,J=3,不满足内层循环条件,退出内层循环,sqr(I)<J,输出I的值5;
I=6,J=2,I/2=3,执行内层For循环,I Mod J=0,退山内层循环,sqt(I)>J,无输出;
I=7,J=2,I/2=3,执行内层For循环,I Mod J=1,J=3,第2次执行内层For循环,I Mod J=1,J=4,不满足循环条件,内层For循环结束,sqr(I)<J,输出I的值7;
I=8,J=2,I/2=4,执行内层For循环,I Mod J=0,退出内层循环,sqr(I)>J,无输出;
I=9,J=2,I/2=4,执行内层For循环,I Mod J=1,J=3,第2次执行内层For循环,I Mod J=0,退出内层序号,sqr(I)=J,无输出;
I=10,J=2,I/2=5,执行内层For循环,I Mod J=0,退出内层循环,sqr(I)>J,无输出。