【C/C++】错题记录(三)

题目一

题目二

题目三

题目四

题目五


题目六

题目七???

题目八

这道题主要考查对数据类型和位运算的理解与运用。

  1. 分析选项 A:

    • *((unsigned char *)(&number) + 1)=0xcd; 这里将 number 的地址强制转换为 unsigned char* 类型,然后通过指针偏移访问其中的一个字节并赋值为 0xcd
    • 但是这样的操作只会改变 number 的一个字节,无法保证其他字节不受影响,而且也不一定能准确地将 number 的值变为 0xffaacddd
  2. 分析选项 B:

    • number = (number & 0xffff00ff) | 0x00cd00;
    • 首先,number & 0xffff00ff 会将 number 的中间两个字节(第 9 到 16 位)清零。
    • 然后,| 0x00cd00 会将中间两个字节设置为 0xcd
    • 这样可以准确地将 number 的值变为 0xffaacddd
  3. 分析选项 C:

    • number = (number & 0xffee43dd) | 0xbbaacddd;
    • number & 0xffee43dd 会保留 number 中特定的一些位,然后通过 | 0xbbaacddd 将特定位置设置为目标值。
    • 可以实现将 number 的值变为 0xffaacddd
  4. 分析选项 D:

    • number=(number & 0xffccbcff)+0x1100;
    • 这种操作不能准确地将 number 的值变为 0xffaacddd,因为 & 操作和加法操作不能保证得到预期的结果。

综上所述,正确答案是 BC。

相关推荐
笨笨马甲22 分钟前
Qt Quick模块功能及架构
开发语言·qt
乄夜25 分钟前
嵌入式面试高频(5)!!!C++语言(嵌入式八股文,嵌入式面经)
c语言·c++·单片机·嵌入式硬件·物联网·面试·职场和发展
夜晚回家36 分钟前
「Java基本语法」代码格式与注释规范
java·开发语言
YYDS31440 分钟前
C++动态规划-01背包
开发语言·c++·动态规划
前端页面仔1 小时前
易语言是什么?易语言能做什么?
开发语言·安全
树叶@1 小时前
Python数据分析7
开发语言·python
wydaicls1 小时前
十一.C++ 类 -- 面向对象思想
开发语言·c++
Biomamba生信基地2 小时前
R语言基础| 下载、安装
开发语言·r语言·生信·医药
姜君竹2 小时前
QT的工程文件.pro文件
开发语言·c++·qt·系统架构
思捻如枫2 小时前
C++数据结构和算法代码模板总结——算法部分
数据结构·c++