ARTICLE · 1213340
2023年GESP09月认证C++三级试卷
旨在为小朋友们提供全面的学习材料,共同为等级考试做好准备。
添加小助手微信,回复【GESP 2023.09 C++三级】,获取本套试题答案。
2023年GESP09月认证C++三级试卷分数:100 题数:27
一、单选题(共15题,每题2分,共30分)
1、⼈们所使⽤的⼿机上安装的App通常指的是( )。
A. ⼀款操作系统 B. ⼀款应⽤软件 C. ⼀种通话设备 D. 以上都不对
2、下列流程图的输出结果是?( )

A. 60 B. 20 C. 5 D. 1
3、已知⼤写字符'A'的ASCII编码的⼗六进制表⽰为0x41 ,则字符'L'的ASCII编码的⼗六进制表⽰为?( )
A. 4A B. 4B C. 4C D. 52
4、以下哪个不是C++语⾔中的运算符?( )
A. ~ B. ~~ C. < D. <<
5、如果数组定义为long long array[] = {3, 5, 7, 2};,则数组array占⽤的字节数为?( )
A. 32 B. 16 C. 8 D. 4
6、⼀个数组定义为 double array[3];,则可合理访问这个数组的元素的下标最⼤为( )。
A. 2 B. 3 C. 23 D. 24
7、以下数组定义 ,符合C++语⾔语法的是( )。
A. double a[];B. double b[] = {1, 2.0, '3'};C. double c[3.0];D. double[] d = new double[3];
8、下列关于进制的叙述 ,正确的是?( )
A. 只有⼗进制和⼆进制能够⽤来表⽰⼩数 ,⼋进制和⼗六进制不可以。 B. 常⽤的进制包括⼆进制、⼋进制、⼗进制、⼗六进制,其他进制在⽇常⽣活中很少使⽤。 C. 对任意正整数 ,其⼆进制表⽰不会⽐它的⼗进制表⽰更短。 D. 正整数的⼋进制表⽰中 ,每⼀位可能出现的最⼤数字是8。
9、下列关于C++语⾔中数组的叙述 ,不正确的是( )。
A. 可以定义0个元素的数组。 B. 不能定义-1个元素的数组。 C. 数组下标越界访问会产⽣编译错误。 D. 程序运⾏时发⽣数组下标的越界访问,程序依然可能正常结束。
10、如果 a是int类型的变量 ,下列哪个表达式的值⼀定为 true?( )
A. a + 1000 - 1000 == aB. a * 2 / 2 == aC. (a & 1) == 1D. (a | 1) == a + 1
11、如果 a和b均为int类型的变量 ,下列表达式不能正确判断“ a等于b ”的是?( )。
A. ((a >= b) && (a <= b))B. ((a >> 1) == (b >> 1))C. ((a + b) == (a + a))D. ((a ^ b) == 0)
12、如果 a为char类型的变量 ,下列哪个表达式可以正确判断“a是⼤写字母”?( )
A. a - 'A' <= 26B. 'A' <= a <= 'Z'C. 'A' <= 'a' <= 'Z'D. ('A' <= a) && (a <= 'Z')
13、在下列代码的横线处填写( ) ,可以使得输出是"20 10"。
# include<iostream>usingnamespacestd;intmain(){int a = 10, b = 20; a = (a << 8) | b; __________ //在此处填入代码cout << a << " " << b << endl;return0;}A. a = a >> 8; b = a & 0xff;B. b = a >> 8; a = a & 0xff;C. a = b; b = a & 0xff;D. b = a; a = b;
14、在下列代码的横线处填写( ) ,可以使得输出是“120”。
1# include<iostream>2 usingname space std;34 intmain(){5intarray[5] = { 1,2,3,4,5 };6int res = 0;7for (int i = 0; i < 5; i++)8 __________; //在此处填入代码9cout << res << endl;10return 0;11 }A. res += array[i]B. res *= array[i]C. res = array[i]D. 以上均不对
15、下列代码的输出是( )。
1# include<iostream>2 using namespace std;34 intmain(){5int array[10];6for (int i = 0; i < 10; i++)7array[i] = i;8for (int p = 2; p < 10; p++)9if (array[p] == p)10for (int n = p; n < 10; n += p)11array[n] = array[n] / p * (p - 1);12int res = 0;13for (int n = 1; n < 10; n++)14 res += array[n];15cout << res << endl;16return 0;17 }A. 15 B. 28 C. 45 D. 55
二、判断题(共10题,每题2分,共20分)
1、⼆进制数101.101在⼗进制下是5.005。
正确(); 错误();
2、在C++语⾔中,位运算符也有类似“先乘除、后加减”的优先级规则。因此,使⽤时应注意合理使⽤括号。
正确(); 错误();
3、字符常量'3'的值和int类型常量3的值是相同的,只是占⽤的字节数不同。
正确(); 错误();
4、在C++语⾔中,长度为n的数组,访问下标为n的元素会引起编译错误。
正确(); 错误();
5、在C++语⾔中,所有int类型的值,经过若⼲次左移操作(<<)后,它们的值总会变为0。
正确(); 错误();
6、在C++语⾔中,数组下标的⼤⼩决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序⽆关。
正确(); 错误();
7、在C++语⾔中,定义数组时,[]中必须指定元素个数。
正确(); 错误();
8、著名的哥德巴赫猜想:任⼀⼤于2的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。
正确(); 错误();
9、在C++语⾔中,表达式(0xff == 255) 的值为true。
正确(); 错误();
10、如果 a 为int类型的变量,且表达式((a & 1) == 0)的值为true,则说明a是偶数。
正确(); 错误();
三、编程题(共2题,共50分)
1、小杨的储蓄
【提交】
https://www.luogu.com.cn/problem/B3867
【问题描述】
小杨共有 个储蓄罐,编号从0到 。从第1天开始,小杨每天都会往存钱罐里存钱。具体来说,第 天他会挑选一个存钱罐 ,并存入 元钱。过了 天后,他已经忘记每个储蓄罐里都存了多少钱了,你能帮帮他吗?
【输入描述】
输入2行,第一行两个整数 ;第二行 个整数,其中第 个整数为 (保证 )。
每行的各个整数之间用单个空格分隔。
保证 ;
【输出描述】
输出 个用单个空格隔开的整数,其中第 个整数表示编号为 的存钱罐中有多少钱()。
【特别提示】
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
【样例输入1】
2 30 1 0【样例输出1】
4 2【样例解释1】
小杨在第1天、第2天、第3天分别向0号、1号、0号存钱罐存了1元钱、2元钱、3元钱,因此0号存钱罐有1+3=4元钱,而1号存钱罐有2元钱。
【样例输入2】
3 50 0 0 2 0【样例输出2】
11 0 42、进制判断
【提交】
https://www.luogu.com.cn/problem/B3868
【问题描述】
进制数指的是逢 进一的计数制。例如,人们日常生活中大多使用十进制计数,而计算机底层则一般使用二进制。除此之外,八进制和十六进制在一些场合也是常用的计数制(十六进制中,一般使用字母 A 至 F 表示十至十五)。
现在有 个数,请你分别判断他们是否可能是二进制、八进制、十进制、十六进制。例如,15A6F 就只可能是十六进制,而 1011 则是四种进制皆有可能。
【输入描述】
输入的第一行为一个十进制表示的整数 。接下来 行,每行一个字符串,表示需要判断的数。保证所有字符串均由数字和大写字母组成,且不以 0 开头。保证不会出现空行。
保证 ,保证所有字符串长度不超过10。
【输出描述】
输出 行,每行4个数,用空格隔开,分别表示给定的字符串是否可能表示一个二进制数、八进制数、十进制数、十六进制数。使用 1 表示可能,使用 0 表示不可能。
例如,对于只可能是十六进制数的 15A6F,就需要输出 0 0 0 1;而对于四者皆有可能的 1011 ,则需要输出 1 1 1 1。
【样例输入1】
215A6F1011【样例输出1】
0 0 0 11 1 1 1【样例输入2】
4123456712345678FFGG【样例输出2】
0 1 1 10 0 1 10 0 0 10 0 0 0青少年编程竞赛交流
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。
















































































