itgle.com
参考答案和解析
正确答案:A
在程序语句中,k的初始值为5,进行第l次while循环后,k自减l为4,非0,执行循环体里的printf语句,输出k,此时k的值变为l。程序执行第2次循环时,k自减l变为0,为假,退出while循环语句。所以程序的最后结果为l。
更多“有下列程序: main( ) { int k=5; while(--k) printf("%d",k=1); printf("/n"); } 执行后 ”相关问题
  • 第1题:

    有下列程序: main { int k=5: while(--k)printf("%d",k=1); printf("\n"); } 执行后的输出结果是( )。

    A.1

    B.2

    C.4

    D.死循环


    正确答案:A
    在程序语句中,k的初始值为5,进行第l次while循环后,k自减1为4,非0,执行循环体里的printf语句,输出k,此时k的值变为1。程序执行第2次循环时,k自减1变为0,为假,退出while循环语句。所以程序的最后结果为1。

  • 第2题:

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

    A.1

    B.2

    C.4

    D.死循环


    正确答案:A
    当k=j时,while条件中的值为4,k为4,循环不成立,k-=3可写成k=k3,输出1,接着执行--k后k为0,当k=0时,while循环不成立,退出。

  • 第3题:

    有下列程序:

    main

    { int k=5;

    while(--k)

    printf("%d",k=1);

    printf("\n"); }

    执行后的输出结果是( )。

    A.1

    B.2

    C.4

    D.死循环


    正确答案:A
    在程序语句中,k的初始值为5,进行第l次while循环后,k自减1为4,非0,执行循环体里的printf语句,输出k,此时k的值变为1。程序执行第2次循环时,k自减1变为0,为假,退出while循环语句。所以程序的最后结果为1。

  • 第4题:

    有以下程序:

    main

    { int k=5;

    while(--k)printf("%d",k-=3);

    printf("\n"); }

    执行后的输出结果是( )。

    A.1

    B.2

    C.4

    D.死循环


    正确答案:A
    当k=5时,while条件中的值为4,k为4,循环不成立,k-=3可写成k=k-3,输出1,接着执行--k后k为0,当k=0时,while循环不成立,退出。

  • 第5题:

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

    A.1

    B.2

    C.4

    D.死循环


    正确答案:A
    解析:因为在while循环的循环条件中,一运算符是前缀形式,所以表达式—k的值是k自减之后的值。程序开始时,将k的值初始化为5,然后进入while循环,因为—k的值为4(非零),所以执行循环体输出k-=3的值1,此时k的值也变为1。第2次执行循环条件,—k的值为0,所以循环结束。因此最后输出的结果是1,故应该选择A。