itgle.com
参考答案和解析
正确答案:D
位运算;条件判断y>>1对循环没有任何影响,始终为真,所以循环是一个无限循环。
更多“有以下程序:void main(){int y=10;while(y>>1){printf("y=%d\n",y);}}程序执行后的输出结 ”相关问题
  • 第1题:

    有以下程序 main() { int y=10; do {y--;}while(--y); printf("%d\n",y--); } 程序运行后的输出结果是( )

    A.-1

    B.1

    C.8

    D.0


    正确答案:D

  • 第2题:

    有以下程序 main() {int y=10; while(y-);printf("y=%d\n",y); } 程序执行后的输出结果是______。

    A.y=0

    B.y=1

    C.y=1

    D.while构成无限循环


    正确答案:B
    解析:此题考核的是while条件语句及自减运算。当while的条件表达式成立时(非零),重复执行循环体,但此题的 while循环无循环体,则只要while的条件表达式成立,就不断执行while条件表达式,直到其条件表达式不成立,程序就自动跳出while循环,直接执行printf语句。“y—”表示先运用y的值,再进行y自减。本题一开始先判断y为10的值是否满足条件(同时y的值自减1),显然y=1O条件满足,则再次执行while语句,判断y为9的值是否满足条件 (同时y的值自减1)……直到判断y为0的值是否满足条件(同时y的值自减1,即y=-1),此时条件为假,退出循环,执行printf语句,输出y=-1。

  • 第3题:

    有以下程序

    main()

    { int y=10;

    while(y--);printf("y= % d\n",y);

    }

    程序执行后的输出结果是

    A)y=0

    B)y=-1

    C)y=1

    D)while 构成无限循环


    正确答案:B
    (30)B) 解析 : while(y--) 执行后 ,y 若大于 1, 则循环 , 等 y=0 时 , 循环结束 , 并执行自减运算 , 得 -1 。

  • 第4题:

    有下列程序:

    main

    { int y=10;

    do{y--;}while(--y);

    printf("%d\n",--y);

    )

    当执行程序时,输出的结果是( )。

    A.-1

    B.1

    C.4

    D.0


    正确答案:D
    本题考查do-while循环。当--y是0(即y是o)时结束循环,输出--y,先将y的值减1再输出Y的值。

  • 第5题:

    有以下程序:includo main(){int y=10; while(y--)printf("y=%d\n",y);} 程序执行后的

    有以下程序: #includo <stdio.h> main() { int y=10; while(y--)printf("y=%d\n",y); } 程序执行后的输出结果是( )。

    A.y=0

    B.y= -1

    C.y=1

    D.while 构成无限循环


    正确答案:B
    解析:程序首先判断y值是否非0,显然y=10满足条件,y自减1,再次执行while语句,判断y为9的值是否满足条件,满足条件,y自减1,……,直到y为0,条件不成立,结束循环,y自减1后变为-1,所以输出结果为y=-1。