2023年12月 GESP C++ 3级认证考试真题(含编程操作题部分)
选 单选题(共 15 题,每题 2 分)
下面 C++ 数组的定义中,会丢失数据的是( )。
在下列编码中,不能够和二进制 "1101 1101" 相等的是( )。
下面 C++ 代码执行后不能输出 "GESP" 的是( )。
执行下面 C++ 代码输出是( )。
A 10
执行下面 C++ 代码后,输出是( )。
执行下面 C++ 代码后输出的是( )。
执行下面 C++ 代码后输出的是( )。
下面 C++ 代码执行后的输出是( )。
下面 C++ 代码用于统计每种字符出现的次数,当输出为 $3$ 时,横线上不能填入的代码是( )。
32 位计算机中,C++ 的整型变量 int 能够表示的数据范围是( )。
下面 C++ 程序执行的结果是( )。
C++ 的数据类型转换让人很难琢磨透,下列代码输出的值是( )。
C++ 代码用于抽取字符串中的电话号码。约定:电话号码全部是数字,数字之间没有其他符号如连字符或空格等。代码中变量 strSrc 仅仅是示例,可以包含更多字符。下面有关代码说法,正确的说法是( )。
某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
现代计算机是指电子计算机,它所基于的是( )体系结构。
判 判断题(共 10 题,每题 2 分)
执行 C++ 代码 cout << (5 && 2) << endl; 后将输出 $1$。( )
C++ 程序执行后,输入 chen a dai 输出应该为:chen。( )
执行 C++ 代码 cout << (5 || 2); 后将输出 $1$。( )
执行下面 C++ 代码后将输出 "China"。( )
执行 C++ 代码将输出 0 5,5 之后还有一个空格。( )
下面 C++ 代码将输出 1( )
下面 C++ 程序将输出 $1$。( )
执行 C++ 代码,将输出 1 3 5 7 9,9 之后还有一个空格。( )
小杨最近在准备考 GESP,他用的 Dev C++ 来练习和运行程序,所以 Dev C++ 也是一个小型操作系统。( )
任何一个 while 循环都可以转化为等价的 for 循环( )。
编 编程操作题(共 2 题,共 50 分)
试题名称:小猫分鱼
时间限制: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$ 条。
试题名称:单位转换
时间限制: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