niusouti.com
更多“有以下程序main() {int i=0,s=0;for(;;){if(i==3‖i==5)continue;if(i==6)break;i++;s+=i;};print ”相关问题
  • 第1题:

    有以下程序

    main( )

    { int i=0,x=0;

    for (;;)

    { if(i==3||i==5) continue;

    if (i==6) break;

    i++;

    s+=i;

    };

    printf("%d\n",s);

    }

    程序运行后的输出结果是

    A.10

    B.13

    C.21

    D.程序进入死循环


    正确答案:D
    解析:由于程序中for循环没有条件,只有靠其内部的break跳转循环,但在循环执行二次之后,i的值变为3,会使循环一直执行if(i= =3| | i= =5)continue这条语句,使程序进入死循环。

  • 第2题:

    有以下程序 main() { int i=0,s=0; for(;;) { if(i==3‖i==5) continue; if(i==6) break; i++; s+=i }; printf("%d\n",s) } 程序运行后的输出结果是

    A.10

    B.13

    C.21

    D.程序进入死循环


    正确答案:D
    解析:本题考核的知识点是for循环,continue语句和break语句的运用。程序中for循环中省略了判断退出循环的表达式,for循环将由里面的break语句控制是否结束循环,第一次循环,第一条if语句后面括号里的表达式的值为假,所以该if语句不被执行,执行下面的第二条语句,此时该if语句表达式的值为假,所以该if语句也不执行,执行下面的语句,i++、s+=i,执行完毕后i的值为1,s的值为1,如此循环,直到第三次之后i,s的值都为3,继续第四次循环,显然这时满足第一条if语句的,执行后面的continue;该次循环结束从头开始下次循环,而i的值为3一直没有改变,所以第一条语句始终要执行,因此for循环将一直循环下去,所以,4个选项中选项D符合题意。

  • 第3题:

    3、下面程序执行后,s的值是()。 int i=0,s=0; for (;;) { if(i==3||i==5) continue; if (i==6) break; i++; s+=i; };

    A.10

    B.13

    C.21

    D.死循环


    9

  • 第4题:

    以下程序的输出结果是( )。 main { int i=0,S=0; for(;;) { if(i==3 ||i==5)continue; if(i==6)break; i++; s+=i: }; printf("%d\n",s); }

    A.10

    B.13

    C.21

    D.程序陷入死循环


    正确答案:D
    当i一0时,两个if都不满足,所以都不执行,直接执行i++语句,此时i为1,S为l,返回for循环中;当i=1时,同样不执行两个if语句,执行i++后,i=2,s=3,返回for循环中;i=2时也不执行if语句,执行i++后,i=3,s=6,接着又执行for循环,此时符合第一个if语句,执行到continue时不再执行i++了,continue是跳出本次循环,接着下次循环。永远这样执行下去,i的值永远为3,故选择D选项。

  • 第5题:

    有以下程序 main() { int i=0,s=0; for(;;) { if(i==3||i==5)continue; if(i==6) break; i++; s+=i; }; printf("%d\n",s); } 程序运行后的输出结果是______。

    A.10

    B.13

    C.21

    D.程序进入死循环


    正确答案:D