- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
位运算练习题2007-06-12 10:31
1.以下运算符中优先级最低的是(C)优先级最高的是(B )A. B. C.|| D.|2.若有运算符sizeof,,^=, 则它们按优先级由高到低的正确排列次序是(B )A.sizeof,=,,^ B.sizeof,,^,= C.^,,sizeof,= D,,^,=sizeof3.在C语言中,要求运算数必须是整型或字符型的运算符是(B )A. B. C.! D.||4.siziof(float)是(C)A.一种函数调用 B.一个不合法的表示形式 C.一个整型表达式 D.一个浮点表达式5.表达式0x130x17的值是(B)A.0x17 B.0x13 C.0xf8 D.0xec6.以下程序的运行结果是(C )A.56,70 B.0,0 C.40,50 D.62,76Char x=56; x=x056; printf(“%d,%o\n”,x,x);7.若x=2,y=3则xy的结果是(B )A.0 B.2 C.3 D,58.在执行完以下C语句后,B的值是(B 或 C)注:最好选B,C语言中无bool型A.0 B.1 C.TURE D.FALSEcharZ=`A`);intB;B=((24115)(Z|`a`);9.表达式0X13|0x17的值是(B) A.0x03 B.0x17 C.0xE8 D.0xc810.若a=1,b=2; 则a|b的值是( D)A.0 B.1 C.2 D.311.若有以下程序段,则执行以下语句后x,y的值是分别是( C)int x=1,y=2; x=x^y; y=y^x; x=x^y;A.x=1,b=2 B.x=2,y=2 C.x=2,y=1 D.x=1.y=112.表达式0x13^0x17的值是( A)A.0x04 B.0x13 C.0xE8 D.0x1713.请读程序片段,输出结果是:( C)A.02 B.-20? C.-21 D.-11int x=20; printf((“%d\n”,~x);14.表达式~0x13的值是(0xffffffec ) 选项中无答案A.0xFFFFC B.0xFF71 C.0xFF68 D.0xFF1715.在们运算中,操作数每右移一位,其结果相当于(B )A.操作数乘以2 B.操作数除以2 C.操作数除以4 D.操作数乘以416.在位运算中,操作数每左移一位,其结果相当于(A )A.操作数乘以2 B.操作数除以2 C.操作数除以4 D.操作数乘以417.设有以下语句。则z的二进制值是(B)char x=3,y=6,z;z=x^y2;ABCD18.读程序片段:int a=1,b=2; if(ab) printf(“***\n”); else printf(“$$$\n”n);输出结果是: ($$$ )19.设有char a,b;若要通过ab运算屏蔽掉a中的其它位,只保留第2和第8位(右起为第1位)。 则b的二进制数是)20.测试char型变量a 第六位是否为1的表达式是(a040?1:0 )(设最右位是第一位)。
或a0x20?1:0(表现方法很多,但算法不变)
注意:不可以直接用二进制数,不存在二进制型数,直接写成二进制,计算时是按十进制计算的,结果有误,可以用存在的进制数的任何一种21.设二进制数x的值若想通过xy运算使x中的低度4位不变,高4位清零,则y的二进制数是)22.以下程序片段的输出结果是( )-1,37777777777 注意:位运算是机器码间进行运算,结果还是机器码,若用十进制输出,需翻译为机器码的补码,然后转为十进制数;若输出为8或16进制,则直接转为8或16进制输出即可。int a=-1; a=a|0377; printf(“%d,%o\n”,a,a);23.设x 是一个整数(16bit).若要通过x|y使x低度8位置1,高8位不变,则y的二进制数是(0000000011111111 )24.设x若要通过x^y使权x的高4位取反。低4位不变。则y的二进制数是。)25.以下程序片段的输出结果是( mmm)int m=20,n=025; if(m^n) printf(“mmm\n”); else printf(“nnn\n”);26.以下程序的运行结果是:( )a:9a b:ffffff65 注:最好不要加0xmain( ){unsigned a,b;la=
文档评论(0)