有下列程序:   main()   {int k=5,n=0;   while(k>0)    {switch(k)    {default:break;

admin2012-12-03  19

问题 有下列程序:        
  main()        
  {int k=5,n=0;        
  while(k>0)        
      {switch(k)        
          {default:break;        
           case 1:n=n+k;        
           case 2:        
           case 3:n+=k;        
      }        
      k--;        
  }        
  printf(""%d\n"",n);        
  }        
  程序运行后的输出结果是(    )。

选项 A、0
B、4
C、6
D、7

答案D

解析 本题主要考查while循环语句和switch case语句的使用万法。其执行步骤为:k=5时,跳出switch语句,然后k自减1;当k=4时,跳出switch语句.然后k自减1;当k=3时,n=n+k=0+3=3,跳出switch语句,然后k自减1;当k=2时,n=n+k=3+2=5,跳出switch语句,然后k自减1;当k=1时,case 1:n=n+k=5十1=6,没有break继续执竹case 3;n=n+k=6+1=7,跳出switch语句,然后k自减1;当k=0对,退出循环,所以输出结果为7。
转载请注明原文地址:https://kaotiyun.com/show/iuPp777K
0

最新回复(0)