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

GESP C++ 二级 模拟卷2

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

GESP C++ 二级模拟卷2(ASCII编码、流程图符号、多层分支与循环嵌套、计算机基础知识)

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

// questions

题目预览

1
单选题2

已知字符 'A' 的 ASCII 码为 65,则字符 'E' 的 ASCII 码是( )

A

66

B

67

C

68

D

69

2
单选题2

在程序流程图中,平行四边形框通常用于表示( )

A

程序的开始和结束

B

条件判断

C

数据处理

D

输入输出

3
单选题2

表达式 5 + 3 * 4 % 5 的值是( )

A

2

B

5

C

7

D

8

4
单选题2

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

int i = 5, s = 0;
while (i > 0) {
    s += i;
    i--;
}
cout << s;
A

10

B

12

C

14

D

15

5
单选题2

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

int cnt = 0;
for (int i = 2; i <= 4; i++) {
    for (int j = 1; j <= i; j++) {
        cnt++;
    }
}
cout << cnt;
A

9

B

10

C

12

D

6

6
单选题2

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

int s = 0;
for (int i = 1; i <= 6; i++) {
    if (i % 2 == 0) continue;
    s += i;
}
cout << s;
A

6

B

9

C

12

D

21

7
单选题2

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

int x = 7;
if (x > 10) {
    x += 1;
} else if (x > 5) {
    x += 2;
} else {
    x += 3;
}
cout << x;
A

7

B

8

C

9

D

10

8
单选题2

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

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

6

B

10

C

15

D

21

9
单选题2

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

int x = 2;
switch (x) {
    case 1: cout << 'A'; break;
    case 2: cout << 'B';
    case 3: cout << 'C'; break;
    default: cout << 'D';
}
A

B

B

BC

C

ABC

D

BCD

10
单选题2

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

int s = 0;
for (int i = 1; i <= 10; i++) {
    if (i % 3 == 0) break;
    if (i % 2 == 0) continue;
    s += i;
}
cout << s;
A

1

B

4

C

9

D

0

11
单选题2

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

int n = 123, rev = 0;
while (n > 0) {
    rev = rev * 10 + n % 10;
    n /= 10;
}
cout << rev;
A

123

B

12

C

321

D

6

12
单选题2

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

int a = 1, b = 1, c;
for (int i = 3; i <= 6; i++) {
    c = a + b;
    a = b;
    b = c;
}
cout << c;
A

5

B

6

C

7

D

8

13
单选题2

以下关于计算机存储的描述,正确的是( )

A

1KB = 1000Byte

B

1MB = 1000KB

C

1GB = 1024MB

D

1TB = 1000GB

14
单选题2

在程序流程图中,菱形框通常用于表示( )

A

程序的开始和结束

B

条件判断

C

数据处理

D

输入输出

15
单选题2

以下代码用于判断 n 是否为回文数,横线处应填入( )

int n, rev = 0, tmp;
cin >> n;
tmp = n;
while (tmp > 0) {
    rev = rev * 10 + tmp % 10;
    tmp /= 10;
}
if (______) cout << "Yes";
A

rev == 0

B

n == tmp

C

rev == n

D

tmp != 0

16
判断题2

使用 cin 读取字符串时,如果输入包含空格,cin 只会读取空格之前的部分。( )

17
判断题2

int arr[5] = {1, 2, 3}; 这行代码中,未被显式初始化的数组元素的值是随机的。( )

18
判断题2

在C++中,整数 0 表示逻辑值 true。( )

19
判断题2

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

20
判断题2

函数调用时,实参的名称必须与形参的名称相同。( )

21
判断题2

for (int i = 0; i < 5; i++) 的循环体会执行 5 次。( )

22
判断题2

switch 语句中的 default 子句是必须的。( )

23
判断题2

字符串 "hello" 的长度是 5。( )

24
判断题2

int x = 3.14; 执行后变量 x 的值为 3.14。( )

25
判断题2

在C++中,数组名表示数组首元素的地址。( )

GESP 编程操作题
26
编程题25

试题名称:递推数列

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

已知一个数列的前两项为 a₁ = 1,a₂ = 2。从第三项开始,每一项等于前两项之和:aₙ = aₙ₋₁ + aₙ₋₂。给定一个正整数 N,请输出该数列的第 N 项的值。

输入格式 一行,一个正整数 N(1 ≤ N ≤ 30)。

输出格式 一行,一个整数,表示数列第 N 项的值。

样例输入 #1

5

样例输出 #1

8

说明/提示 数列前5项:1, 2, 3, 5, 8。第5项为8。

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

试题名称:数字三角形

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

给定一个正整数 N,输出一个 N 行的数字三角形。第 i 行输出从 1 到 i 的连续整数,数字之间用一个空格分隔。

输入格式 一行,一个正整数 N(1 ≤ N ≤ 20)。

输出格式 N 行,每行输出从 1 开始的连续整数,数字之间用一个空格分隔。

样例输入 #1

4

样例输出 #1

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