参考答案和解析
正确答案:B
解析:逗号表达式x--,x1,x&&5先执行x--,x的值为1,再执行x1,表达式的值为2,但x的值仍是1(不是移位赋值表达式),最后执行x&&5,二者均不为0,逻辑与的结果是1。
更多“执行下面程序的结果是______。main(){int x=2; printf("%d\n",(x--,x<<1,x&amp;&amp;5)); }A.0B.1 ”相关问题
  • 第1题:

    有下列程序: inelude main() { int x=8; for(;x>0;x--)

    有下列程序: #inelude <stdio.h> main() { int x=8; for(;x>0;x--) { if(x%3) {printf("%d,",x--);continue;} printf("%d,",--x); } } 程序的运行结果是( )。

    A.7,4,2

    B.8,7,5,2

    C.9,7,6,4

    D.8,5,4,2


    正确答案:D
    解析:“x--”表示先执行程序,再令x的值减1;而“-x”表示令x的值减1,再执行程序。x=8时,x%2为非0值,执行语句{printtr("%d,", x--); continue;),输出“8,”,此时经过x--,x的值变为7,跳出此次循环;执行x--,x=6,x%3=0,后面语句不执行,执行语句print("%d,",--x);,输出“5,”:执行for语句中的x--,得到x=5,输出“5,”判断x%3,输出“4,”,执行两次x--后,x=2,执行{printf("%d,",x--);continue;}后,输出“2,”;然后执行两次x-后,x=0,不符合“x>0”,循环全部结束。

  • 第2题:

    下列程序执行后的输出结果是( )。

    main

    { char x=0xFFFF;printf("%d\n",x--);}

    A. -32767

    B.FFFE

    C.-1

    D.32768


    正确答案:C
    因为x=0xFFFF=11111111,因此当以整型形式输出时对应的数为一1。

  • 第3题:

    下列程序执行后的输出结果是______。 main () { char x=0xFFFF; printf("%d \n",x--); }

    A.-32767

    B.FFFE

    C.-1

    D.-32768


    正确答案:C

  • 第4题:

    有以下程序:includedefine N 8void fun(int*x,int i){*x=*(x+i)+1;}main(){int a[N]=

    有以下程序: #include<stdio.h> #define N 8 void fun(int*x,int i) {*x=*(x+i)+1;} main() {int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i<N/2;i++) {printf("%d",a[i]);} printf("\n"); } 程序运行后的输出结果是( )。

    A.1 3 1 3

    B.3 2 3 4

    C.4 2 3 4

    D.1 2 3 4


    正确答案:C
    解析:函数fun(int*x,int i)的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4,2,3,4。

  • 第5题:

    阅读程序: main( ) {int x; scanf("%d',& x); if (x- -<5)printf("%d\n",x); else printf("%d\、n",x+ +); } 程序运行后,如果从键盘上输入5,则输出结果是 ( )

    A.3

    B.4

    C.5

    D.6


    正确答案:B