2023年6月GESP能力等级认证C++一级真题

2023-06 GESP一级真题

题数:27

分数:100

测试时长:90min

一、单选题(每题 2 分,共 30 分)

1.  以下不属于计算机输出设备的有( A)。(2分)

A.  麦克风

B.  音箱

C.  打印机

D.  显示器

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

A.  改邮件

B.  编剧本

C.  擦地板

D.  写代码

3.  常量'3'的数据类型是(C  )。(2分)

A.  double

B.  float

C.  char

D.  int

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

A.  变量可以没有定义

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

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

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

5.  以下可以作为 C++标识符的是(    A)。(2分)

A.  number_of_Chinese_people_in_millions

B.  360AntiVirus

C.  Man&Woman

D.  break

6.  以下哪个不是 C++语言的关键字?(    D)(2分)

A.  double

B.  else

C.  while

D.  endl

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

A. a = (b == c);

B. b = 5.5;

C. c = a + b + c;

D. a + c = b + c;

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

A. a * a

B. 1 * a * a

C. a ^ 2

D. a * 2 * a / 2

9. 表达式(4 * (11 + 12) / 4)的计算结果为(C )。(2分)

A.  47

B.  20

C.  23

D.  56

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

A.  1

B.  2

C.  3

D.  4

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

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   )(2分)

A. 0.0 + a / b

B. (a + 0.0) / b

C. (0.0 + a) / b

D. a / (0.0 + b)

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

#include 
using namespace std;
int main(){
	int a = 10, b =20;
	a = ___________;//在此处填入代码
	b = a + b;
	a = b - a;
	cout << a << " " << b << endl;
	return 0;
}

A.  a + b

B.  b

C.  a - b

D.  b - a

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

#include 
using namespace std;
int main(){
	for(int i =1; i<=8; i++)
		if(__________) //在此处填入代码
			cout << i;
	return 0;
}

A. i    %   2   == 1

B. i    %   3   == 1

C. i    =   i   + 3

D. i    +   3  

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

#include 
using namespace std;
int main(){
	int sum;
	for(int i=1;i<=20;i++)
		if(i % 3 == 0 || i % 5 ==0)
			sum += i;
	cout << sum	<

A.  63

B.  98

C. 113

D. 无法确定

二、判断题(每题 2 分,共 20 分)

1.  计算机硬件主要包括运算器、控制器、存储器、输入设备和输出设备。(对)

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

3.  在 C++语言中,计算结果必须存储在变量中才能输出。(错)

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

5.  10 是一个 int 类型常量。(对)

6.  if 语句可以没有 else 子句。(对)

7.  do ... while 语句的循环体至少会执行一次。(对)

8.  如果 a 和 b 为 int 类型的变量,则表达式 a = b 可以判断 a 和 b 是否相等。(错)

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

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

三、编程题(每题 25 分,共 50 分)

1.  时间规划

【问题描述】

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

【输入描述】

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

输入保证两个时刻是同一天,开始时刻一定在结束时刻之前。时刻使用  24

小时制,即小时在 0 到 23 之间,分钟在 0 到 59 之间。

【输出描述】

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

【样例输入 1】

9

5

9

6

【样例输出 1】

1

【样例输入 2】

9

5

10

0

【样例输出 2】

55

【参考程序】

#include
using namespace std;
int main(){
	int h1 =0, m1=0, h2=0, m2=0;
	cin >> h1 >> m1;
	cin >> h2 >> m2;
	cout << (h2 -h1) * 60 + (m2 -m1) << endl;
	return 0;
}

2.  累计相加

【问题描述】

输入一个正整数,求形如:1 + 1 + 2 + 1 + 2 + 3 + 1 + 2 + 3 + 4 +

…⋯(1 + 2 + 3 + 4 + 5 + …⋯)的累计相加。

【输入描述】

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

【输出描述】

输出累计相加的结果。

【样例输入 1】

3

【样例输出 1】

10

【样例输入 2】

4

【样例输出 2】

20

【样例输入 3】

10

【样例输出 3】

220

【参考程序】

#include 
using namespace std;
int main(){
	int n = 0;
	cin >> n;
	int sum = 0;
	for(int i=1; i<=n; i++)
		sum += (i + 1) * i / 2;
	cout << sum << endl;
	return 0;
}

你可能感兴趣的:(GESP等级认证C++真题,c++,开发语言,青少年编程,数学建模,算法)