信奥刷题站
GESP 认证 3级2026-06

GESP C++ 三级 模拟卷1

题量
27 题
客观题
25 题
建议时长
120 分钟
卷面总分
100 分

GESP C++ 三级模拟卷1(位运算、数组操作、进制转换、字符串处理、枚举法与模拟法)

开始整卷模拟计时作答 · 交卷即时判分 · 错题自动进错题本(需登录)2 道编程大题:在线只判客观题,编程题请自行前往洛谷等 OJ 提交验证

// questions

题目预览

1
单选题2

表达式 (3 & 5) 的值是( )

A

1

B

3

C

5

D

7

2
单选题2

执行以下代码后,输出的结果是( )

string s = "abc123";
cout << s.length();
A

3

B

6

C

5

D

7

3
单选题2

十进制数 -5 的 8 位二进制补码表示为( )

A

10000101

B

11111010

C

11111011

D

11111000

4
单选题2

执行以下代码后,变量 s 的值是( )

int s = 0;
for (int i = 1; i <= 5; i++) {
    s += i * i;
}
cout << s;
A

15

B

25

C

55

D

30

5
单选题2

十进制数 13 转换为二进制数是( )

A

1011

B

1001

C

1110

D

1101

6
单选题2

以下问题最适合使用枚举法解决的是( )

A

在一个有序数组中查找某个数

B

找出 100 以内所有的质数

C

计算一个正数的平方根

D

对一组数据进行排序

7
单选题2

执行以下代码后,输出的结果是( )

int a[5] = {3, 1, 4, 1, 5};
int s = 0;
for (int i = 0; i < 5; i++) {
    if (a[i] % 2 == 0) s += a[i];
}
cout << s;
A

0

B

4

C

5

D

14

8
单选题2

执行以下代码后,输出的结果是( )

int add(int a, int b = 3) {
    return a + b;
}
int main() {
    cout << add(4);
    return 0;
}
A

4

B

7

C

3

D

12

9
单选题2

执行以下代码后,变量 x 的值是( )

int x = 5, y = 8;
int *p = &x;
*p = y;
cout << x;
A

5

B

0

C

13

D

8

10
单选题2

表达式 (8 >> 1) 的值是( )

A

4

B

8

C

16

D

2

11
单选题2

已知字符 'A' 的 ASCII 码为 65,以下代码的输出结果是( )

char c = 'C';
cout << (int)c;
A

65

B

66

C

67

D

68

12
单选题2

执行以下代码后,变量 sum 的值是( )

int sum = 0;
for (int i = 1; i <= 8; i++) {
    if (i % 3 == 0) continue;
    sum += i;
}
cout << sum;
A

30

B

27

C

24

D

36

13
单选题2

执行以下代码后,输出的结果是( )

int a[6] = {1, 2, 3, 4, 5, 6};
int s = 0;
for (int i = 0; i < 6; i += 2) {
    s += a[i];
}
cout << s;
A

6

B

9

C

12

D

21

14
单选题2

执行以下代码后,输出的结果是( )

string s = "Hello, World!";
cout << s.find("World");
A

5

B

6

C

7

D

8

15
单选题2

十六进制数 A3 转换为十进制数是( )

A

163

B

150

C

172

D

160

16
判断题2

在 C++ 中,int 类型的变量可以存储小数部分。( )

17
判断题2

C++ 中数组的下标是从 1 开始的。( )

18
判断题2

break 语句可以在 switch 语句中使用。( )

19
判断题2

位运算符 | 表示逻辑或运算。( )

20
判断题2

函数可以定义为 void 类型,即不返回任何值。( )

21
判断题2

string 类型的 length() 方法返回字符串中字符的个数。( )

22
判断题2

continue 语句的作用是跳过当前循环的剩余部分,直接进入下一次循环。( )

23
判断题2

表达式 10 / 3 在 C++ 中的值为 3.333。( )

24
判断题2

一维数组的数组名可以隐式转换为指向数组首元素的指针。( )

25
判断题2

表达式 (3 < 5) && (2 > 4) 的值为 true。( )

GESP 编程操作题
26
编程题25

试题名称:统计质数

时间限制:1.0 s | 内存限制:512.0 MB

给定 N 个正整数,请统计其中质数(素数)的个数。

质数定义:大于 1 的自然数,且只能被 1 和它本身整除。

输入格式 第一行,一个正整数 N(1 ≤ N ≤ 100)。 第二行,N 个正整数,每个数不超过 10000,数之间用空格分隔。

输出格式 一行,一个整数,表示质数的个数。

样例输入 #1

5
7 10 13 4 17

样例输出 #1

3

说明/提示 5个数中:7是质数,10不是,13是质数,4不是,17是质数,共3个。

本题为编程大题:请复制题面到洛谷 / GESP OJ 等平台编写并提交代码(本站不判分)
27
编程题25

试题名称:开关灯问题

时间限制:1.0 s | 内存限制:512.0 MB

有 N 盏灯,编号为 1 到 N,初始时全部关闭(熄灭)。按顺序进行 K 次操作,第 i 次操作(i 从 1 到 K)将所有编号为 i 的倍数的灯进行反向操作(开变成关,关变成开)。求最终亮着的灯的数量。

输入格式 一行,两个正整数 N 和 K(1 ≤ N ≤ 1000,1 ≤ K ≤ N)。

输出格式 一行,一个整数,表示最终亮着的灯的数量。

样例输入 #1

5 3

样例输出 #1

2

说明/提示 初始:全部熄灭。第1次操作(i=1):所有编号为1的倍数的灯(1~5全部)反向 → 全部点亮。第2次操作(i=2):编号2,4反向 → 灯1亮,2灭,3亮,4灭,5亮。第3次操作(i=3):编号3反向 → 灯1亮,2灭,3灭,4灭,5亮。最终亮着的灯:1和5,共2盏。

本题为编程大题:请复制题面到洛谷 / GESP OJ 等平台编写并提交代码(本站不判分)