[单项选择题] 执行以下的循环后输出的值为( )。 public class Sun public static void main (String args[ ]) int m

14 查阅

[单项选择题] 执行以下的循环后输出的值为( )。

public class Sun

public static void main (String args[ ])

int m=1000, s=0, n=0;

do

n=n+l;

s=s+(int)Math.pow(2,n);

while (s<=m);

System.out.println("n="+n+","+"s="+s);

A.n=9, s=1000

B.n=8, s=1022

C.n=9, s=1022

D.n=8, s=1000

参考答案:

C

本题考查对do-while循环的理解。本题完成的功能是求当20+21+22+...+2n最少需要多少项时才能满足大于数值m。 m=1000,当程序运行到第8次时,循环测试条件仍然为真,所以继续执行1次,当执行到第 9次时,s的值已经超过了1000。故本题答案是C。

计算机考试