一、单选题(每题 2 分,共 30 分)
- 下列关于负数的原码、反码、补码的描述中,正确的是( )。{{ select(1) }}
- 原码和反码互为按位取反(符号位除外),补码为反码加 1
- 原码和反码互为按位取反(符号位除外),补码为原码加 1
- 反码和补码互为按位取反(符号位除外),原码为反码加 1
- 补码和原码互为按位取反(符号位除外),反码为补码加 1
- 一个
int 类型的值乘以 8,等价于以下哪个位运算?( )。{{ select(2) }}
- 以下哪个属于 C++语言中的位运算符?( )。{{ select(3) }}
- 若有以下代码,则数组
arr 的长度是( )。{{ select(4) }}
int arr[] = {1, 2, 3, 4, 5};
- 在 C++语言中,可以定义一个一维整型数组的是( )。{{ select(5) }}
int array[5];
int array[];
int[5] array;
int[] array;
- 枚举算法的主要特点是( )。{{ select(6) }}
- 以空间换时间
- 逐个尝试所有可能的解
- 动态规划
- 贪心策略
- 对于一个十进制数 37,以下哪个是它的二进制表示( )。{{ select(7) }}
- 10101
- 100101
- 101001
- 1000101
- 下列关于十六进制的描述中,正确的是( )。{{ select(8) }}
- 使用0-9和A-F表示
- 使用0-9和A-E表示
- 使用1-9和A-F表示
- 使用1-9和A-E表示
- 下列哪个是 C++语言中用于获取字符串长度的函数( )。{{ select(9) }}
length() ;
len();
getLength() ;
strlen() ;
- 通常用下列哪种方式来描述算法?( )。{{ select(10) }}
- 如果
a 和 b 均为 int 类型的变量,下列表达式能正确判断“a 等于 0 且 b 等于 0”的是( )。{{ select(11) }}
((~a) && (~b))
((a & b) == 0)
((a | b) == 0)
((a ^ b) == 0)
- 如果
a 为 int 类型的变量,下列哪个表达式可以正确求出满足“大于等于 a 且是 4 的倍数”的整数中最小的?( )。{{ select(12) }}
(a & (~3))
(a / 4 * 4)
((a - 1) | 3) + 1
(a << 2)
- 下面流程图,输入
1 2 3,会输出( )。{{ select(13) }}

- 在下列代码的横线处填写( ),可以保证输出是“1357”,不会有多余字符( )。{{ select(14) }}
int i = 0; i < strlen(str); i++
int i = 0; str[i] != '\0'; i++
int i = 1; i <= 7; i += 2
int i = 0; i <= 6; i += 2
#include <iostream>
#include <string>
using namespace std;
int main()
{
char str[] = "1234567";
for (____________________) // 在此处填入代码
cout << str[i];
return 0;
}
- 在下列代码的横线处填写( ),可以使得输出是“17 11”。{{ select(15) }}
#include <iostream>
using namespace std;
int main()
{
int a = 11, b = 17;
a = ________; // 在此处填入代码
b = a ^ b;
a = a ^ b;
cout << a << " " << b << endl;
return 0;
}