Logo

2023年12月 GESP C++ 3级

GESP · 3级 · 2023-12

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

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

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

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

1

下面 C++ 数组的定义中,会丢失数据的是( )。

2

在下列编码中,不能够和二进制 "1101 1101" 相等的是( )。

3

下面 C++ 代码执行后不能输出 "GESP" 的是( )。

4

执行下面 C++ 代码输出是( )。
A 10

5

执行下面 C++ 代码后,输出是( )。

6

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

7

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

8

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

9

下面 C++ 代码用于统计每种字符出现的次数,当输出为 $3$ 时,横线上不能填入的代码是( )。

10

32 位计算机中,C++ 的整型变量 int 能够表示的数据范围是( )。

11

下面 C++ 程序执行的结果是( )。

12

C++ 的数据类型转换让人很难琢磨透,下列代码输出的值是( )。

13

C++ 代码用于抽取字符串中的电话号码。约定:电话号码全部是数字,数字之间没有其他符号如连字符或空格等。代码中变量 strSrc 仅仅是示例,可以包含更多字符。下面有关代码说法,正确的说法是( )。

14

某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )

15

现代计算机是指电子计算机,它所基于的是( )体系结构。

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

16

执行 C++ 代码 cout << (5 && 2) << endl; 后将输出 $1$。( )

17

C++ 程序执行后,输入 chen a dai 输出应该为:chen。( )

18

执行 C++ 代码 cout << (5 || 2); 后将输出 $1$。( )

19

执行下面 C++ 代码后将输出 "China"。( )

20

执行 C++ 代码将输出 0 55 之后还有一个空格。( )

21

下面 C++ 代码将输出 1( )

22

下面 C++ 程序将输出 $1$。( )

23

执行 C++ 代码,将输出 1 3 5 7 9,9 之后还有一个空格。( )

24

小杨最近在准备考 GESP,他用的 Dev C++ 来练习和运行程序,所以 Dev C++ 也是一个小型操作系统。( )

25

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

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

26
编程操作题 25分

试题名称:小猫分鱼

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

题目描述

海滩上有一堆鱼,$N$ 只小猫来分。第一只小猫把这堆鱼平均分为 $N$ 份,多了 $i<N$ 个,这只小猫把多的 $i$ 个扔入海中,拿走了一份。第二只小猫接着把剩下的鱼平均分成 $N$ 份,又多了 $i$ 个,小猫同样把多的 $i$ 个扔入海中,拿走了一份。第三、第四、……,第 $N$ 只小猫仍是最终剩下的鱼分成 $N$ 份,扔掉多了的 $i$ 个,并拿走一份。

编写程序,输入小猫的数量 $N$ 以及每次扔到海里的鱼的数量 $i$,输出海滩上最少的鱼数,使得每只小猫都可吃到鱼。

例如:两只小猫来分鱼 $N=2$,每次扔掉鱼的数量为 $i=1$,为了每只小猫都可吃到鱼,可令第二只小猫需要拿走 $1$ 条鱼,则此时待分配的有 $3$ 条鱼。第一只小猫待分配的鱼有 $3\times 2+1=7$ 条。

输入格式

总共 $2$ 行。第一行一个整数 $N$,第二行一个整数 $i$。

保证 $0<N<10$;$i<N$ 。

输出格式

一行一个整数,表示满足要求的海滩上最少的鱼数。

样例输入 #1

2
1

样例输出 #1

7

样例输入 #2

3
1

样例输出 #2

25

说明/提示

样例解释 2

三只小猫来分鱼 $N=3$,每次扔掉鱼的数量为 $i=1$,为了每只小猫都可吃到鱼,可令第三只小猫需要拿走 $3$ 条鱼(拿走 $1$ 条和 $2$ 条不满足要求),则此时待分配的有 $10$ 条鱼。第二只小猫待分配的鱼有 $10×3/2+1 = 16$ 条。第一只小猫待分配的鱼有 $16×3/2+1 = 25$ 条。

27
编程操作题 25分

试题名称:单位转换

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

题目描述

小杨这周的数学作业是做单位转换,喜欢编程的小杨决定编程帮他解决这些问题。

小杨只学了长度单位和重量单位,具体来说:

  • 长度单位包括千米(km)、米(m)、毫米(mm),它们之间的关系是:$1\text{km} = 1000\text{m} = 1000000\text{mm}$。

  • 重量单位包括千克(kg)、克(g)、毫克(mg),它们之间的关系是:$1\text{kg} = 1000\text{g} = 1000000\text{mg}$。

小杨的作业只涉及将更大的单位转换为更小的单位,也就是说,小杨的作业只会包含如下题型:米转换为毫米,千米转换为毫米,千米转换为米,克转换为毫克,千克转换为毫克,千克转换为克。

现在,请你帮忙完成单位转换的程序。

输入格式

输入的第一行为一个整数,表示题目数量。

接下来 $N$ 行,每行一个字符串,表示转换单位的题目,格式为 $x$ 单位 $1 = ?$ 单位 $2$。其中,$x$ 为一个不超过 $1000$ 的非负整数, 单位 $1$ 和 单位 $2$ 分别为两个单位的英文缩写,保证它们都是长度单位或都是重量单位,且 单位 1单位 2 更大。

例如,如果题目需要你将 $1\text{km}$ 转换为 $\text{mm}$,则输入为 1 km = ? mm

保证 $1\le N \le 1000$。

输出格式

输出 $N$ 行,依次输出所有题目的答案,输出时,只需要将输入中的 $?$ 代入答案,其余部分一字不差地输出即可。由于小杨的题目只涉及将更大的单位转换为更小的单位,并且输入的 $x$ 是整数,因此答案一定也是整数。

例如,如果题目需要你将 $1\text{km}$ 转换为 $\text{mm}$,则输入为 1 km = ? mm。则你需要输出 1 km = 1000000 mm

样例输入 #1

2
1 km = ? mm
1 m = ? mm

样例输出 #1

1 km = 1000000 mm
1 m = 1000 mm

样例输入 #2

5
100 m = ? mm
1000 km = ? m
20 kg = ? g
200 g = ? mg
0 kg = ? mg

样例输出 #2

100 m = 100000 mm
1000 km = 1000000 m
20 kg = 20000 g
200 g = 200000 mg
0 kg = 0 mg
已答 0/27