更多“下面程序段的运行结果是 。 x=2; do{printf("*");x--;}while(!x==0);”相关问题
  • 第1题:

    有以下程序段: int x=3; do { printf("%d",x-=2); } while(!(--x)); 其输出结果是 ______ 。

    A.1

    B.3 0

    C.1-2

    D.死循环


    正确答案:C
    解析:本题中循环执行了两次,第一次,执行完printf语句后,x=1,而-x是先自减后执行语句,所以(!(-x))的值为非零,所以又执行了一次。第二次x的值为-2,-x的值为-3,求非后,值为0,跳出循环。

  • 第2题:

    有下列程序: inelude main() { int x=8; for(;x>0;x--)

    有下列程序: #inelude <stdio.h> main() { int x=8; for(;x>0;x--) { if(x%3) {printf("%d,",x--);continue;} printf("%d,",--x); } } 程序的运行结果是( )。

    A.7,4,2

    B.8,7,5,2

    C.9,7,6,4

    D.8,5,4,2


    正确答案:D
    解析:“x--”表示先执行程序,再令x的值减1;而“-x”表示令x的值减1,再执行程序。x=8时,x%2为非0值,执行语句{printtr("%d,", x--); continue;),输出“8,”,此时经过x--,x的值变为7,跳出此次循环;执行x--,x=6,x%3=0,后面语句不执行,执行语句print("%d,",--x);,输出“5,”:执行for语句中的x--,得到x=5,输出“5,”判断x%3,输出“4,”,执行两次x--后,x=2,执行{printf("%d,",x--);continue;}后,输出“2,”;然后执行两次x-后,x=0,不符合“x>0”,循环全部结束。

  • 第3题:

    下列程序的执行结果是_____。main(){ int x=23; do { printf("%d",x--);} while(!x);}

    A.321

    B.23

    C.不输出任何内容

    D.陷入死循环


    正确答案:B

  • 第4题:

    下面程序段的执行结果是( )。 int x=10; for(;x;x--) { if(x%3) continue; printf("%d",x); }

    A.875421

    B.963

    C.741

    D.852


    正确答案:B
    解析:本题的for循环省略了第一个表达式,即for没有任何初始化动作;第二个表达式x的意思是只要x非0,则循环继续;第三个表达式让x在每次循环结束时减1。x初始为10,然后进入循环体,判断x是否能被3整除,不能整除则执行continue;语句进入下一次循环,能整除则输出x。故最终输出的结果为从10递减到1之中能被3整除的数9、6和3。所以正确答案是B。

  • 第5题:

    有以下程序段:

    int x=3;

    do

    {printf("%d",x-=2);)

    while(!(--x));

    其输出结果是( )。

    A.1

    B.3 0

    C.1 -2

    D.死循环


    正确答案:C
    本题考查do-while循环,先执行d0输出的x的值为1,接着执行while语句,此时--x的值为0,x也为0,而非0为1,循环成立,接着执行do输出X值为-2,执行--x后,表达式为-2,而!(--x)为0,退出循环。

  • 第6题:

    有以下程序: include main( ) { int sum=0,x=5; do{sum+=x;}while(!--x); printf("%d\n",sum); } 程序的运行结果是( )。

    A.0

    B.5

    C.14

    D.15


    答案:B
    解析:do-while循环,先执行循环体sum+=x,则sum=sum+x=0+5=5,再执行while中的表达式,结果为0,退出循环,所以运行结果是5。

  • 第7题:

    执行下列程序段后的的输出结果是( ) x=9; while( x>7) { printf("*");x--;}

    A.****

    B.***

    C.**

    D.*


    正确答案:C
    注意执行while循环前,变量x的初值为9.第1次执行while循环,控制循环的条件为“x>7”,这时x为9,条件成立,执行循环体:输出单个“*”,x再减1,x为8。继续循环,控制循环的条件是“x>7',现在x为8,条件成立,输出“*”后x减1,现在x为7。继续循环时,控制循环的条件不满足,退出循环。所以本段程序执行后,输出结果为两个“*”,本题答案应选C。

  • 第8题:

    有下列程序:

    #include<stdi0.h>

    voidmain( )

    {

    intx=8;

    for(;x>0;x--)

    {

    if(x%3){printf("%d,",x--),continue;}

    printf(”%d,”,--x);

    }

    }

    程序的运行结果是( )。

    A.7,4,2

    B.8,7,5,2

    C.9,7,6,4

    D.8,5,4,2


    正确答案:D
    D。【解析】x--后缀表示先用x的值再令x减1,--x前缀表示先将x减1,再执行程序,则输出(X--)继续下一次循环,输出“8,”,此时x自减值变为7,执行x--,x=6,x%3=0,后面语句不执行,执行语句“printf("%d,",--x);”,输出“5”,继续for循环中的x--,得到x=5,输出“5”;判断x%3为真,输出“4”,执行两次x--后,x=2,执行“{printf("%d",x--);cotinue;}”后,输出“2”;然后执行两次x--后,x=0,不符合“x>0”,循环结束。

  • 第9题:

    下面程序段的输出结果是() int x=3; do{printf("%3d",x-=2);}while(!(--x));

    • A、1;2
    • B、3;2
    • C、2;3
    • D、1;-2

    正确答案:D

  • 第10题:

    下列程序运行后的输出结果是()。  #include   main( )  { int x=9;   for(; x>0; x--){   if(x%3==0){     printf(“%d”,--x);     continue;    }   }  }


    正确答案:852

  • 第11题:

    单选题
    有以下程序:#includemain(){ int x=23; do {  printf(%2d,x--); } while(!x);}程序的执行结果是(  )。
    A

    输出321

    B

    输出23

    C

    不输出任何内容

    D

    陷入无限循环


    正确答案: A
    解析:
    “%2d”表示按宽度为2,右对齐方式输出,若不够两位,左边补空格。程序执行过程为:输出x为23,之后x自减得x=22,!x为假,while条件不成立,退出循环。此题需要注意x--和--x的区别,在逻辑表达式中,x--是先传递x的值,再执行自减1,此题就是这种情况,--x是先自减1,再执行传递x的值。答案选择B选项。

  • 第12题:

    单选题
    有以下程序: #include  main() {  int x=8;  for(;x>0;x--)  {   if(x%3)   {    printf(%d,,x--);    continue;   }   printf(%d,,--x);  } } 程序的运行结果是(  )。
    A

    7,4,2,

    B

    8,7,5,2,

    C

    9,7,6,4,

    D

    8,5,4,2,


    正确答案: A
    解析:
    题目中的for循环等价于:
    for(; x>0; x--)
    {
     if(x%3 != 0)
     {
      printf("%d,", x);
      x--;
     }
     else
     {
      --x;
      printf("%d,", x);
     }
    }
    第一次循环,x=8,for循环条件为真,8%3=2,不等于0,则if条件表达式为真,执行第一个输出语句,先输出x的值8,然后将x的值减1,此时x=7。然后执行continue语句结束本次循环,执行x--表达式,得x=6。
    第二次循环,x=6,for循环条件为真,6%3=0,则if条件表达式为假,执行第二个输出语句,先将x的值减1得x=5,然后输出x的值5,执行x--表达式,得x=4。
    第三次循环,x=4,for循环条件为真,4%3=1,不等于0,则if条件表达式为真,执行第一个输出语句,先输出x的值4,然后将x的值减1,此时x=3,然后执行continue语句结束本次循环,执行x--表达式,得x=2。
    第四次循环,x=2,for循环条件为真,2%3=2,不等于0,则if条件表达式为真,执行第一个输出语句,先输出x的值2,然后将x的值减1,此时x=1,执行x--表达式,得x=0,for循环条件为假,循环结束。
    答案选择D选项。

  • 第13题:

    有以下程序: #include<stdio.h> main { int x=4,y; do { y=x; if(!y)printf("x"); else printf("y"): x--; }while(x); } 程序的输出结果是( )。

    A. xyyx

    B.yyyy

    C.yyxx

    D.yxyx


    正确答案:C
    本题考查do-while语句和if…else语句。do-while语句的功能是先执行循环体再判断条件,所以,先判断if语句的条件,y=-4,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=3,条件不成立,执行下面的else语句,输出Y,然后将X的值减1,x=2,满足while循环条件,继续循环。第三次循环:先判断if语句的条件,y=2,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将X的值减1,x=l,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出Y,然后将x的值减1,x=0,不满足while循环条件,结束循环。所以B正确。

  • 第14题:

    有如下程序:includemain(){int x=23; do {Printf("%d",x--);} while(! x);}该程序的执

    有如下程序: #include <stdio.h> main() { int x=23; do { Printf("%d",x--);} while(! x); } 该程序的执行结果是( )。

    A.321

    B.23

    C.不输出任何内容

    D.陷入死循环


    正确答案:B
    解析:do-while语句的执行过程中要先执行一次循环体语句,本题中执行x--后判断while中的表达式,表达式的值!x为假,程序结束循环。

  • 第15题:

    有如下程序: main() { int x=23; do { printf("%d",x--); } while(!x); } 程序运行后的输出结果是( )。

    A.321

    B.23

    C.不输出任何内容

    D.陷入死循环


    正确答案:B
    解析:本题中使用do-while循环,每执行一次循环体输出x的值后将x减1。当x=23,执行循环体输出x为23,X=X-1=23-1=22,判断循环条件是否成立,因为x=22,!x的值为0,终止循环,因此只输出23。

  • 第16题:

    有下列程序: #include<stdi0.h> voidmain( ) { intx=8; for(;x>0;x--) { if(x%3){printf("%d,",x--),continue;} printf(”%d,”,--x); } } 程序的运行结果是( )。

    A.7,4,2

    B.8,7,5,2

    C.9,7,6,4

    D.8,5,4,2


    正确答案:D
    D。【解析】x--后缀表示先用x的值再令x减1,--x前缀表示先将x减1,再执行程序,则输出(X--)继续下一次循环,输出“8,”,此时x自减值变为7,执行x--,x=6,x%3=0,后面语句不执行,执行语句“printf("%d,",--x);”,输出“5”,继续for循环中的x--,得到x=5,输出“5”;判断x%3为真,输出“4”,执行两次x--后,x=2,执行“{printf("%d",x--);cotinue;}”后,输出“2”;然后执行两次x--后,x=0,不符合“x>0”,循环结束。

  • 第17题:

    有以下程序:

    #include<stdio.h>

    main

    { int x=4,y;

    do

    { y=x;

    if(!y)printf("x");

    else

    printf("y"):

    x--;

    }while(x);

    }

    程序的输出结果是( )。

    A.A.xyyx

    B.yyyy

    C.yyxx

    D.yxyx


    正确答案:B
    本题考查do-while语句和if…else语句。do-while语句的功能是先执行循环体再判断条件,所以,先判断if语句的条件,y=-4,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=3,条件不成立,执行下面的else语句,输出Y,然后将X的值减1,x=2,满足while循环条件,继续循环。第三次循环:先判断if语句的条件,y=2,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将X的值减1,x=l,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出Y,然后将x的值减1,x=0,不满足while循环条件,结束循环。所以B正确。

  • 第18题:

    执行下面程序段的结果是______。 int x=234; do { printf("%3d\n",x--); } while(!x);

    A.432

    B.234

    C.0

    D.234到1的自然数


    正确答案:B

  • 第19题:

    执行下面程序片段的结果是( ) int x=123; do { printf("%3d\n",x--);} while(!x);

    A.打印出321

    B.打印出123

    C.不打印任何内容

    D.陷入死循环


    正确答案:B

  • 第20题:

    执行下列程序的输出结果是()。  #include   main( )  {   int x=10;      do{   x--;      }while(--x);  printf(“%d/n”,x--);  } 


    正确答案:0

  • 第21题:

    有以下程序段 int x=3 do { printf(""%d"",x-=2); } while (!(--x)); 其输出结果是()

    • A、1
    • B、3、0
    • C、1、-2
    • D、死循环

    正确答案:C

  • 第22题:

    填空题
    下列程序运行后的输出结果是()。  #include   main( )  { int x=9;   for(; x>0; x--){   if(x%3==0){     printf(“%d”,--x);     continue;    }   }  }

    正确答案: 852
    解析: 暂无解析

  • 第23题:

    填空题
    执行下列程序的输出结果是()。  #include   main( )  {   int x=10;      do{   x--;      }while(--x);  printf(“%d/n”,x--);  }

    正确答案: 0
    解析: 暂无解析

  • 第24题:

    单选题
    有以下程序:#include main(){ int sum=0,x=5; do{ sum+=x; } while(!--x); printf(%d,sum);}程序的运行结果是(  )。
    A

    0

    B

    5

    C

    14

    D

    15


    正确答案: B
    解析:
    do-while循环,先执行循环体sum+=x,则sum=sum+x=0+5=5,再执行while中的表达式,结果为0,退出循环,所以运行结果是5。答案选择B选项。