执行以下的循环后输出的值为( )。 public class Sun { public static void main(String args[ ]) { int m=1000,s=0,n=0;

admin2010-02-22  22

问题 执行以下的循环后输出的值为(    )。    public class Sun    {      public static void main(String args[ ])      {          int m=1000,s=0,n=0;          do{                  n=n+1;                  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

答案4

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

随机试题
最新回复(0)