信奥刷题站
GESP 认证 2级2024-03

2024年3月 GESP C++ 2级

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

2024年3月 GESP C++ 2级认证考试真题(含编程操作题部分)

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

// questions

题目预览

1
单选题2

下列流程图的输出结果是?( )

A

优秀

B

良好

C

不及格

D

没有输出

2
单选题2

以下选项中不符合 C++ 变量命名规则的是?( )

A

student

B

2_from

C

_to

D

Text

3
单选题2

以下选项中,不能用于表示分支结构的 C++ 保留字是?( )

A

switch

B

return

C

else

D

if

4
单选题2

下列说法错误的是?( )

A

while 循环满足循环条件时不断地运行,直到指定的条件不满足为止

B

if 语句通常用于执行条件判断

C

在 C++ 中可以使用 foreach 循环

D

breakcontinue 语句都可以用在 for 循环和 while 循环中

5
单选题2

下列 444 个表达式中,答案不是整数 888 的是?( )

A

abs(-8)

B

min(max(8, 9), 10)

C

int(8.88)

D

sqrt(64)

6
单选题2

下面 C++ 代码执行后的输出是?()

int n, a, m, i;
n = 3, a = 5;
m = (a - 1) * 2;
for (i = 0; i < n - 1; i++)
    m = (m - 1) * 2;
cout << m;
A

888

B

141414

C

262626

D

505050

7
单选题2

下面 C++ 代码执行后的输出是?()

int n, i, result;
n = 81;
i = 1, result = 1;
while (i * i <= n) {
    if (n % (i * i) == 0)
        result = i * i;
    i += 1;
}
cout << result;
A

161616

B

363636

C

494949

D

818181

8
单选题2

下面 C++ 代码执行后的输出是?()

int s, t, ans;
s = 2, t = 10;
ans = 0;
while (s != t) {
    if (t % 2 == 0 && t / 2 >= s)
        t /= 2;
    else
        t -= 1;
    ans += 1;
}
cout << ans;
A

222

B

333

C

444

D

555

9
单选题2

下面 C++ 代码执行后的输出是?()

int n, masks, days, cur;
n = 17, masks = 10, days = 0;
cur = 2;
while (masks != n) {
    if (cur == 0 || cur == 1)
        masks += 7;
    masks -= 1;
    days += 1;
    cur = (cur + 1) % 7;
}
cout << days;
A

555

B

666

C

777

D

888

10
单选题2

以下 C++ 代码判断一个正整数 NNN 的各个数位是否都是偶数。如果都是,则输出“是”,否则输出“否”。例如 N=2024N=2024N=2024 时输出“是”。则横线处应填入( )。

int N, Flag;
cin >> N;
Flag = true;
while (N != 0){
    if (N % 2 != 0){
        Flag = false;
        _____________
    }
    else
        N /= 10;
}
if (Flag == true)
    cout << "是";
else
    cout << "否";
A

break

B

continue

C

N = N / 10

D

N = N % 10

11
单选题2

有句俗话叫“三天打渔,两天晒网”。如果小杨前三天打渔,后两天晒网,一直重复这个过程,以下程序代码用于判断,第 nnn 天小杨是在打鱼还是晒网,横线处应填写?( )

int n,i;
cin >> n;
i = n % 5;
if (__________________) // 在此处填写代码
    cout << "晒网";
else
    cout << "打鱼";
A

i == 0

B

i == 4

C

i == 0 && i == 4

D

i == 0 || i == 4

12
单选题2

一个数的所有数字倒序排列后这个数的大小保持不变,这个数就是回文数,比如 101101101688668866886 都是回文数,而 100100100 不是回文数。以下程序代码用于判断一个数是否为回文数,横线处应填写?( )

int n,a,k;
cin >> n;
a = 0;
k = n;
while (n > 0){
    a = __________; // 在此处填写代码
    n /= 10;
}
if (a == k)
    cout << "是回文数";
else
    cout << "不是回文数";
A

10 * a + n % 10

B

a + n % 10

C

10 * a + n / 10

D

a + n / 10

13
单选题2

给定两个整数 nnnkkk,打印出一个栅栏图形,这个栅栏应该分成 nnn 段,段与段之间的间隔为 +, 段内的填充为 kkk-。形如 n=5n = 5n=5k=6k = 6k=6 时,图形如下:

+------+------+------+------+------+

