问题 单项选择题

运行下述语句后,输出的结果是( )。
Option Base 1
Dim a
i=1
a = Array(1,-2,9,0,-1,9)
Do
k = a(i)
For m = 10 To k Step -2
n=k+m
Next m
Print n + m
i=i+1
Loop While Abs(m + n)<>27

A.3 27-8

B.3-8 27

C.-8 27 3

D.-8 3 27

答案

参考答案:B

解析: 本程序中,外层循环是Do…Loop While循环,内层循环是for循环。程序执行过程如下。
①当i=1,k=a(i)=1,for循环执行5次,n=3,m=0;Print n+m→输出3;i=i+1=2。②当i=2,k=a(i)=-2,for循环执行7次,n=-4,m=-4;Print n+m→输出-8;i=i+1=3。③当 i=3,k=a(i)=9,for循环执行1次,n=19,m=8;Print n+m→输出27;i=i+1=4;此时条件成立,退出Do循环。

配伍题
填空题