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

1 单选题(每题 2 分,共 30 分)

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

第 1 题 C++ 表达式 (3 - 2) * 3 + 5 的值是( )。

  • A. -13
  • B. 8
  • C. 2
  • D. 0

第 2 题 C++ 语句 cout << "5%2=" << 5 % 2 执行后的输出是( )。

  • A. 2 2
  • B. 1 1
  • C. 5%2=2
  • D. 5%2=1

第 3 题 执行 C++ 语句 cin >> a 时如果输入 5+2,下述说法正确的是( )。

  • A. 变量 a 将被赋值为整数 7
  • B. 变量 a 将被赋值为字符串,字符串内容为 5+2
  • C. 语句执行将报错,不能输入表达式
  • D. 依赖于变量的类型。如果没有定义,会有编译错误

第 4 题 下面 C++ 代码执行后的输出是( )。

int a = 1;  
cout << "a+1=" << a+1 << endl;  
  • A. a+1=2
  • B. a+1=2
  • C. 2=2
  • D. 2=2

第 5 题 下面 C++ 代码执行后的输出是( )。

int a = 1;  
printf("a+1=%d\n", a+1);  
  • A. a+1=2
  • B. a+1=2
  • C. 2=2
  • D. 2=2

第 6 题 下面 C++ 代码执行时输入 21 后,有关描述正确的是( )。

int N;  
cin >> N;  
if (N % 3 == 0)  
    cout << "能被3整除";  
else if (N % 7 == 0)  
    cout << "能被7整除";  
else  
    cout << "不能被3和7整除";  
cout << endl;  
  • A. 代码第 4 行被执行
  • B. 第 4 和第 7 行代码都被执行
  • C. 仅有代码第 7 行被执行
  • D. 第 8 行代码将被执行,因为 input() 输入为字符串

第 7 题 下面 C++ 代码第 2 行,总共被执行次数是( )。

for (int i = -10; i < 10; i++)  
    cout << i << " ";  
  • A. 10
  • B. 19
  • C. 20
  • D. 21

第 8 题 下面 C++ 代码执行后的输出是( )。

int tnt = 0;  
for (int i = 0; i < 10; i++)  
    if (i % 3 && i % 7)  
        tnt += i;  
cout << tnt << endl;  
  • A. 0
  • B. 7
  • C. 18
  • D. 20

第 9 题 下面 C++ 代码执行后的输出是( )。

int N = 10;  
while (N) {  
    N -= 1;  
    if (N % 3 == 0)  
        cout << N << "#";  
}  
  • A. 9#6#3#
  • B. 9#6#3#0#
  • C. 8#7#5#4#2#
  • D. 10#8#7#5#4#2#

第 10 题 下面 C++ 代码用于判断键盘输入的整数是否为质数。质数是只能被 1 和它本身整除的数。在横线处应填入代码是( )。

int N;  
cin >> N;  
int cnt = 0;  
for (int i = 1; i < N + 1; i++)  
    if (______)  
        cnt += 1;  
if (cnt == 2)  
    cout << N << "是质数";  
else  
    cout << N << "不是质数";  
  • A. N % i
  • B. N % i == 0
  • C. N / i == 0
  • D. N / i

第 11 题 下面关于整型变量 int x 的赋值语句不正确的是( )。

  • A. x = (3.16);
  • B. x = 3.16;
  • C. x = int(3.16);
  • D. x = 3.16 int;

第 12 题 C++ 语言中下面可以完成数据输入的语句是( )。

  • A. print 语句
  • B. scanf 语句
  • C. default 语句
  • D. cout 语句

第 13 题 在 Dev C++ 中对一个写好的 C++ 源文件要生成一个可执行程序需要执行下面哪个处理步骤?( )

  • A. 创建
  • B. 编辑
  • C. 编译
  • D. 调试

第 14 题 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( )

  • A. 小程序
  • B. 计时器
  • C. 操作系统
  • D. 神话人物

第 15 题 中国计算机学会(CCF)在 2024 年 1 月 27 日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。

  • A. 制造自动驾驶汽车
  • B. 创立培训学校
  • C. 发明汉字激光照排系统
  • D. 成立方正公司

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

👉 点击查看答案
题号12345678910
答案×××
  1. 在 C++ 代码中变量 n 被赋值为 27,则 cout << n % 10 执行后输出的是 7。( )

  2. C++ 语句 printf("%d#%d&", 2, 3) 执行后输出的是 2#3&。( )

  3. C++ 函数 scanf() 必须含有参数,且其参数为字符串型字面量,其功能是提示输入。( )

  4. C++ 表达式 "10" * 2 执行时将报错,因为 "10" 是字符串类型而不是整数类型,它们数据类型不同,不能在一起运算。( )

  5. 在 C++ 中,while 可能是死循环,而 for 循环不可能是死循环。( )

  6. 在 C++ 中,break 语句用于提前终止当前层次循环,适用于 while 循环,但不适用于 for 循环。( )

  7. C++ 语言中 3.03 的值相等,所以它们占用的存储空间也相同。( )

  8. 在 C++ 的程序中,cin 是一个合法的变量名。( )

  9. 小杨今年春节回奶奶家了,奶奶家的数字电视可以通过遥控器输入电视剧名称来找到想播放的电视剧,所以可以推知里面有交互式程序在运行。( )

  10. 任何一个 for 循环都可以转化为等价的 while 循环。( )

3 编程题(每题 25 分,共 50 分)

3.1 编程题1:小杨买书

试题名称:小杨买书
时间限制:1.0 s
内存限制:512.0 MB

题面描述
小杨同学积攒了一部分零用钱想要用来购买书籍,已知一本书的单价是 13 元,请根据小杨零用钱的金额,编写程序计算最多可以购买多少本书,还剩多少零用钱。

输入格式
输入一个正整数 ( m ),表示小杨拥有的零用钱数。

输出格式
输出包含两行,第一行购买图书的本数,第二行剩余的零用钱数。

样例1
输入:

100  

输出:

7  
9  

样例2
输入:

199  

输出:

15  
4  

参考程序

#include <iostream>  
using namespace std;  
int main() {  
    int m;  
    cin >> m;  
    cout << m / 13 << endl;  
    cout << m % 13 << endl;  
    return 0;  
}  

3.2 编程题2:找因数

试题名称:找因数
时间限制:1.0 s
内存限制:512.0 MB

题面描述
小 A 最近刚刚学习了因数的概念,具体来说,如果一个正整数 ( a ) 可以被另一个正整数 ( b ) 整除,那么我们就说 ( b ) 是 ( a ) 的因数。
请你帮忙写一个程序,从小到大输出正整数 ( a ) 的所有因数。

输入格式
输入一行一个正整数 ( a )。保证 ( a \leq 1,000 )。

输出格式
输出若干行,为 ( a ) 的所有因数,从小到大排列。

样例输入1

1  

样例输出1

1  

样例输入2

6  

样例输出2

1  
2  
3  
6  

样例输入3

10  

样例输出3

1  
2  
5  
10  

参考程序

#include <iostream>  
using namespace std;  
int main() {  
    int a;  
    cin >> a;  
    for (int i = 1; i <= a; ++i) {  
        if (a % i == 0) {  
            cout << i << endl;  
        }  
    }  
    return 0;  
}