执行以下程序后i的值为( )。 main() { int x,i; for(i=l,x=1;i<=36;i++) { if(x>=20) break; if(x%5==1) { x+=5;continue

admin2010-05-22  23

问题 执行以下程序后i的值为(  )。    main()    {  int x,i;    for(i=l,x=1;i<=36;i++)    {  if(x>=20)  break;       if(x%5==1)    {  x+=5;continue;  }    x-=5;    )    printf("%d",i);    }

选项 A、3
B、4
C、5
D、6

答案4

解析 第1次循环执行情况如下:
   i=1,x=1,判断i<=36为真执行循环体。
   x=1,判断x>=20为假。
   判断x%5==1为真,执行x+=5;x值为6,执行continue;跳过本次循环余下的语句,即不执行X-=5:。
   执行i++,i=2。
   第2次循环执行情况如下:
   i=2,判断i<=36为真执行循环体。
   x=6,判断x>=20为假。
   判断x%5==1为真,执行x+=5:x值为11,执行continue;跳过本次循环余下的语句,即不执行X-=5;。
   执行i++,i=3。
   第3次循环执行情况如下:
   i=3,判断i<=36为真执行循环体。
   x=11,判断x>=20为假。
   判断x%5==1为真,执行x+=5;x值为16,执行continue;跳过本次循环余下的语句,即不执行X-=5:。
   执行i++,i=4。
   第4次循环执行情况如下:
   i=4,判断i<=36为真执行循环体。
   x=16,判断x>=20为假。
   判断x%5==l为真,执行x+=5;x值为21,执行continue;跳过本次循环余下的语句,即不执行X-=5;。
   执行i++,i=5。
   第5次循环执行情况如下:
   i=5,判断i<=36为真执行循环体。
   x=21,判断x>=20为真。
    执行break;,跳出循环体,即结束循环。最后i=5,选项C正确。
转载请注明原文地址:https://kaotiyun.com/show/rVWp777K
0

最新回复(0)