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;
}