image

编辑人: 沉寂于曾经

calendar2025-06-14

message7

visits865

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

一、单选题

1、以下不属于计算机输出设备的有()。

A 麦克风

B 音箱

C 打印机

D 显示器


2、ChatGPT 是 OpenAI 研发的聊天机器人程序,它能通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,完成很多工作。请你猜猜看,下面任务中,ChatGPT 不能完成的是()。

A 改邮件

B 编剧本

C 擦地板

D 写代码


3、常量'3'的数据类型是()。

A double

B float

C char

D int


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

A 变量可以没有定义

B 对一个没有定义的变量赋值,相当于定义了一个新变量

C 执行赋值语句后,变量的类型可能会变化

D 执行赋值语句后,变量的值可能不会变化


5、以下可以作为 C++标识符的是()。

A number_of_Chinese_people_in_millions

B 360AntiVirus

C Man&Woman

D break


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

A double

B else

C while

D endl


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

A a = (b == c);

B b = 5.5;

C c = a + b + c;

D a + c = b + c;


8、如果用一个 int 类型的变量 a 表达正方形的边长,则下列哪个表达式不能用来计算正方形的面积?()

A a * a

B 1 * a * a

C a ^ 2

D a * 2 * a / 2


9、表达式(4 * (11 + 12) / 4)的计算结果为()。

A 47

B 20

C 23

D 56


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

A 1

B 2

C 3

D 4


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

A (a == b == 0)

B !(a || b)

C (a + b == 0)

D (a == 0) + (b == 0)


12、如果 a 和 b 为 int 类型的变量,且值分别为 7 和 2,则下列哪个表达式的计算结果不是 3.5?()

A 0.0 + a / b

B (a + 0.0) / b

C (0.0 + a) / b

D a / (0.0 + b)


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

A a + b

B b

C a - b

D b - a


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

A i % 2 == 1

B i % 3 == 1

C i = i + 3

D i + 3


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

A 63

B 98

C 113

D 无法确定


二、判断题

16、计算机硬件主要包括运算器、控制器、存储器、输入设备和输出设备。

A 正确

B 错误


17、诞生于 1958 年的 103 机是中国第一台通用数字电子计算机,比 1946 年在美国诞生的第一台通用电子计算机 ENIAC 晚了十多年。

A 正确

B 错误


18、在 C++语言中,计算结果必须存储在变量中才能输出。

A 正确

B 错误


19、在 C++语言中,标识符的命名不能完全由数字组成,至少有一个字母就可以。

A 正确

B 错误


20、10 是一个 int 类型常量。

A 正确

B 错误


21、if 语句可以没有 else 子句。

A 正确

B 错误


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

A 正确

B 错误


23、如果 a 和 b 为 int 类型的变量,则表达式 a = b 可以判断 a 和 b 是否相等。

A 正确

B 错误


24、如果 a 为 int 类型的变量,则表达式(a % 4 == 2)可以判断 a 的值是否为偶数。

A 正确

B 错误


25、表达式(37 / 4)的计算结果为 9,且结果类型为 int。

A 正确

B 错误


三、实操题

26、时间规划

【问题描述】

小明在为自己规划学习时间。现在他想知道两个时刻之间有多少分钟,你能通过编程帮他做到吗?

【输入描述】

输入 4 行,第一行为开始时刻的小时,第二行为开始时刻的分钟,第三行为结束时刻的小时,第四行为结束时刻的分钟。

输入保证两个时刻是同一天,开始时刻一定在结束时刻之前。时刻使用 24小时制,即小时在 0 到 23 之间,分钟在 0 到 59 之间。

【输出描述】

输出一行,包含一个整数,从开始时刻到结束时刻之间有多少分钟。


【样例输入 1】

9
5
9
6

【样例输出 1】

1

【样例输入 2】

9
5
10
0

【样例输出 2】

55


参考答案:根据输入,我们可以先计算开始时刻的总分钟数,再计算结束时刻的总分钟数,然后计算两个时刻之间的分钟数。具体步骤如下:1. 将开始时刻的小时和分钟相加,得到开始时刻的总分钟数 = 开始时刻的小时 * 60 + 开始时刻的分钟。2. 将结束时刻的小时和分钟相加,得到结束时刻的总分钟数 = 结束时刻的小时 * 60 + 结束时刻的分钟。3. 计算两个时刻之间的分钟数 = 结束时刻的总分钟数 - 开始时刻的总分钟数。4. 如果计算出来的分钟数小于0,则说明开始时刻在结束时刻之后,不符合题目要求,应该输出错误信息。5. 否则,输出从开始时刻到结束时刻之间的分钟数。


27、累计相加

【问题描述】

输入一个正整数n,求形如:1+(1+2)+(1+2+3)+(1+2+3+4)+…⋯(1+2+3+4+5+…⋯n)累计相加。

【输入描述】

输入一个正整数。约定 1 ≤n≤ 100。

【输出描述】

输出累计相加的结果。


【样例输入 1】

3

【样例输出 1】

10


【样例输入 2】

4

【样例输出 2】

20


【样例输入 3】

10

【样例输出 3】

220


参考答案:对于输入的正整数n,我们可以使用等差数列求和公式来计算累计相加的结果。首先,我们需要计算前n个自然数的和,即1+2+3+...+n。这可以使用等差数列求和公式S = n*(n+1)/2来计算。然后,我们需要计算前n个自然数的和的前n个和,即(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+n)。这可以通过将每个和看作是一个等差数列的和,然后使用等差数列求和公式来计算。具体来说,对于第i个和,它的首项是i,项数是i,公差是1。因此,第i个和可以使用等差数列求和公式S = i*(i+1)/2来计算。最后,我们需要将前n个这样的和相加,即1*2/2 + 2*3/2 + ... + n*(n+1)/2。这可以使用等差数列求和公式来计算,公式为S = n*(n+1)*(n+2)/6。因此,累计相加的结果为n*(n+1)*(n+2)/6。


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

创作类型:
原创

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

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