202506 GESP认证 C++编程 三级真题试卷
剩余时间 --:--:--
单选题 共 15 题
1.

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

2.

反码表示中,零的表示形式有:

3.

补码 1011 1011 对应的真值是( )

4.

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

5.

二进制数 1101.101 对应的十进制数是( )

6.

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

7.

八进制数 35.6 对应的十进制数是( )

8.

二进制数 1010 | 1100 的结果是( )

9.

以下哪个位运算可以交换两个变量的值(无需临时变量)( )

10.

如何正确定义一个长度为5的整型数组( )

11.

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

#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;
}
12.

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

#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;
}
13.

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

14.

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

15.

字符串"Gesp考试",字符数是( )

判断题 共 10 题
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

问答题 共 2 题
1.

试题名称:奇偶校验

时间限制:1.0 s

内存限制:512.0 MB

3.1.1 题目描述

数据在传输过程中可能出错,因此接收方收到数据后通常会校验传输的数据是否正确,奇偶校验是经典的校验方式之一。

给定 n 个非负整数c1,c2...cn 代表所传输的数据,它们的校验码取决于这些整数在二进制下1 的数量之和的奇偶性。如果这些整数在二进制下共有奇数个1 ,那么校验码为1 ;否则校验码为 0。你能求出这些整数的校验码吗?

3.1.2 输入格式

第一行,一个正整数n ,表示所传输的数据量。

第二行, n个非负整数 c1,c2...cn 表示所传输的数据。

3.1.3 输出格式

输出一行,两个整数,以一个空格分隔:

第一个整数表示 c1,c2...cn 在二进制下 1的总数量;

第二个整数表示校验码(01)。

3.1.4 样例

3.1.4.1 输入样例 1

4

71 69 83 80

3.1.4.2 输出样例 1

13 1

3.1.4.3 输入样例 2

1 2 4 8 16 32

3.1.4.4 输出样例 2

6 0

3.1.5 数据范围

对于所有测试点,保证 1<=n<=100,0<=ci<=255 

2.

试题名称:分糖果

时间限制:1.0 s

内存限制:512.0 MB

3.2.1 题目描述

有n 位小朋友排成一队等待老师分糖果。第i 位小朋友想要至少 ai颗糖果,并且分给他的糖果数量必须比分给前一位小朋友的糖果数量更多,不然他就会不开心。

老师想知道至少需要准备多少颗糖果才能让所有小朋友都开心。你能帮帮老师吗?

3.2.2 输入格式

第一行,一个正整数n ,表示小朋友的人数。

第二行, n个正整数a1,a2...an ,依次表示每位小朋友至少需要的糖果数量。

3.2.3 输出格式

输出一行,一个整数,表示最少需要准备的糖果数量。

3.2.4 样例

3.2.4.1 输入样例 1

4

1 4 3 3

3.2.4.2 输出样例 1

16

3.2.4.3 输入样例 2

15

314 15926 53589793 238462643 383279502 8 8 4 1 9 7 1 6 9 3

3.2.4.4 输出样例 2

4508143253

3.2.5 数据范围

对于所有测试点,保证 1<=n<=1000 1<=ai<=109

C++ 编辑器
输入
输出