@一扶苏一 你抄的吧
GESP C++ 一级样题卷
(满分:100 分 考试时间:90 分钟)
学校: 姓名:
题目 一 二 三 总分
得分
一、单选题(每题 2 分,共 30 分)
题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
答案 A A C C B D A D C D B A D B A
- 人们在使用计算机时所提到的 Windows 通常指的是( )。
A. 英国
B. 德国
C. 瑞典
D. 法国
- 下列关于 C++语言的叙述,不正确的是()
A. 操作系统
B. 多人游戏
C. 上市公司
D. 家居用具
- 计算机领域的图灵奖为了纪念( )科学家图灵。
。
A. 变量使用前必须先定义
B. if 语句中的判断条件必须写在 ()中
C. for 语句的循环体必须写在{}中
D. 程序必须先编译才能运行
- 不可以作为 C++标识符的是( )。
A. a_plus_b
B. a_b
C. a+b
D. ab
- 常量'3'的数据类型是( )。
A. int
B. char
C. bool
D. double
- 按照 C++语言的语法,以下不是正确的变量定义语句是( )。
A. int a;
B. int a = 10;
C. int a(10);
D. a = 10;
- 下列符号不是 C++语言的运算符的是( )。
A. $
B. %
C. =
D. *
- 如果用两个 int 类型的变量 a 和 b 分别表达直角三角形两条直角边的长度,
则下列哪个表达式可以用来计算三角形的面积?( )
A. a * b / 2
B. a / 2 * b
C. 1 / 2 * a * b
D. a * b * 0.5
- 表达式(3 + 12 / 3 * 2)的计算结果为( )。
A. 10
B. 5
C. 11
D. 2
- 如果 a 为 int 类型的变量,且 a 的值为 6,则执行 a = a + 3;之后,a 的值
会是( )。
A. 0
B. 3
C. 6
D. 9
- 如果 a 和 b 均为 int 类型的变量,下列表达式能够正确判断“a 不等于 0 或
b 不等于 0”的是( )
A. !a == 0 && !b == 0
B. !(a == 0 && b == 0)
C. (a != 0) && (b != 0)
D. a && b
- 如果 a 为 int 类型的变量,下列表达式不能正确表达“a 是奇数时结果为
0,否则结果非 0”的是( )。
A. a %= 2
B. a / 2 * 2 == a
C. a % 2 == 0
D. (a + 1) % 2
- 在下列代码的横线处填写( ),可以使得输出是“2010”。
A. a = b; b = a;
B. a = max(a, b); b = min(a, b);
C. a = a + b; a = a - b; b = a - b;
D. int tmp = a; a = b; b = tmp;
- 在下列代码的横线处填写( ),可以使得输出是“111111”。
A. i++
B. i += 3
C. i *= 2
D. i = i * 3 - 1
- 执行以下 C++语言程序后,输出结果是( )。
A. 56
B. 13
C. 12
D. 60
二、判断题(每题 2 分,共 20 分)
题号 1 2 3 4 5 6 7 8 9 10
答案 F F T F F T F T T F
- 操作系统是让用户可以操纵计算机完成各种功能的软件。( )
- 要执行 Windows 的桌面上的某个程序,通常需至少连续点击程序图标 3 次。
( )
- 注释是对于 C++程序员非常有用,但会被 C++编译器忽略。( )
- C++语言中的标识符只能由大写字母和小写字母组成。( )
- 3.0 是一个 int 类型常量。( )
- 能用 while 语句编写的循环,就可以使用 for 语句编写出具有同样功能的循
环。( )
- 在每个 if 语句中,都必须有 else 子句与 if 配对使用。( )
- C++语言中也遵循与“先乘除、后加减”类似的运算符优先级规则。( )
- 如果 a 为 int 类型的变量,且表达式(a % 4 == 0)的计算结果为真,说明 a
的值是 4 的倍数。( )
- 表达式(6.0 / 3.0)的计算结果为 2,且结果类型为 int 类型。( )
三、编程题 (每题 25 分,共 50 分)
题号 1 2
答案
- 【问题描述】
小明刚刚学习了小时、分和秒的换算关系。他想知道一个给定的时刻是这
一天的第几秒,你能编写一个程序帮帮他吗?
【输入描述】
输入一行,包含三个整数和一个字符。三个整数分别表示时刻的时、分、
秒;字符有两种取值,大写字母'A'表示上午,大写字母'P'表示下午。
【输出描述】
输出一行,包含一个整数,表示输入时刻是当天的第几秒。
【样例输入 1】
0 0 0 A
【样例输出 1】
0
【样例输入 2】
11 59 59 P
【样例输出 2】
86399
【参考程序】
#include <iostream>
using namespace std;
int main() {
int h = 0, m = 0, s = 0;
char noon = 'A';
cin >> h >> m >> s >> noon;
int sec = h * 60 * 60 + m * 60 + s;
if (noon == 'P')
sec += 12 * 60 * 60;
cout << sec << endl;
return 0;
}
- 【问题描述】
小明刚刚学习了如何判断平年和闰年,他想知道两个年份之间(包含起始
年份和终止年份)有几个闰年。你能帮帮他吗?
【输入描述】
输入一行,包含两个整数,分别表示起始年份和终止年份。约定年份在 1
到 2022 之间
【输出描述】
输出一行,包含一个整数,表示闰年的数量。
【样例输入 1】
2018 2022
【样例输出 1】
1
【样例输入 2】
2000 2004
【样例输出 2】
2
【参考程序】
#include <iostream>
using namespace std;
int main() {
int s = 0, t = 0, cnt = 0;
cin >> s >> t;
for (int y = s; y <= t; y++) {
if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0))
cnt++;
}
cout << cnt << endl;
return 0;
}