更多“以下程序的输出结果是 ______。main(){int x=05;charz='a'; printf("%d\n",(x & 1)&& ”相关问题
  • 第1题:

    以下程序的输出结果是main(){ int x=0; sub(&x,8,1); printf("%d\n",x);}sub(int *a,int n,int k){ if(k<=n) sub(a,n/2,2*k); *a+=k;}


    正确答案:7
    本题属于递归调用。主函数中调用sub函数流程如下:
    sub(*x,8,1)-sub(*x,4,2)-sub(*x,2,4)-x=x+k=4,然后是4+2=6,最后是 6+1=7 
    由此可知,输出结果为7。

  • 第2题:

    以下程序的输出结果是______。 main() { int x=05;char z='a'; printf("%d\n",(x&1)&&(z<'z')); }

    A.0

    B.1

    C.2

    D.3


    正确答案:B
    解析:“&”是位运算符表示按位与运算,“&&”是逻辑运算符当其两边的表达式都为真时返回真值。关系表达式(x&1)&&(z'z'),(x&1)为真,(z'z')也为真,两者相与,自然也为真,以整型输出,则输出1。

  • 第3题:

    以下程序的输出结果是 ( ) { int x=05;char z='a'; printf("%d\n",(x & 1)& &(z<'z')); }

    A.0

    B.1

    C.2

    D.3


    正确答案:B

  • 第4题:

    以下程序的输出结果是( )。 include main()fint x=0; sub(&x,16,2); printf("%d\n",

    以下程序的输出结果是( )。

    include<stdio.h>

    main()

    fint x=0;

    sub(&x,16,2);

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

    }

    sub(int*a,int n,int k)

    {if(k<=n) sub(a,n/2,2*k);

    *a+=k;

    }


    正确答案:14
    14 解析:本题考查递归函数的调用。在主函数中调用sub(&x,16,2)函数,此时n=16,k=2,if语句的控制的条件k=n成立,所以执行下面的语句,调用sub(x,8,4),此时n=8,k=4,if语句的控制条件k=n成立,所以执行下面的语句,调用sub(x,4,8),此时n=4,k=8,if语句控制的条件k=n不成立,因此,最后得x=2+4+8=14。

  • 第5题:

    以下程序的输出结果是( )。

    main

    {int x=0.5;char z='a';

    printf("%d\n",(x&1)&&(z<'2'));}

    A.A.0

    B.1

    C.2

    D.3


    正确答案:B
    (x&1)&&(z<'2')=(0.5&1)&&('a'<'z')=1&&1=1,故选择B选项。