参考答案和解析
正确答案:A
解析:考查位运算的运算原理。a=7^3=111^11=100=4(十进制),b=~4&3=~100&11=11&11=11=3(十进制),所以,答案为选项A)。
更多“以下程序的功能是进行位运算 main() {unsigned char a,b; a=7^3;b=~4&3; printf("%d%d\n",a, ”相关问题
  • 第1题:

    以下程序的功能是进行位运算: main() { unsigned chara,b; a=7^3;b= ~4&3; printf("%d %d\n",a,b); } 程序运行后的输出结果是 ______。

    A.4 3

    B.7 3

    C.7 0

    D.4 0


    正确答案:A
    解析:a=7^3=00000111^00000011=00000100=4;b=~4&3=~00000100&00000011=11111011&00000011=00000011=3

  • 第2题:

    以下程序的功能是进行位运算:include main( )unsigned char a,b;a =7∧3; b = ~4&3

    以下程序的功能是进行位运算:#include <stdio.h>main( ) unsigned char a,b; a =7∧3; b = ~4&3; printf("% d %d \n" ,a,b);}程序运行后的输出结果是( )。

    A.4 3

    B.7 3

    C.7 0

    D.4 0


    正确答案:A
    解析:“^”是按位异或运算,运算规则是:当两个二进制数对应位上的数相同时,异或结果为0,否则结果为1。73相当于0110011,所以a的值为4。“&”是按位与运算符,其运算规则是:当二进制数的所有对应位上的数值都为1时,结果才为1;“~”是按位取反。~4&3相当于1011&0011=0011,所以b的值为3。

  • 第3题:

    以下程序的功能是进行位运算。 main() { unsigned char a,b; a=7^3;b=-4&3; printf("%d %d\n",a,b); } 程序运行后的输出结果是______.

    A.4 3

    B.7 3

    C.7 0

    D.4 0


    正确答案:A

  • 第4题:

    以下程序的功能是进行位运算: main() {unsigned char a,b; a=7∧3;b=~4 & 3; printf("%d%d\n",a,B) ; } 程序运行后的输出结果是 ______。

    A.4 3

    B.7 3

    C.7 0

    D.4 0


    正确答案:A
    解析:C语言提供六种位运算符,按优先级由高到低的顺序分别为:取反(-)→左移()和右移(>>)→按位与(&)→按位异或(∧)→按位或(|)。”∧”是按位异或运算,当对应位上的二进制数值相同时,异或的结果为0,对应位上的二进制数值不同时,异或的结果为1,本题“7∧3”相当于0111∧0011,所以a的值为4;“&”是按位与运算符,只有当所有对应位上的数值都为1时,结果才为1;"-"是按位取反。题中“-4&3”相当于1011&0011=0011,所以b的值为 3。

  • 第5题:

    以下程序的功能是进行位运算 main ( ) { unsigned char a, b; a=73; b=~4&3; printf (,%d %d\n" ,a,b); } 程序运行后的输出结果是

    A.4 3

    B.7 3

    C.7 0

    D.4 0


    正确答案:A
    解析:是位异或运算符,其作用是将左右运算分量的相应二进制位进行异或操作。即,相应位同时为。或同时为1则结果相应位为0,否则结果相应位为1。所以a=73=(00000111)2(00000011)2=(00000100)2=4。~是位反运算符,作用是将运算分量的二进制位按位取反。即,原来是0的二进制位变成1,原来是1的变成0。&是位与运算符,其作用是将左右运算分量的相应二进制位进行与操作。即,相应位同时为1时结果相应位为1,否则结果相应位为0。所以b=-4&3=~(00000100)2&(00000011)2(11111011)2&(00000011)2=(00000011)2=3。故应该选择A。