更多“若有以下程序 main() {int y=10; while(y- -); printf(“y=%d\n”y); } 程序运行后的输出结果 ”相关问题
  • 第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题:

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

    A.10 10

    B.9 9

    C.9 10

    D.10 9


    正确答案:D

  • 第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 。