5313:[GESP202506三级] 客观题
文件提交:无需freopen
内存限制:128 MB
时间限制:1.000 S
评测方式:文本裁判
金币值:
命题人:
提交:51
解决:0
题目描述
## 一、单选题(每题 2 分,共 30 分)
**第 1 题** $8$ 位二进制原码能表示的最小整数是: ( )
- $-127$
- $-128$
- $-255$
- $-256$
**第 2 题** 反码表示中,零的表示形式有:( )
- $1$ 种
- $2$ 种
- $8$ 种
- $16$ 种
**第 3 题** 补码 `1011 1011` 对应的真值是 ( )
- $-69$
- $-59$
- $-68$
- $-58$
**第 4 题** 若 $X$ 的 $8$ 位补码为 `0000 1010`,则 $X/2$ 的补码是 ( )。
- `0000 0101`
- `1000 0101`
- `0000 0101 或 1000 0101`
- 算术右移后结果取决于符号位
**第 5 题** 二进制数 $1101.101$ 对应的十进制数是 ( )
- $13.625$
- $12.75$
- $11.875$
- $14.5$
**第 6 题** 补码加法中,若最高位和次高位进位不同,则说明( )
- 结果正确
- 发生上溢
- 发生下溢
- 结果符号位错误
**第 7 题** 八进制数 `35.6` 对应的十进制数是( )
- $29.75$
- $28.5$
- $27.625$
- $30.25$
**第 8 题** 二进制数 `1010 | 1100` 的结果是 ( )
- $1000$
- $1110$
- $1010$
- $1100$
**第 9 题** 以下哪个位运算可以交换两个变量的值 (无需临时变量) ( )
- `a = a ^ b; b = a ^ b; a = a ^ b;`
- `a = a & b; b = a | b; a = a & b;`
- `a = a | b; b = a ^ b; a = a ^ b;`
- `a = ~a; b = ~b; a = ~a;`
**第 10 题** 如何正确定义一个长度为 $5$ 的整型数组 ( )
- `int array = new int[5];`
- `array int[5];`
- `int[] array = {1,2,3,4,5};`
- `int array[5];`
**第 11 题** 以下程序使用枚举法 (穷举法) 求解满足条件的三位数,横线处应该填入的是 ( )
```cpp
01 #include
02 using namespace std;
03
04 int main() {
05 int count = 0;
06 for (int i = 100; i <= 999; i++) {
07 int a = i / 100;
09 ————————————————————
10 int c = i % 10;
11 if (a * a + b * b == c * c) {
12 count++;
13 }
14 }
15 cout << count << endl;
16 return 0;
17 }
```
- `int b = (i / 10) / 10;`
- `int b = (i / 10) % 10;`
- `int b = (i % 10) / 10;`
- `int b = (i % 10) % 10;`
**第 12 题** 以下程序模拟了一个简单的小球反弹过程,横线处应该填入的是 ( )
```cpp
01 #include
02 using namespace std;
03
04 int main() {
05 int height = 10;
06 int distance = 0;
07 for (int i = 1; i <= 5; i++) { // 模拟5次落地
08 ——————————————————————
09 height /= 2;
10 distance += height;
11 }
12 cout << distance << endl;
13 return 0;
14 }
```
- `distance += height/2;`
- `distance += height;`
- `distance += height*2;`
- `distance += height+1;`
**第 13 题** `C++` 代码 `string s = "GESP考试";`,$s$ 占据的字节数是 ( )
- $10$
- $8$
- $8$ 或 $10$
- 取决于计算机采用什么编码
**第 14 题** `C++` 语句 `string s="Gesp Test"`; 执行 $s.rfind("e")$ 以后,输出的是( )
- $1$
- $2$
- $6$
- $3$
**第 15 题** 字符串 "`Gesp` 考试",字符数是 ( )
- $10$
- $8$
- $6$
- 字符数多少取决于编码
## 二、判断题(每题 2 分,共 20 分)
**第 1 题** `C++` 中 `string` 的 `==` 运算符比较的是字符串的内存地址,而非内容。
- 正确
- 错误
**第 2 题** `string` 的 `substr(1, 3)` 返回从下标 $1$ 开始的 $3$ 个字符的子串。
- 正确
- 错误
**第 3 题** $x$ 是浮点数, `(x >> 1)` 等价于 `x / 2`。
- 正确
- 错误
**第 4 题** `string("hello") == "hello"` 的比较结果为 $true$。
- 正确
- 错误
**第 5 题** `sort` 可以直接用于排序 `set` 中的元素。
- 正确
- 错误
**第 6 题** `(x & 1) == 0` 可以判断整数 $x$ 是否为偶数。
- 正确
- 错误
**第 7 题** `string` 的 $substr(2, 10)$ 在字符串长度不足时会抛出异常。
- 正确
- 错误
**第 8 题** 在数学纸面计算中, `pow(2, 3)` 的计算结果一定是 $8$,但是在 `C++` 中,如果遇到数据类型是浮点数,那就不一定正确。
- 正确
- 错误
**第 9 题** 在 `C++` 中,枚举的底层类型可以是非整型 (如 `float` 或 `double`)。
- 正确
- 错误
**第 10 题** 函数声明 `double f();` 返回 `int` 时,会自动转换为 `double`。
- 正确
- 错误