itgle.com
参考答案和解析
正确答案:B
解析:本题中有一个陷阱,很多考生会根据程序的书写格式来判断:while循环的循环体为printf("y=%d\n",y);语句。其实while的循环体是一条空语句,即y--后面的那个分号就是while的循环体。所以本题只要弄清楚表达式y--何时为“假”,即等于0,就能得出结果了。因为--运算符是后缀形式,所以表达式y--的值是y自减之前的值,即y等于。时,表达式y--就等于0了。但此时的y还要被减1,所以循环结束后,y的值为-1。故应该选择B。
更多“有以下程序:main(){ int y=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是()。A.y=0B ”相关问题
  • 第1题:

    有以下程序 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。

  • 第2题:

    有以下程序: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。

  • 第3题:

    以下程序运行后的输出结果是()。 main() { int y=10; while(y--); printf(“y=%dn”,y); }

    A.y=0

    B.y=-1

    C.y=1

    D.while构成无限循环


    17 bteak语句只能在循环体和switch语句体内使用,当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。当break出现在循环体中,但不在switch语句体内时,则在执行break后,跳出本层循环体。而continue语句的作用时结束本次循环;即跳过本次循环中余下尚未执行的语句,接着再一次进行循环的条件判定。本题中首先定义了一个变量x并赋初值15,然后判断循环条件“x>5&&x<50”,即“x>5&&x<50”,为真,执行循环体。语句“x++;”执行后,x的值变为16,“x/3”的值为5为真,执行其后的语句“x++;”,x的值变为17,执行语句“break”,退出循环,输出x的值为17。

  • 第4题:

    有以下程序

    #include<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-的作用是先取其值作为表达式的值,然后y的值减1存入y。当y>0时循环继续,直到y=0时循环结束,然后y值减1存入y中,所以选B。

  • 第5题:

    有以下程序

    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 。