2023年12月 GESP C++ 3级
2023年12月 GESP C++ 3级认证考试真题(含编程操作题部分)
// questions
题目预览
下面 C++ 数组的定义中,会丢失数据的是( )。
char dict_key[] = {'p','t','o'};
int dict_value[] = {33,22,11};
char dict_name[]={'chen','wang','zhou'};
float dict_value[]={3,2,1};
在下列编码中,不能够和二进制 "1101 1101" 相等的是( )。
(221221221)101010 进制
(335335335)888 进制
(dd)161616 进制
(5d)161616 进制
下面 C++ 代码执行后不能输出 "GESP" 的是( )。
string str("GESP"); cout << str << endl;
string str = "GESP"; cout << str << endl;
string str("GESP"); cout << str[1] << str[2] << str[3] << str[4] << endl;
string str{"GESP"}; cout << str << endl;
执行下面 C++ 代码输出是( )。 A 10
101010
888
444
333
执行下面 C++ 代码后,输出是( )。
444
222
555
333
执行下面 C++ 代码后输出的是( )。
444
333
222
555
执行下面 C++ 代码后输出的是( )。
输出未知的数
输出 'n'
输出 '\0'
输出空格
下面 C++ 代码执行后的输出是( )。
000
111
输出空格
什么也不输出
下面 C++ 代码用于统计每种字符出现的次数,当输出为 333 时,横线上不能填入的代码是( )。
str[i] == 'o'
str[i] == 'a' + 14
str[i] == 115
str[i] == 111
32 位计算机中,C++ 的整型变量 int 能够表示的数据范围是( )。
231∼(231)−12^{31} \sim (2^{31}) - 1231∼(231)−1
2322^{32}232
−231∼+(231)−1-2^{31} \sim +(2^{31}) - 1−231∼+(231)−1
−(231)+1∼231-(2^{31}) + 1 \sim 2^{31}−(231)+1∼231
下面 C++ 程序执行的结果是( )。
222
333
555
444
C++ 的数据类型转换让人很难琢磨透,下列代码输出的值是( )。
1.51.51.5
111
222
1.501.501.50
C++ 代码用于抽取字符串中的电话号码。约定:电话号码全部是数字,数字之间没有其他符号如连字符或空格等。代码中变量 strSrc 仅仅是示例,可以包含更多字符。下面有关代码说法,正确的说法是( )。
代码将换行输出各个含有数字的电话号码。
代码将不换行输出各个含有数字的电话号码,号码中间没有分隔。
代码将不换行输出各个含有数字的电话号码,号码中间有分隔。
不能够输出数字电话号码。
某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
麦克风
扬声器
油量表
传感器
现代计算机是指电子计算机,它所基于的是( )体系结构。
艾伦·图灵
冯·诺依曼
阿塔纳索夫
埃克特-莫克利
执行 C++ 代码 cout << (5 && 2) << endl; 后将输出 111。( )
C++ 程序执行后,输入 chen a dai 输出应该为:chen。( )
执行 C++ 代码 cout << (5 || 2); 后将输出 111。( )
执行下面 C++ 代码后将输出 "China"。( )
执行 C++ 代码将输出 0 5,5 之后还有一个空格。( )
下面 C++ 代码将输出 1( )
下面 C++ 程序将输出 111。( )
执行 C++ 代码,将输出 1 3 5 7 9,9 之后还有一个空格。( )
小杨最近在准备考 GESP,他用的 Dev C++ 来练习和运行程序,所以 Dev C++ 也是一个小型操作系统。( )
任何一个 while 循环都可以转化为等价的 for 循环( )。
试题名称:小猫分鱼
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
海滩上有一堆鱼,NNN 只小猫来分。第一只小猫把这堆鱼平均分为 NNN 份,多了 i<Ni<Ni<N 个,这只小猫把多的 iii 个扔入海中,拿走了一份。第二只小猫接着把剩下的鱼平均分成 NNN 份,又多了 iii 个,小猫同样把多的 iii 个扔入海中,拿走了一份。第三、第四、……,第 NNN 只小猫仍是最终剩下的鱼分成 NNN 份,扔掉多了的 iii 个,并拿走一份。
编写程序,输入小猫的数量 NNN 以及每次扔到海里的鱼的数量 iii,输出海滩上最少的鱼数,使得每只小猫都可吃到鱼。
例如:两只小猫来分鱼 N=2N=2N=2,每次扔掉鱼的数量为 i=1i=1i=1,为了每只小猫都可吃到鱼,可令第二只小猫需要拿走 111 条鱼,则此时待分配的有 333 条鱼。第一只小猫待分配的鱼有 3×2+1=73\times 2+1=73×2+1=7 条。
输入格式
总共 222 行。第一行一个整数 NNN,第二行一个整数 iii。
保证 0<N<100<N<100<N<10;i<Ni<Ni<N 。
输出格式
一行一个整数,表示满足要求的海滩上最少的鱼数。
样例输入 #1
2
1
样例输出 #1
7
样例输入 #2
3
1
样例输出 #2
25
说明/提示
样例解释 2
三只小猫来分鱼 N=3N=3N=3,每次扔掉鱼的数量为 i=1i=1i=1,为了每只小猫都可吃到鱼,可令第三只小猫需要拿走 333 条鱼(拿走 111 条和 222 条不满足要求),则此时待分配的有 101010 条鱼。第二只小猫待分配的鱼有 10×3/2+1=1610×3/2+1 = 1610×3/2+1=16 条。第一只小猫待分配的鱼有 16×3/2+1=2516×3/2+1 = 2516×3/2+1=25 条。
试题名称:单位转换
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
小杨这周的数学作业是做单位转换,喜欢编程的小杨决定编程帮他解决这些问题。
小杨只学了长度单位和重量单位,具体来说:
-
长度单位包括千米(
km)、米(m)、毫米(mm),它们之间的关系是:1km=1000m=1000000mm1\text{km} = 1000\text{m} = 1000000\text{mm}1km=1000m=1000000mm。 -
重量单位包括千克(
kg)、克(g)、毫克(mg),它们之间的关系是:1kg=1000g=1000000mg1\text{kg} = 1000\text{g} = 1000000\text{mg}1kg=1000g=1000000mg。
小杨的作业只涉及将更大的单位转换为更小的单位,也就是说,小杨的作业只会包含如下题型:米转换为毫米,千米转换为毫米,千米转换为米,克转换为毫克,千克转换为毫克,千克转换为克。
现在,请你帮忙完成单位转换的程序。
输入格式
输入的第一行为一个整数,表示题目数量。
接下来 NNN 行,每行一个字符串,表示转换单位的题目,格式为 xxx 单位 1=?1 = ?1=? 单位 222。其中,xxx 为一个不超过 100010001000 的非负整数, 单位 111 和 单位 222 分别为两个单位的英文缩写,保证它们都是长度单位或都是重量单位,且 单位 1 比 单位 2 更大。
例如,如果题目需要你将 1km1\text{km}1km 转换为 mm\text{mm}mm,则输入为 1 km = ? mm。
保证 1≤N≤10001\le N \le 10001≤N≤1000。
输出格式
输出 NNN 行,依次输出所有题目的答案,输出时,只需要将输入中的 ??? 代入答案,其余部分一字不差地输出即可。由于小杨的题目只涉及将更大的单位转换为更小的单位,并且输入的 xxx 是整数,因此答案一定也是整数。
例如,如果题目需要你将 1km1\text{km}1km 转换为 mm\text{mm}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