有以下程序:#include<stdio.h>main( ){ int a=1,b=0;if(--a)b++;else if(a==0)b+=2;else b+=3:print[("%d\n",b);}程序运行后的输出结果是( )。A.0B.1C.2D.3

题目

有以下程序:

#include<stdio.h>

main( )

{ int a=1,b=0;

if(--a)b++;

else if(a==0)b+=2;

else b+=3:

print[("%d\n",b);

}

程序运行后的输出结果是( )。

A.0

B.1

C.2

D.3


相似考题
参考答案和解析
正确答案:D
更多“有以下程序: #include&lt;stdio.h&gt;main( ) { int a=1,b=0; if(--a)b++; else if(a==0)b+=2 ”相关问题
  • 第1题:

    有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

    有以下程序,程序执行后,输出结果是【 】

    include<stdio.h>

    void fun(int*A)

    { a[0]=a[1];}

    main()

    { int a[10]={10,9,8,7,6,5,4,3,2,1,},i;

    for(i=2;i>1=0;i-) fun(&a[i]);

    for(i=0;i<10;i++) printf("%d,a[i]);

    printf("\n");

    }


    正确答案:7777654321
    7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。

  • 第2题:

    有以下程序

    #include<stdio.h>

    main( )

    {int a=1,b=0

    if(!a)b++;

    else if(a==0)if(a)b+=2

    else b+=3

    printf(”%d\n”,b);

    }

    程序运行后的输出结果是( )。

    A.0

    B.1

    C.2

    D.3


    正确答案:A
    解析:a=1所以!a表达式为假,不执行b++。又a=1所以a=0为假,所以跳过语句后面的if和else语句(因为else和最近的if语句组成一条复合语句),直接输出,所以结果为0。

  • 第3题:

    【单选题】以下程序的运行后的输出结果是_______。 #inlude <stdio.h> main() { int a=1,b=0; if(--a) b++; else if(a==0) b+=2; else b+=3; printf("%dn",b); }

    A.0

    B.1

    C.2

    D.3


    7

  • 第4题:

    有以下程序

    #include<stdio.h>

    main()

    { int a=1,b=0;

    if(--a)b++;

    else if(a==0) b+=2;

    else b+=3:

    printf("%d\n",b);

    }

    程序运行后的输出结果是

    A.0

    B.1

    C.2

    D.3


    正确答案:C
    解析:本题考察运算符和选择语句,执行到if语句时,--a为0,所以不会执行后面的语句,但是会执行else if后面的语句,所以执行后,b=2,选项C)正确。

  • 第5题:

    试题18

    有以下程序

    #include <stdio.h>

    main()

    { int a=1,b=0;

    if(- -a) b++;

    else if(a= =0) b+=2;

    else b==3;

    printf(“%d\n”, b);

    }

    程序运行后的输出结果是()

    A.0

    B.1

    C.2

    D.3


    正确答案:C
    试题18分析
    a的值为1,- -a为0,不满足if(- -a),此时a的值为0,满足if(a= =0),执行b+=2;所以b的值为2。所以输出结果为2。
    试题18答案
    c