itgle.com
更多“有下列程序段:int n,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);为使此程序段不陷 ”相关问题
  • 第1题:

    有以下程序段: int n,t=1,s=0; scanf("%",&n); do{ s=s+t; t=t-2;} while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是( )。

    A.任意正奇数

    B.任意负偶数

    C.任意正偶数

    D.任意负奇数


    正确答案:D
    解析:要使程序段不陷入死循环,必须存在终止循环的条件“t=n”,由于t的初始值为1,且每执行一次循环都会使t的值减2,故执行本程序后t有可能的最大值为-1,然后,每循环一次就减2,所以键盘输入的n的值必须是t的值之一,即为任意负奇数。

  • 第2题:

    有以下程序段: int n,t=1,S=0; scanf("%d",&n); do{s=s+t;t=t-2;}while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是( )。

    A.任意正奇数

    B.任意负偶数

    C.任意正偶数

    D.任意负奇数


    正确答案:D
    解析:为了使程序不陷入死循环,则while的条件不能一直为真。t的初值为1,循环体中语句t=t-2使t变为负奇数-1、-3、-5…,而while的循环条件是t不等于n,若从键盘输入的数据为A、B、C三项时,则t永远不等于n,即循环条件一直为真,程序陷入死循环。只有输入负奇数时,t会在某个时候等于n,使得while条件不成立,终止循环。

  • 第3题:

    8、有以下程序段: int n,t=1,s=0; scanf("%d",&n); do{ s=s+t; t=t-2; }while (t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是().

    A.任意正奇数

    B.任意负偶数

    C.任意正偶数

    D.任意负奇数


    D do-while 循环,首先s=s+t=0+1=1,t=t-2=-1,然后判断,然后执行循环体,t=t-2说明t递减,而且t都为奇数。所以只要n为负奇数,t就有可能等于它,就可以退出循环了。

  • 第4题:

    有以下程序段: int n, t=1, s=0; scanf("% d", &n); do{s=s+t; t=t-2; )while(t!=n); 为使程序不陷入死循环,从键盘输入的数据应该是______。

    A.任意正奇数

    B.任意负偶数

    C.任意正偶数

    D.任意负奇数


    正确答案:D
    解析:do-while循环是先执行循环体再进行条件判断,当执行了一次循环以后,t变成了-1,每次循环后t都减2,t将永远为负奇数,又循环结束的条件是n=t,因此只有当n为负奇数时才不会陷入死循环。

  • 第5题:

    有下列程序段:

    int n,t=-1,S=0;

    scanf("%d",&n);

    do{s=s+t;t=t-2;}while(t!=n);

    为使此程序段不陷入死循环,从键盘输入的数据应该是( )。

    A.任意正奇数

    B.任意负偶数

    C.任意正偶数

    D.任意负奇数


    正确答案:D
    解析:因为变量t的初始值等于1,经过第一次d。 while循环中,执行t=t-2这条语句一次,所以变量t的值为-1,判断关系表达式t!=n是否成立,如果关系表达式成立,则执行第二次循环,再执行t=t-2这条语句一次,所以变量t的值为-3,接着再判断关系表达式t!=n是否成立,如果关系表达式成立,执行第三次循环,否则退出循环。由此可知,所以只要输入变量n的值为负奇数,则一定会使t==n成立,则退出do while循环。