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`。 - 正确 - 错误

来源/分类