C语言位操作技巧测试卷_第1页
C语言位操作技巧测试卷_第2页
C语言位操作技巧测试卷_第3页
C语言位操作技巧测试卷_第4页
C语言位操作技巧测试卷_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言位操作技巧测试卷一、选择题1.下面哪个操作符用于按位与操作?A.&&B.||C.&D.|2.下面哪个操作符用于按位或操作?A.&&B.||C.&D.|3.下面哪个操作符用于按位异或操作?A.&&B.||C.^D.|4.下面哪个操作符用于按位取反操作?A.~B.!C.&&D.||5.下面哪个操作符用于左移操作?A.<<B.>>C.D./6.下面哪个操作符用于右移操作?A.<<B.>>C.D./7.当我们对一个整数进行左移操作时,最高位会怎样?A.被舍弃B.被填充为0C.被填充为1D.不确定8.当我们对一个整数进行右移操作时,最低位会怎样?A.被舍弃B.被填充为0C.被填充为1D.不确定9.以下哪个表达式的结果是错误的?A.(x&y)|(x&z)B.(x|y)&(x|z)C.(x&y)|(y&z)D.(x|y)&(y|z)10.如果一个数的二进制表示是`10110011`,对其执行`~`操作后,结果是什么?A.`01001100`B.`10110000`C.`01001101`D.`10110001`二、填空题1.使用位操作符`<<`将数字`2`左移两位后,结果是______。2.使用位操作符`>>`将数字`8`右移一位后,结果是______。3.变量`a`的值为`5`(二进制为`0101`),变量`b`的值为`3`(二进制为`0011`),执行`a&b`的结果是______。4.变量`a`的值为`5`(二进制为`0101`),变量`b`的值为`3`(二进制为`0011`),执行`a|b`的结果是______。5.变量`a`的值为`5`(二进制为`0101`),变量`b`的值为`3`(二进制为`0011`),执行`a^b`的结果是______。6.变量`a`的值为`5`(二进制为`0101`),执行`~a`的结果是______。7.变量`a`的值为`5`(二进制为`0101`),将其左移三位后,结果是______。8.变量`a`的值为`5`(二进制为`0101`),将其右移两位后,结果是______。9.如果要检查一个整数`x`的第3位(从右往左数,从0开始)是否为1,应该使用表达式______。10.如果要将一个整数`x`的第3位(从右往左数,从0开始)设置为1,应该使用表达式______。三、简答题1.请解释什么是位操作,并列举几种常用的位操作符。2.在C语言中,如何使用位操作来检查一个整数是否为偶数?3.在C语言中,如何使用位操作来设置一个整数的特定位为0或1?4.在C语言中,如何使用位操作来实现无符号整数的快速乘以2的幂次方?5.在C语言中,如何使用位操作来实现无符号整数的快速除以2的幂次方?四、编程题1.编写一个C语言函数,该函数接收一个整数作为参数,返回该整数的二进制表示中1的个数。2.编写一个C语言函数,该函数接收两个整数作为参数,返回这两个整数的二进制表示中不同位的个数。3.编写一个C语言函数,该函数接收一个整数作为参数,将这个整数的二进制表示中从右往左数的前四位取反,其余位保持不变。4.编写一个C语言函数,该函数接收一个整数作为参数,返回这个整数的二进制表示中从右往左

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论