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

一、单选题(每题 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 答案:B 解析:选项B是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. 无法确定 答案:B 解析:sum等于1-20之间,3和5的倍数之和,所以sum=3+5+6+9+10+12+15+18+20=98

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

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

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

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

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部