更多“有以下程序main(){ int k=5;while(--k) printf("%d",k -= 3);printf("\n");}执行后的输出结 ”相关问题
  • 第1题:

    有下列程序:

    main()

    {int k=5;

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

    printf("\n");

    }

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

    A.1

    B.2

    C.4

    D.死循环


    正确答案:A
    解析:在程序语句中,k的初始值为5,进行第1次while循环后,k自减1为4,非0,执行循环体里的printf语句,输出1,此时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-=3); printf("n"); }

    A.1

    B.2

    C.4

    D.死循环


    10

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