一、单选题
1. 5 & 3 的结果是?( )
A、1
B、7
C、6
D、0
2. 按位与运算常用于?( )
A、清零特定位
B、判断奇偶
C、取某位值
D、以上都是
3. 将某位设置为 1 的操作是?( )
A、x & mask
B、x | mask
C、x ^ mask
D、x >> 1
4. 0x0F | 0xF0 的结果是?( )
A、0xFF
B、0x00
C、0x0F
D、0xF0
5.以下代码的输出是?( )
int a = 12;
int b = 10;
cout << (a ^ b);
A、6
B、12
C、10
D、14
6.交换 'a' 和 'b' 的值,可用异或实现,以下语句的正确顺序是?( )
(1) a ^= b; (2)b ^= a;
A、1 2 1
B、1 2 2
C、2 1 1
D、2 2 1
7.以下哪种排序算法是稳定的?( )
A、快速排序
B、堆排序
C、归并排序
D、选择排序
8.十六进制 '0xFF' 转换为十进制是?( )
A、255
B、256
C、15
D、240
9.分析以下程序片段的时间复杂度是?( )
int cal(int n) {
if (n <= 0) return 1;
return cal(n – 1) + cal(n – 1);
}
A、O(n)
B、O(2^n)
C、O(n^2)
D、O(n*log(n))
10.二进制 '1011' 转换为十进制是?( )
A、11
B、13
C、9
D、12
二、判断题
11. x & (x-1)可以将x的最低位的1置为0。( )
12. 按位或运算满足交换律和结合律。( )
13. x | 0 的结果是0。( )
14. 按位与运算满足交换律和结合律。( )
15. 任何数与自身异或结果为0。( )
16. 快速排序在最坏情况下的时间复杂度是O(n2)。( )
17. 冒泡排序是一种稳定的排序算法。( )
18. 十六进制数每一位对应二进制数的四位。( )
19. 负数的二进制表示通常使用补码。( )
20. 枚举法一定不是最好的解法。( )
三、编程题
21.计算不同位(4级1)
题目描述
给你两个正整数 m,n,请问它们二进制位上有多少位是不同的。
输入格式
两个正整数 n,m
输出格式
一个整数,表示答案
输入样例#1
2 1
输出样例#1
2
输入样例#2
3 17
输出样例#2
2
输入样例#3
233 233
输出样例#3
0
说明提示
1≤n,m≤109
22.四方定理(4级2)
题目描述
给定一个自然数 n,请输出 n 的所有四平方拆分方案。
输入格式
单个整数:表示n。
输出格式
若干行:每行四个由小到大排列的自然数,表示一种拆分方案。如果有多种方案,先输出首项较小的方案,对于首项相同的方案,先输出第二项较小的方案,其他情况以此类推。
输入样例
25
输出样例
0 0 0 5
0 0 3 4
1 2 2 4
说明提示
0≤n≤50,000。
试卷答案:前往小哆题库免费刷题:xiaoduotiku.com 试卷→电子学会青少年等级考试 → C++编程→ 四级 → 2026年



