#X000310. GESP C++ 三级试卷(2025年06月)

GESP C++ 三级试卷(2025年06月)

GESP3 2025年6月 模拟试题(C++)

一、选择题

本试卷共15道单项选择题,考察基本语法、逻辑结构和简单算法。


第1题

8位二进制原码能表示的最小整数是:( ) {{ select(1) }}

  • -127
  • -128
  • -255
  • -256

第2题

反码表示中,零的表示形式有: {{ select(2) }}

  • 1种
  • 2种
  • 8种
  • 16种

第3题

补码 1011 1011 对应的真值是( ) {{ select(3) }}

  • -69
  • -59
  • -68
  • -58

第4题

若X的8位补码为 0000 1010,则 X/2 的补码是( )。 {{ select(4) }}

  • 0000 0101
  • 1000 0101
  • 0000 0101 或 1000 0101
  • 算术右移后结果取决于符号位

第5题

二进制数 1101.101 对应的十进制数是( ) {{ select(5) }}

  • 13.625
  • 12.75
  • 11.875
  • 14.5

第6题

补码加法中,若最高位和次高位进位不同,则说明( ) {{ select(6) }}

  • 结果正确
  • 发生上溢
  • 发生下溢
  • 结果符号位错误

第7题

八进制数 35.6 对应的十进制数是( ) {{ select(7) }}

  • 29.75
  • 28.5
  • 27.625
  • 30.25

第8题

二进制数 1010 | 1100 的结果是( ) {{ select(8) }}

  • 1000
  • 1110
  • 1010
  • 1100

第9题

以下哪个位运算可以交换两个变量的值(无需临时变量)( ) {{ select(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的整型数组( ) {{ select(10) }}

  • int array = new int[5];
  • array int[5];
  • int[] array = {1,2,3,4,5};
  • int array[5];

第11题

以下程序使用枚举法(穷举法)求解满足条件的三位数,横线处应该填入的是()

#include <iostream>
using namespace std;
int main() {
    int count = 0;
    for (int i = 100; i <= 999; i++) {
        int a = i / 100;
        _________________________
        int c = i % 10;
        if (a * a + b * b == c * c) {
            count++;
        }
    }
    cout << count << endl;
    return 0;
}

{{ select(11) }}

  • int b = (i / 10) / 10;
  • int b = (i / 10) % 10;
  • int b = (i % 10) / 10;
  • int b = (i % 10) % 10;

第12题

以下程序模拟了一个简单的小球反弹过程,横线处应该填入的是()

#include <iostream>
using namespace std;
int main() {
    int height = 10;
    int distance = 0;
    for (int i = 1; i <= 5; i++) { // 模拟5次落地
        __________________________
        height /= 2;
        distance += height;
    }
    cout << distance << endl;
    return 0;
}

{{ select(12) }}

  • distance += height/2;
  • distance += height;
  • distance += height*2;
  • distance += height+1;

第13题

C++代码 string s = "GESP考试"; ,s占据的字节数是() {{ select(13) }}

  • 10
  • 8
  • 8或10
  • 取决于计算机采用什么编码

第14题

C++语句 string s="Gesp Test"; 执行s.rfind("e")以后,输出的是() {{ select(14) }}

  • 1
  • 2
  • 6
  • 3

第15题

字符串"Gesp考试",字符数是( ) {{ select(15) }}

  • 10
  • 8
  • 6
  • 字符数多少取决于编码

二、判断题

本试卷共10道判断题,考察对+语言特性的理解。


第16题

C++中string的==运算符比较的是字符串的内存地址,而非内容。 {{ select(16) }}

  • 正确
  • 错误

第17题

string的substr(1, 3)返回从下标1开始的3个字符的子串。 {{ select(17) }}

  • 正确
  • 错误

第18题

x是浮点数,(x >> 1)等价于x / 2。 {{ select(18) }}

  • 正确
  • 错误

第19题

string("hello") == "hello"的比较结果为true。 {{ select(19) }}

  • 正确
  • 错误

第20题

sort可以直接用于排序set中的元素。 {{ select(20) }}

  • 正确
  • 错误

第21题

(x & 1) == 0可以判断整数x是否为偶数。 {{ select(21) }}

  • 正确
  • 错误

第22题

string的substr(2, 10)在字符串长度不足时会抛出异常。 {{ select(22) }}

  • 正确
  • 错误

第23题

在数学纸面计算中,pow(2, 3)的计算结果一定是8,但是在C++中,如果遇到数据类型是浮点数,那就不一定正确。 {{ select(23) }}

  • 正确
  • 错误

第24题

在C++中,枚举的底层类型可以是非整型(如float或double)。 {{ select(24) }}

  • 正确
  • 错误

第25题

函数声明double f(); 返回int时,会自动转换为double。 {{ select(25) }}

  • 正确
  • 错误