更多“有以下程序 main(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf(“%d\n”,d);}程序 ”相关问题
  • 第1题:

    有以下程序: main() { unsigned char a,b; a=4 | 3; b=4 & 3; printf("%d %d\n",a,b); } 执行后输出结果是( )。

    A.7 0

    B.0 7

    C.1 1

    D.43 0


    正确答案:A
    解析:在位与运算符&中参加运算的两位都为1时,其结果为1,否则结果为0。所以本题中的4|3:01002|00112=01112=7。位与运算符|中参加运算的两位只要有一个为1,则结果为1,只有当相应的两位都为0结果才为0。所以本题中的4&3=01002&00112 =00002=0。最后输出a和b的值为7和0。故4个选项中选项A符合题意。

  • 第2题:

    有以下程序: main() {unsigned char a=2,b=4,c=5,d; d=a|b;d&=c;printf(“%d\n",D);} 程序运行后的输出结果是( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题中主要进行位逻辑计算。将a的值转换为二进制000000010,b转换为二进制00000100,将a和b进行按位或运算,因此d的二进制数为00000110,c的二进制为00000101;接下来把d和c进行按位与运算,并转化为十进制输出。

  • 第3题:

    有以下程序 main() {unsigned char a,b; a=4|3; b=4&3; printf("%d%d\n",a,b) ; } 执行后输出结果是

    A.70

    B.7

    C.11

    D.430


    正确答案:A
    解析:按位与运算符“&”中参加运算的两位都为1时,其结果为1,否则结果为0,或位或运算符“|”中参加运算的两位只要有一个为1,则结果为1,只有当相应的两位都为0结果才为0。所以最后输出a和b的值为7和0。

  • 第4题:

    有以下程序 main( ) { unsigned char a,b; a=4|3; b=4&3; printf(“%d %d\n”,a,b(; } 执行后输出结果是( )

    A.7 0

    B.0 7

    C.1 1

    D.43 0


    正确答案:A
    解析:a=4 0 3中的“|”表示按位或,结果为
      4:100
      3: 011
      4|3:111
      所以a=7。
      b=4&3中,“&”表示按位与,结果为
      4:100
      3:011
      4&3:000
      所以b=0。

  • 第5题:

    有以下程序:include main(){unsigned char a,b; a=413; b=4&3;printf("%d%d\n",a,

    有以下程序: #include <stdio.h> main() { unsigned char a,b; a=413; b=4&3; printf("%d%d\n",a,b); } 执行后的输出结果是( )。

    A.7 0

    B.0 7

    C.1 1

    D.43 0


    正确答案:A
    解析:&是按位“与”运算符,其运算规则是:参加运算的两个运算量,如果两个相应的位都为1,则该位的结果值为1,否则为0。|是按位“或”运算符,其运算规则是:两个相应位中只要有一个为1,该位的结果为1。4转换为二进制数为0100,3转换为二进制数为0011,则4|3=0111,即7,4&3=0000,即0。