GESP 2023年03月认证 C++ 1级真题
一、单选题(每题2分,共30分)
👉 点击查看答案
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
答案 | B | A | A | C | B | D | D | A | A | D | B | C | D | B | C |
题目详情
-
以下不属于计算机输入设备的有( )。
- A. 键盘
- B. 音箱
- C. 鼠标
- D. 传感器
-
计算机系统中存储的基本单位用B来表示,它代表的是( )。
- A. Byte
- B. Block
- C. Bulk
- D. Bit
-
常量
7.0
的数据类型是( )。- A. double
- B. float
- C. void
- D. int
-
下列关于 C++ 语言的叙述,不正确的是( )。
- A. 变量定义时可以不初始化
- B. 变量被赋值之后的类型不变
- C. 变量没有定义也能够使用
- D. 变量名必须是合法的标识符
-
以下不可以作为 C++ 标识符的是( )。
- A. x321
- B. 0x321
- C. x321
- D. _x321
-
以下哪个不是 C++ 语言的关键字?( )
- A. int
- B. for
- C. do
- D. cout
-
如果 a、b 和 c 都是 int 类型的变量,下列哪个语句不符合 C++ 语法?( )
- A.
c = a + b;
- B.
c += a + b;
- C.
c = a = b;
- D.
c = a ++ b;
- A.
-
下列表达式不能用来计算长方形的周长的是( )。
- A.
a + b * 2
- B.
2 * a + 2 * b
- C.
a + b + a + b
- D.
b + a * 2 + b
- A.
-
表达式
((3 == 0) + 'A' + 1 + 3.0)
的结果类型为( )。- A. double
- B. int
- C. char
- D. bool
-
执行
a *= 3;
后,a 的值是( )。- A. 3
- B. 6
- C. 9
- D. 18
-
不能正确判断“a 等于 0 且 b 等于 0”的表达式是( )。
- A.
(a == 0) && (b == 0)
- B.
(a == b == 0)
- C.
(!a) && (!b)
- D.
(a == 0) + (b == 0) == 2
- A.
-
求满足“大于等于 a 且是 4 的倍数”的最小整数的表达式是( )。
- A.
a * 4
- B.
a / 4 * 4
- C.
(a + 3) / 4 * 4
- D.
a - a % 4 + 4
- A.
-
横线处应填( )使得输出是“20 10”。
a = ______;
- A. a + b
- B. (a + b) * 100
- C. b * 100 + a
- D. a * 100 + b
-
横线处应填( )使得输出是“1248”。
for (int i = 1; i <= 8; ______)
- A. i++
- B. i *= 2
- C. i += 2
- D. i * 2
-
执行以下程序后的输出结果是( )。
sum += i;
- A. 210
- B. 113
- C. 98
- D. 15
二、判断题(每题2分,共20分)
👉 点击查看答案
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
答案 | √ | × | × | √ | × | × | × | × | √ | √ |
- 在 Windows 系统中通过键盘完成对选定文本移动的按键组合是先 Ctrl+X,移动到目标位置后按 Ctrl+V。( )
- 程序员用 C、C++、Python、Scratch 等编写的程序能在 CPU 上直接执行。( )
- 在 C++ 语言中,注释不宜写得过多,否则会使得程序运行速度变慢。( )
- 在 C++ 语言中,标识符中可以有数字,但不能以数字开头。( )
'3'
是一个 int 类型常量。( )- if 语句中的条件表达式的结果必须为 bool 类型。( )
- for 语句的循环体至少会执行一次。( )
- 如果 a 为 int 类型的变量,则赋值语句
a = a + 3;
是错误的。( ) - 表达式
(a / 4 == 2)
和(a >= 8 && a <= 11)
的结果总是相同。( ) - 表达式
(3.5 * 2)
的计算结果为 7.0,且结果类型为 double。( )
三、编程题(每题25分,共50分)
1. 每月天数
问题描述
输入年份和月份,输出该月的天数。
输入格式
输入一行两个整数,表示年份和月份。
输出格式
输出一个整数,表示该月的天数。
样例输入1
2022 1
样例输出1
31
样例输入2
2020 2
样例输出2
29
参考程序
#include <iostream>
using namespace std;
int main() {
int y = 0, m = 0;
cin >> y >> m;
bool leap = false;
if (y % 400 == 0)
leap = true;
if (y % 4 == 0 && y % 100 != 0)
leap = true;
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
cout << 31 << endl;
else if (m == 4 || m == 6 || m == 9 || m == 11)
cout << 30 << endl;
else if (leap)
cout << 29 << endl;
else
cout << 28 << endl;
return 0;
}
2. 长方形面积
问题描述
给定长方形的面积,求满足长和宽均为整数且长≥宽的不同长方形的种数。
输入格式
输入一行一个整数,表示面积。
输出格式
输出一行一个整数,表示种数。
样例输入1
4
样例输出1
2
样例输入2
6
样例输出2
2
参考程序
#include <iostream>
using namespace std;
int main() {
int area = 0, cnt = 0;
cin >> area;
for (int w = 1; w * w <= area; w++) {
if (area % w == 0)
cnt++;
}
cout << cnt << endl;
return 0;
}