GESP C++ 2023年6月一级真题卷

本文提供了GESP C++ 2023年6月一级考试真题及答案解析,涵盖单选题、判断题及编程题等内容,涉及计算机基础知识、C++语言特性和编程实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1. 以下不属于计算机输出设备的有( )。
A. 麦克风
B. 音箱
C. 打印机
D. 显示器
答案:A
解析:略
2. ChatGPT 是 OpenAI 研发的聊天机器人程序,它能通过理解和学习人类的语言 来进行对话,还能根据聊天的上下文进行互动,完成很多工作。请你猜猜看,下 面任务中,ChatGPT 不能完成的是( )。
A. 改邮件
B. 编剧本
C. 擦地板
D. 写代码
答案:C
解析:略
3. 常量 '3' 的数据类型是( )。
A. double
B. float
C. char
D. int
答案:C
解析:略
4. 下列关于 C++语言变量的叙述,正确的是( )。
A. 变量可以没有定义
B. 对一个没有定义的变量赋值,相当于定义了一个新变量
C. 执行赋值语句后,变量的类型可能会变化
D. 执行赋值语句后,变量的值可能不会变化
答案:D
解析:A. 变量必须有定义。B.在C++中,对一个没有定义的变量赋值会导致编译错误,而不会被认为是定义了一个新变量。在使用变量之前,必须先进行定义,赋值只是为已经存在的变量赋予一个值。C. 执行赋值语句后,变量的类型不会变化
5. 以下可以作为 C++标识符的是( )。
A. number_of_Chinese_people_in_millions
B. 360AntiVirus
C. Man&Woman
D. break
答案:A
解析:标识符又称变量名,可以由字母、数字和下划线,注意首字符不能是数字
6. 以下哪个不是 C++语言的关键字?( )
A. double
B. else
C. while
D. endl
答案:D
解析:

7. 如果 a b c 都是 int 类型的变量,下列哪个语句不符合 C++语法?( )
A. a = (b == c);
B. b = 5.5;
C. c = a + b + c;
D. a + c = b + c;
答案:D
解析:选项D错误,不能将表达式赋值给另一个表达式
8. 如果用一个 int 类型的变量 a 表达正方形的边长,则下列哪个表达式不能用来计算正方形的面积?( )
A. a * a
B. 1 * a * a
C. a ^ 2
D. a * 2 * a / 2
答案:C
解析:选项C是a的值与数字2进行按位异或运算
9. 表达式 (4 * (11 + 12) / 4) 的计算结果为( )。
A. 47
B. 20
C. 23
D. 56
答案:C
解析:略
10. 如果 a int 类型的变量,且 a 的值为 6,则执行 a %= 4; 之后, a 的值会是( )。
A. 1
B. 2
C. 3
D. 4
答案:B
解析:略
11. 如果 a b 均为 int 类型的变量,下列表达式能正确判断“ a 等于 0 b 等于 0 ”的是( )。
A. (a == b == 0)
B. !(a || b)
C. (a + b == 0)
D. (a == 0) + (b == 0)
答案:B
解析:A. (a == b == 0)正确格式是“(a == 0&&b == 0)”;C. (a + b == 0)表示“a+b”的和等于0;D. (a == 0) + (b == 0),“(a == 0)”和“(b == 0)”bool值相加与题目不符合
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)
答案:A
解析:选项A的值等于3.0
13. 在下列代码的横线处填写( ),使得输出是“20 10 ”。

A. a + b
B. b
C. a - b
D. b - a
答案:C
解析:根据程序:b=a+b=10,a=b-a=(a+b)-a=b=20,所以a=-10,已知a=10,b=20,所以横线上a=a-b
14. 在下列代码的横线处填写( ),可以使得输出是“147 ”。
A. i % 2 == 1
B. i % 3 == 1
C. i = i + 3
D. i + 3
答案:B
解析:略
15. 执行以下 C++语言程序后,输出结果是( )。
A. 63
B. 98
C. 113
D. 无法确定
答案:D
解析:sum没有初始化,所以不确定sum的值是多少

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

1. 计算机硬件主要包括运算器、控制器、存储器、输入设备和输出设备。
答案:正确
解析:略
2. 诞生于 1958 年的 103 机是中国第一台通用数字电子计算机,比 1946 年在美国诞生的第一台通用电子计算机 ENIAC 晚了十多年。
答案:正确
解析:略
3. 在 C++语言中,计算结果必须存储在变量中才能输出。
答案:错误
解析:

在 C++ 语言中,并不是计算结果必须存储在变量中才能输出的。您可以直接将表达式的计算结果输出到标准输出流(通常是屏幕),而不必将结果存储在变量中。这通常使用流插入运算符 << 来实现。

例如,以下代码会将计算结果直接输出到屏幕上:

#include <iostream>
using namespace std;

int main() {
    int a = 5;
    int b = 3;
    
    cout << "Sum: " << (a + b) << endl;
    cout << "Product: " << (a * b) << endl;
    
    return 0;
}

在上面的示例中,(a + b)(a * b) 是表达式,它们的计算结果直接通过 cout 输出,而不需要显式地存储在变量中。

4. 在 C++语言中,标识符的命名不能完全由数字组成,至少有一个字母就可以。
答案:错误
解析:标识符又称变量名,可以由字母、数字和下划线,注意首字符不能是数字
5. 10 是一个 int 类型常量。
答案:正确
解析:略
6. if 语句可以没有 else 子句。
答案:正确
解析:略
7. do ... while 语句的循环体至少会执行一次。
答案:正确
解析:因为“do ... while 语句”至少会一次执行do里面的语句,注意for循环可以一次都不执行
8. 如果 a b int 类型的变量,则表达式 a = b 可以判断 a b 是否相等。
答案:错误
解析:表达式 a == b 可以判断 a 和 b 是否相等
9. 如果 a int 类型的变量,则表达式 (a % 4 == 2) 可以判断 a 的值是否为偶数。
答案:错误
解析:把8带入a中表达式(a % 4 == 2)结果是false,但是8是偶数
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 <iostream>
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 <iostream>
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;
}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值