题目一

题目二

 x是int型,当x被赋值为1.2浮点型时,x实际赋值为1,所以4.8/5.0由于/是整除,结果为小于1的小数,所以y被赋值为0。
题目三

题目四

题目五

题目六

 在这段代码中,定义了一个联合体union X,联合体中的变量共享同一块内存空间。
对于大字节序和小字节序的理解:
- 大字节序(Big-Endian):高位字节存储在低地址,低位字节存储在高地址。
- 小字节序(Little-Endian):低位字节存储在低地址,高位字节存储在高地址。
在本题中,给联合体变量x的成员a赋值为 0x1234。对于大字节序的机器,高位字节 0x12 存储在低地址,低位字节 0x34 存储在高地址。而成员z中的n对应a的低位字节,所以在大字节序机器上x.z.n的值为 0x34。
对于小字节序的机器,低位字节 0x34 存储在低地址,高位字节 0x12 存储在高地址。同样,成员z中的n对应a的低位字节,所以在小字节序机器上x.z.n的值为 0x12。
综上所述,答案是 A(0x34,0×12)。
题目七

题目八

 
题目九

题目十

题目十一
 
 #define a 10在预处理阶段就把main函数中的a全部替换为10了.
题目十二

2+x会将2转换成二进制进行相加 ,~3首先将3转换成八位二进制00000011,然后取反,得:11111100
 ,最后将10101001与11111100取异或,从而得到结果
 ==^ 异或,相同为0,不同为1 ==(给忘了…)
题目十三

题目十四

题目十五

 位段的知识点
题目十六

 基类成员在派生类当中的属性根据继承方式不同而有别,B错误;
this只对本类的非静态成员有效,C不正确。
题目十七




















