Logo

2023年9月 GESP C++ 3级

GESP · 3级 · 2023-09

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

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

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

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

1

人们所使用的手机上安装的 App 通常指的是( )。

2

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

3

已知大写字符 'A' 的 ASCII 编码的十六进制表⽰为 0x41,则字符 'L' 的 ASCII 编码的十六进制表⽰为( )。

4

以下哪个不是 C++ 语⾔中的运算符?( )

5

如果数组定义为 long long array[] = {3, 5, 7, 2}; ,则数组 array 占用的字节数为( )。

6

一个数组定义为 double array[3]; ,则可合理访问这个数组的元素的下标最大为( )。

7

以下数组定义,符合 C++ 语⾔语法的是( )。

8

下列关于进制的叙述,正确的是( )。

9

下列关于 C++ 语言中数组的叙述,不正确的是( )。

10

如果 $a$ 是 int 类型的变量,下列哪个表达式的值一定为 true?( )

11

如果 $a$ 和 $b$ 均为 int 类型的变量,下列表达式不能正确判断“$a$ 等于 $b$”的是( )。

12

如果 $a$ 为 char 类型的变量,下列哪个表达式可以正确判断“$a$ 是大写字母”?( )

13

在下列代码的横线处填写( ),可以使得输出是“20 10”。

14

在下列代码的横线处填写( ),可以使得输出是“$120$”。

15

在下列代码的输出是( )。

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

16

二进制数 $101.101$ 在十进制下是 $5.005$。

17

在 C++ 语言中,位运算符也有类似“先乘除、后加减”的优先级规则。因此,使用时应注意合理使用括号。

18

字符常量 '3' 的值和 int 类型常量 $3$ 的值是相同的,只是占用的字节数不同。

19

在 C++ 语⾔中,长度为 $n$ 的数组,访问下标为 $n$ 的元素会引起编译错误。

20

在 C++ 语言中,所有 int 类型的值,经过若干次左移操作(<<)后,它们的值总会变为 $0$。

21

在 C++ 语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。

22

在 C++ 语言中,定义数组时,[] 中必须指定元素个数。

23

著名的哥德巴赫猜想:任一大于 $2$ 的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。

24

在 C++ 语言中,表达式 (0xff == 255) 的值为 true

25

如果 $a$ 为 int 类型的变量,且表达式 ((a & 1) == 0) 的值为 true,则说明 $a$ 是偶数。

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

26
编程操作题 25分

试题名称:小杨的储蓄

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

题目描述

小杨共有 $N$ 个储蓄罐,编号从 $0$ 到 $N-1$。从第 $1$ 天开始,小杨每天都会往存钱罐里存钱。具体来说,第 $i$ 天他会挑选一个存钱罐 $a_i$,并存入 $i$ 元钱。过了 $D$ 天后,他已经忘记每个储蓄罐里都存了多少钱了,你能帮帮他吗?

输入格式

输入 $2$ 行,第一行两个整数 $N,D$;第二行 $D$ 个整数,其中第 $i$ 个整数为 ${a_i}$(保证 $0 \le a_i \le N-1$)。

每行的各个整数之间用单个空格分隔。

保证 $1 \le N \le 1,000$;$1 \le D \le 1,000$。

输出格式

输出 $N$ 个用单个空格隔开的整数,其中第 $i$ 个整数表示编号为 $i-1$ 的存钱罐中有多少钱($i=1, \cdots ,N$)。

样例输入 #1

2 3
0 1 0

样例输出 #1

4 2

样例输入 #2

3 5
0 0 0 2 0

样例输出 #2

11 0 4

说明/提示

样例解释 1:

小杨在第 $1$ 天、第 $2$ 天、第 $3$ 天分别向 $0$ 号、 $1$ 号、 $0$ 号存钱罐存了 $1$ 元钱、 $2$ 元钱、 $3$ 元钱,因此 $0$ 号存钱罐有 $1+3=4$ 元钱,而 $1$ 号存钱罐有 $2$ 元钱。

27
编程操作题 25分

试题名称:进制判断

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

题目描述

$N$ 进制数指的是逢 $N$ 进一的计数制。例如,人们日常生活中大多使用十进制计数,而计算机底层则一般使用二进制。除此之外,八进制和十六进制在一些场合也是常用的计数制(十六进制中,一般使用字母 A 至 F 表示十至十五)。

现在有 $N$ 个数,请你分别判断他们是否可能是二进制、八进制、十进制、十六进制。例如,15A6F 就只可能是十六进制,而 1011 则是四种进制皆有可能。

输入格式

输入的第一行为一个十进制表示的整数 $N$。接下来 $N$ 行,每行一个字符串,表示需要判断的数。保证所有字符串均由数字和大写字母组成,可能以 $0$ 开头。保证不会出现空行。

保证 $1 \le N \le 1000$,保证所有字符串长度不超过 $10$。

输出格式

输出 $N$ 行,每行 $4$ 个数,用空格隔开,分别表示给定的字符串是否可能表示一个二进制数、八进制数、十进制数、十六进制数。使用 $1$ 表示可能,使用 $0$ 表示不可能。

例如,对于只可能是十六进制数的 15A6F,就需要输出 0 0 0 1;而对于四者皆有可能的 1011,则需要输出 1 1 1 1

样例输入 #1

2
15A6F
1011

样例输出 #1

0 0 0 1
1 1 1 1

样例输入 #2

4
1234567
12345678
FF
GG

样例输出 #2

0 1 1 1
0 0 1 1
0 0 0 1
0 0 0 0

已答 0/27