Logo

GESP C++ 二级 模拟卷2

GESP · 2级 · 2026-06

90:00
满分 100
时长 90 分钟
27

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

答题卡 已答 0/27
已答 正确 错误 编程题

单选题(共 15 题,每题 2 分)

1

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

2

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

3

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

4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

14

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

15

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

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

判断题(共 10 题,每题 2 分)

16

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

17

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

18

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

19

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

20

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

21

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

22

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

23

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

24

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

25

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

编程操作题(共 2 题,共 50 分)

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。

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
已答 0/27