以下程序代码用于绘制该图形,横线处应填写?( )

int n, k, i, j;
n = 5, k = 6;
for (i = 0; i < n; i++){
    __________ // 在此处填写代码
    for (j = 1; j < k; j++)
        cout << '-' ;
}
cout << '+';
A

cout << '+' << endl;

B

cout << '+' << ' ' << endl;

C

cout << '+';

D

cout << '+' << ' ';

14
单选题2

小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是。( )

A

小程序

B

计时器

C

操作系统

D

神话人物

15
单选题2

中国计算机学会(CCF)在 2024 年 1 月 27 日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。

A

制造自动驾驶汽车

B

创立培训学校

C

发明汉字激光照排系统

D

成立方正公司

16
判断题2

如果有以下 C++ 代码:

double s;
int t;
s = 18.5;
t = int(s) + 10;

那么 cout << t 的结果为 28.528.528.5

17
判断题2

XyzxYzxyZ 是三个不同的变量。

18
判断题2

cout << (8 < 9 < 10) 的输出结果为 true

19
判断题2

for (i = 0; i < 100; i+=2) ; 语句中变量 iii 的取值范围是 000999999

20
判断题2

C++ 中 cout << float(2022)cout << float('2022') 运行后的输出结果均为 202220222022

21
判断题2

已知 A 的 ASCII 码值为 656565,表达式 int('C') + abs(-5.8) 的值为 72.872.872.8

22
判断题2

bool() 函数用于将给定参数或表达式转换为布尔类型。语句 bool(-1) 返回的是 false 值。( )

23
判断题2

如果变量 aaa 的值使得 C++ 表达式 sqrt(a) == abs(a),则 aaa 的值为 000。( )

24
判断题2

小杨今年春节回奶奶家了,奶奶家的数字电视要设置 ip 地址并接入到 WIFI 盒子才能收看节目,那这个 WIFI 盒子具有路由器的功能。( )

25
判断题2

任何一个 for 循环都可以转化为等价的 while 循环( )。

GESP 编程操作题
26
编程题25

试题名称:乘法问题

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

题目描述

小 A 最初刚刚学习了乘法,为了帮助他练习,我们给他若干个正整数,并要求他将这些数乘起来。

对于大部分题目,小 A 可以精确地算出答案,不过,若这些数的乘积超过 10610^6106,小 A 就不会做了。

请你写一个程序,告诉我们小 A 会如何作答。

输入格式

第一行一个整数 nnn,表示正整数的个数。

接下来 nnn,每行一个整数 aaa。小 A 需要将所有的 aaa 乘起来。

输出格式

输出一行,如果乘积超过 10610^6106,则输出 >1000000;否则输出所有数的乘积。

样例输入 #1

2
3
5

样例输出 #1

15

样例输入 #2

3
100
100
100

样例输出 #2

1000000

样例输入 #3

4
100
100
100
2

样例输出 #3

>1000000

说明/提示

数据规模与约定

对全部的测试数据,保证 1≤n≤501 \leq n \leq 501n501≤a≤1001 \leq a \leq 1001a100

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

试题名称:小杨的日字矩阵

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

题目描述

小杨想要构造一个 N×NN\times NN×N 的日字矩阵(NNN 为奇数),具体来说,这个矩阵共有 NNN 行,每行 NNN 个字符,其中最左列、最右列都是 |,而第一行、最后一行、以及中间一行(即第 N+12\frac{N+1}{2}2N+1 行)的第 2∼N−12\sim N-12N1 个字符都是 - ,其余所有字符都是半角小写字母 x 。例如,一个 N=5N = 5N=5 日字矩阵如下:

|---|
|xxx|
|---|
|xxx|
|---|

请你帮小杨根据给定的 NNN 打印出对应的“日字矩阵”。

输入格式

一行一个整数 NNN5≤N≤495\leq N \leq 495N49,保证 NNN 为奇数)。

输出格式

输出对应的“日字矩阵”。

请严格按格式要求输出,不要擅自添加任何空格、标点等任何符号。你一个恰好输出 NNN 行,每行除了换行符外恰好包含 NNN 个字符,这些字符要么是 -,要么是 |,要么是 x你的输出必须和标准答案完全一致才能得分,请在提交前仔细检查

样例输入 #1

5

样例输出 #1

|---|
|xxx|
|---|
|xxx|
|---|

样例输入 #2

7

样例输出 #2

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