image

编辑人: 长安花落尽

calendar2025-06-15

message4

visits805

2023年3月CCF-GESP编程能力等级认证C++编程二级真题参考答案

一、单选题

1、以下存储器中的数据不会受到附近强磁场干扰的是(   )。

A 硬盘

B U 盘

C 内存

D 光盘


2、下列流程图,属于计算机的哪种程序结构?(  )。

A 顺序结构

B 循环结构

C 分支结构

D 数据结构


3、下列关于 C++语言的叙述,不正确的是()。

A double 类型的变量占用内存的大小是浮动的

B bool 类型的变量占用 1 字节内存

C int 类型变量的取值范围不是无限的

D char 类型的变量有 256 种取值


4、下列关于 C++语言的叙述,不正确的是()。

A 变量定义后,可以使用赋值语句改变它的值

B 变量定义时,必须指定类型

C 变量名必须为合法标识符

D 合法标识符可以以数字开始


5、以下哪个不是 C++语言的关键字?

A return

B max

C else

D case


6、以下哪个不是 C++语言的运算符?

A \=

B /=

C -=

D !=


7、如果 a 和 b 都是 char 类型的变量,下列哪个语句不符合 C++语法?

A b = a + 1;

B b = a + '1';

C b = 'a'++;

D b = a++;


8、如果 a、b、c 和 d 都是 int 类型的变量,则下列哪个表达式能够正确计算它们的平均值?

A  (a + b + c + d) / 4

B  (a + b + c + d) % 4

C  (a + b + c + d) / 4.0

D  (a + b + c + d) % 4.0


9、如果 a 为 char 类型的变量,且 a 的值为'2',则下列那条语句执行后,a 的值不会变为'3'?

A a = a + 1;

B a + 1;

C a = 1 + a;

D ++a;


10、如果 a 为 int 类型的变量,且 a 的值为 9,则执行 a -= 3;之后,a 的值会是()。

A 3

B 6

C 9

D 12


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

A (!a) || (!b)

B (a == b == 0)

C  (a == 0) && (b == 0)

D (a == 0) - (b == 0) == 0


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

A a <= a <= z

B a - 'a' <= 'z' - 'a'

C 'a' <= a <= 'z'

D a >= 'a' && a <= 'z'


13、在下列代码的横线处填写(),使得输出是`50 10`。

A a -= b

B a += b

C a = b - a

D a = b


14、在下列代码的横线处填写(),可以使得输出是`5`。

A ch < '5'

B ch >= 5

C ch >= '4'

D ch % 2 == 1


15、执行以下 C++语言程序后,输出结果是()。

A false

B、

true

C、

0

D、

1


二、判断题

16、明明和笑笑在“小庙会”上分别抽到一个 4GB 和 4096MB 的 U 盘,容量大的盘是笑笑的( )。

A 正确

B 错误


17、IPv4 的地址通常用“点分十进制”的表示形式,形如(a.b.c.d),其中 a、b、c、d 都是 1~255 之间的十进制整数( )。

A 正确

B 错误


18、在 C++语言中,一个程序不能有多个 main 函数。

A 正确

B 错误


19、在 C++语言中,标识符中可以有下划线_,但不能以下划线_开头。

A 正确

B 错误


20、如果 a 是 int 类型的变量,而且值为 1,则表达式'a'的值为'1'。

A 正确

B 错误


21、在 if ... else 语句中,else 子句可以嵌套 if ... else 语句,但 if 子句不可以,因为会造成二义性。

A 正确

B 错误


22、while 语句的循环体至少会执行一次。

A 正确

B 错误


23、C++语言中>=是运算符,但=>不是。

A 正确

B 错误


24、如果 a 为 char 类型的变量,且取值为小写字母,则执行语句 a = a - 'a' + 'A';后,a 的值会变为与原值对应的大写字母。

A 正确

B 错误


25、表达式(10.0 / 2)的计算结果为 5.0,且结果类型为 double。

A 正确

B 错误


三、实操题

26、画三角形

【问题描述】

输入一个正整数 n,请使用大写字母拼成一个这样的三角形图案(参考样例输入输出):三角形图案的第 1 行有 1 个字母,第 2 行有 2 个字母,以此类推;在三角形图案中,由上至下、由左至右依次由大写字母 A-Z 填充,每次使用大写字母 Z 填充后,将从头使用大写字母 A 填充。

【输入描述】

输入一行,包含一个正整数 n。约定 2≤n≤40。

【输出描述】

输出符合要求的三角形图案。注意每行三角形图案的右侧不要有多余的空格。

【样例输入 1】

3

【样例输出 1】

A

BC

DEF

【样例输入 2】

7

【样例输出 2】

A

BC

DEF

GHIJ

KLMNO

PQRSTU

VWXYZAB

参考答案:根据题目要求,我们可以按照以下步骤生成三角形图案:1. 初始化一个字符串变量`triangle`为空字符串,用于存储生成的三角形图案。2. 遍历从1到n的整数i,对于每个i,执行以下操作:* 计算当前行需要填充的字母数,即`2 * i - 1`。* 初始化一个字符串变量`line`,用于存储当前行的字母。* 从字母A开始,循环填充`line`,每次填充一个字母,直到填充完当前行需要的字母数。* 如果当前字母是Z,则下一个字母从A开始。* 将`line`追加到`triangle`的末尾,并在其后添加一个换行符。3. 输出`triangle`。


27、百鸡问题

【问题描述】

“百鸡问题”是出自我国古代《张丘建算经》的著名数学问题。大意为:“每只公鸡 5 元,每只母鸡 3 元,每 3 只小鸡 1 元;现在有 100 元,买了 100 只鸡,共有多少种方案?”

小明很喜欢这个故事,他决定对这个问题进行扩展,并使用编程解决:如果每只公鸡 x 元,每只母鸡 y 元,每 z 只小鸡 1 元;现在有 n 元,买了 m 只鸡,共有多少种方案?

【输入描述】

输入一行,包含五个整数,分别为问题描述中的 x、y、z、n、m。约定 1≤x, y, z ≤10,1≤ n, m ≤1000。

【输出描述】

输出一行,包含一个整数 C,表示有 C 种方案。

【样例输入 1】

5 3 3 100 100

【样例输出 1】

4

【样例解释 1】

这就是问题描述中的“百鸡问题”。4 种方案分别为:公鸡 0 只、母鸡 25 只、小鸡 75 只;公鸡 4 只、母鸡 18 只、小鸡 78 只;公鸡 8 只、母鸡 11 只、小鸡 81只;公鸡 12 只、母鸡 4 只、小鸡 84 只。

【样例输入 2】

1 1 1 100 100

【样例输出 2】

5151

参考答案:对于这个问题,我们可以使用暴力枚举的方法来解决。首先,我们需要遍历所有可能的公鸡和母鸡的数量组合,然后计算小鸡的数量,并检查是否满足总金额和总数量的条件。如果满足条件,那么就是一种可行的方案,我们需要记录下来。具体来说,我们可以使用两层循环来枚举公鸡和母鸡的数量。外层循环枚举公鸡的数量,内层循环枚举母鸡的数量。然后,我们可以计算小鸡的数量,并检查是否满足条件。如果满足条件,那么我们可以将方案数量加1。最后,我们输出方案数量即可。


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2023年3月CCF-GESP编程能力等级认证C++编程二级真题参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share