GESP C++ 一级样题卷
一、单选题(每题 2 分,共 30 分)
-
人们在使用计算机时所提到的 Windows 通常指的是( )。
A. 操作系统
B. 多人游戏
C. 上市公司
D. 家居用具
答案:A -
计算机领域的图灵奖为了纪念( )科学家图灵。
A. 英国
B. 德国
C. 瑞典
D. 法国
答案:A -
下列关于 C++语言的叙述,不正确的是()。
A. 变量使用前必须先定义
B. if 语句中的判断条件必须写在 ()中
C. for 语句的循环体必须写在{}中
D. 程序必须先编译才能运行
答案:C
解析:本题题目描述有问题,理解即可,不必去争议。 -
不可以作为 C++标识符的是( )。
A. a_plus_b
B. a_b
C. a+b
D. ab
答案:C -
常量'3'的数据类型是( )。
A. int
B. char
C. bool
D. double
答案:B -
按照 C++语言的语法,以下不是正确的变量定义语句是( )。
A. int a;
B. int a = 10;
C. int a(10);
D. a = 10;
答案:D
解析:"a=10" 这是赋值,并非定义。 -
下列符号不是 C++语言的运算符的是( )。
A. $
B. %
C. =
D. *
答案:A -
如果用两个 int 类型的变量 a 和 b 分别表达直角三角形两条直角边的长度,则下列哪个表达式可以用来计算三角形的面积?( )
A. a * b / 2
B. a / 2 * b
C. 1 / 2 * a * b
D. a * b * 0.5
答案:D
解析:考虑到 / 取整的操作 -
表达式(3 + 12 / 3 * 2)的计算结果为( )。
A. 10
B. 5
C. 11
D. 2
答案:C -
如果 a 为 int 类型的变量,且 a 的值为 6,则执行 a = a + 3;之后,a 的值会是( )。
A. 0
B. 3
C. 6
D. 9
答案:D -
如果 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
答案:B
解析:只要其中一个不为0即可,还可以写作 (a!=0 || b!=0)、(a+b)、(a||b) -
如果 a 为 int 类型的变量,下列表达式不能正确表达“a 是奇数时结果为0,否则结果非 0”的是( )。
A. a %= 2
B. a / 2 * 2 == a
C. a % 2 == 0
D. (a + 1) % 2
答案:A -
在下列代码的横线处填写( ),可以使得输出是“2010”。
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20;
_______ // 在此处填入代码
cout << a << " " << b << endl;
return 0;
}
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;
答案:D
- 在下列代码的横线处填写( ),可以使得输出是“111111”。
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 16; _______) // 在此处填入代码
cout << 1;
return 0;
}
A. i++
B. i += 3
C. i *= 2
D. i = i * 3 - 1
答案:B
- 执行以下 C++语言程序后,输出结果是( )。
#include <iostream>
using namespace std;
int main() {
int sum = 1;
for (int i = 1; i <= 10; i++)
if (3 <= i <= 5)
sum += i;
return 0;
}
A. 56
B. 13
C. 12
D. 60
答案:A
二、判断题(每题 2 分,共 20 分)
F -- FALSE, T -- TRUE
- 操作系统是让用户可以操纵计算机完成各种功能的软件。( F )
- 要执行 Windows 的桌面上的某个程序,通常需至少连续点击程序图标 3 次。( F )
- 注释是对于 C++程序员非常有用,但会被 C++编译器忽略。( T )
- C++语言中的标识符只能由大写字母和小写字母组成。( F )
- 3.0 是一个 int 类型常量。( F )
- 能用 while 语句编写的循环,就可以使用 for 语句编写出具有同样功能的循环。( T )
- 在每个 if 语句中,都必须有 else 子句与 if 配对使用。( F )
- C++语言中也遵循与“先乘除、后加减”类似的运算符优先级规则。( T )
- 如果 a 为 int 类型的变量,且表达式(a % 4 == 0)的计算结果为真,说明 a的值是 4 的倍数。( T )
- 表达式(6.0 / 3.0)的计算结果为 2,且结果类型为 int 类型。( F )
三、编程题 (每题 25 分,共 50 分)
- 【问题描述】
小明刚刚学习了小时、分和秒的换算关系。他想知道一个给定的时刻是这一天的第几秒,你能编写一个程序帮帮他吗?
【输入描述】
输入一行,包含三个整数和一个字符。三个整数分别表示时刻的时、分、秒;
字符有两种取值,大写字母'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;
}
标签:输出,int,样例,C++,60,答案,GESP
From: https://www.cnblogs.com/hellohebin/p/17487449.html