GESP 2023年03月认证 C++ 1级真题

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

👉 点击查看答案
题号123456789101112131415
答案BAACBDDAADBCDBC

题目详情

  1. 以下不属于计算机输入设备的有( )。

    • A. 键盘
    • B. 音箱
    • C. 鼠标
    • D. 传感器
  2. 计算机系统中存储的基本单位用B来表示,它代表的是( )。

    • A. Byte
    • B. Block
    • C. Bulk
    • D. Bit
  3. 常量 7.0 的数据类型是( )。

    • A. double
    • B. float
    • C. void
    • D. int
  4. 下列关于 C++ 语言的叙述,不正确的是( )。

    • A. 变量定义时可以不初始化
    • B. 变量被赋值之后的类型不变
    • C. 变量没有定义也能够使用
    • D. 变量名必须是合法的标识符
  5. 以下不可以作为 C++ 标识符的是( )。

    • A. x321
    • B. 0x321
    • C. x321
    • D. _x321
  6. 以下哪个不是 C++ 语言的关键字?( )

    • A. int
    • B. for
    • C. do
    • D. cout
  7. 如果 a、b 和 c 都是 int 类型的变量,下列哪个语句不符合 C++ 语法?( )

    • A. c = a + b;
    • B. c += a + b;
    • C. c = a = b;
    • D. c = a ++ b;
  8. 下列表达式不能用来计算长方形的周长的是( )。

    • A. a + b * 2
    • B. 2 * a + 2 * b
    • C. a + b + a + b
    • D. b + a * 2 + b
  9. 表达式 ((3 == 0) + 'A' + 1 + 3.0) 的结果类型为( )。

    • A. double
    • B. int
    • C. char
    • D. bool
  10. 执行 a *= 3; 后,a 的值是( )。

    • A. 3
    • B. 6
    • C. 9
    • D. 18
  11. 不能正确判断“a 等于 0 且 b 等于 0”的表达式是( )。

    • A. (a == 0) && (b == 0)
    • B. (a == b == 0)
    • C. (!a) && (!b)
    • D. (a == 0) + (b == 0) == 2
  12. 求满足“大于等于 a 且是 4 的倍数”的最小整数的表达式是( )。

    • A. a * 4
    • B. a / 4 * 4
    • C. (a + 3) / 4 * 4
    • D. a - a % 4 + 4
  13. 横线处应填( )使得输出是“20 10”。

    a = ______;  
    • A. a + b
    • B. (a + b) * 100
    • C. b * 100 + a
    • D. a * 100 + b
  14. 横线处应填( )使得输出是“1248”。

    for (int i = 1; i <= 8; ______)  
    • A. i++
    • B. i *= 2
    • C. i += 2
    • D. i * 2
  15. 执行以下程序后的输出结果是( )。

    sum += i;  
    • A. 210
    • B. 113
    • C. 98
    • D. 15

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

👉 点击查看答案
题号12345678910
答案××××××
  1. 在 Windows 系统中通过键盘完成对选定文本移动的按键组合是先 Ctrl+X,移动到目标位置后按 Ctrl+V。( )
  2. 程序员用 C、C++、Python、Scratch 等编写的程序能在 CPU 上直接执行。( )
  3. 在 C++ 语言中,注释不宜写得过多,否则会使得程序运行速度变慢。( )
  4. 在 C++ 语言中,标识符中可以有数字,但不能以数字开头。( )
  5. '3' 是一个 int 类型常量。( )
  6. if 语句中的条件表达式的结果必须为 bool 类型。( )
  7. for 语句的循环体至少会执行一次。( )
  8. 如果 a 为 int 类型的变量,则赋值语句 a = a + 3; 是错误的。( )
  9. 表达式 (a / 4 == 2)(a >= 8 && a <= 11) 的结果总是相同。( )
  10. 表达式 (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;  
}