Logo

2025年12月 GESP C++ 1级

GESP · 1级 · 2025-12

60:00
满分 100
时长 60 分钟
27

2025年12月 GESP C++ 1级认证考试真题(含编程操作题部分)

答题卡 已答 0/27
已答 正确 错误 编程题

单选题(共 15 题,每题 2 分)

1

近⽇,空中客车公司表⽰,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软
件。空客表⽰,在对一起飞行事故分析后的结果显⽰,强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,
导致判断失误,进⽽引发飞行异常。那这里的飞行控制系统执行判断的部件最可能是下面的( )。

2

下面的C++代码在某集成开发环境中编译运行时,提⽰有“Invalid Character”(“无效字符”)错误。可能的原
因是( ):

int a, b;
a=3,b = 4; // L1
cout << a; // L2
cout << b; // L3
3

下面有关C++变量的说法,正确的是( )。

4

X 是C++的整型变量,则 cout << (X=3, X++, ++X); 执行后的输出是( )。

5

C++表达式 2 + 3 * 4 % 5 的值为( )。

6

下面的C++代码执行后,其输出是( )。

a = 3;
b = a = 4;
printf("%d %d", a, b);
7

下面的C++代码执行时如果先输入 10 回车后输入 20 并回车,其输出是( )。

int N,M;
printf("第一个数:");
scanf("%d", &N);
printf("第二个数:");
scanf("%d", &M);
printf("%%(N+M)=%d", N+M, int(N+M));
8

某个整数很长很长,形如:1232123212321……,其规律是从1开始逐一升高到3然后逐一降低到1,然后⼜逐
一升高到3,一直到很长很长。假设最高位编号为1,要求判断从左边最高位开始的第N位数是几?在横线处应该填入
的代码是( )。

int N, M;
cout << "请输入编号:";
cin >> N;
M = ________________;
if (M != 0)
cout << M;
else
cout << 2;
9

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

int i, tnt = 0;
for (i = 0; i < 100; i++)
tnt += 1;
cout << tnt << ' ' << i;
10

有关下面C++代码的说法,错误的是( )。

int tnt = 0;
for (int i = 1; i < 10; i += 2) // L1
tnt += i; // L2
cout << tnt;
11

下面C++代码执行后输出是( )。

int i;
for (i = 10; i < 100; i += 10){
    if (i % 10 == 0)
    continue;
    printf("%d#",i);
}
if(i >= 100)
printf("%d END",i);
12

两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数
构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的C++代码用于实现该操作,横线处应该
填写的代码是( )。

int N, M;
cin >> N >> M;
while (N != M){
    if (N > M)
    _______________;
    else
    _______________;
}
cout << N;
13

如果一个正整数能被3整除,或者某一位能被3整除,则称之为“漂亮数”。下面的C++代码用于判断正整数N
是否为漂亮数,L1行的横线处应该填入的代码是( )。

int N, Flag;
cin >> N;
Flag = 0; // "非漂亮数"
if (N % 3 == 0)
Flag = 1; //"漂亮数"
else
while (N != 0){
    if (_______________){ // L1
        Flag = 1;
        break;
    }
    N /= 10;
}
cout << (Flag? "漂亮数" : "非漂亮数");
14

如果正整数N的所有奇因数(即能将N整除的正奇数)的和是27的倍数,则称N是27的神秘数。下面的
C++代码用于判断输入的N是否为27的神秘数。如输入53,它有两个奇因数1和53,则将输出Y。( )。

int i, N, cnt = 0;
cin >> N;
for (i=1; i <=N; i++){
    if (_________________)
    cnt += i;
}
if(cnt % 27 == 0)
cout << 'Y';
15

执行下面C++代码可以找出千位与个位的和恰好等于中间两位的四位数,横线处应该填入( )

int count = 0;
int a, bc, d, tmp;
for (int i = 1000; i <= 9999; i++) {
    a = (tmp = i) / 1000;
    _________________________
    bc = tmp / 10;
    d = tmp - bc * 10;
    if ( a + d == bc) {
        count++;
    }
}
cout << count;

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

16

鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。( )

17

C++表达式 10 * 4 % 6 和 10 * 2 % 3 的结果相同。( )

18

下面C++代码执行后将输出 0。 ( )

int i;
for (i = 0; i < 10; i++)
if (i % 3 == 0)
continue;
else
break;
cout << i;
19

下面C++代码中的 i > -10; i-- 改为 i < 10; i++ 执行结果相同。( )

int tnt = 0;
for (int i = 0; i > -10; i--){
    if (i < 0)
    i = -i;
    tnt += i;
}
cout << tnt;
20

下面C++代码执行后将输出 99,因为 i < 100 不包括100,⽽是到99。( )

int cnt = 0;
for (int i = 0; i < 100; i++)
cnt += 1;
cout << cnt;
21

下面的C++代码能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值
相同,121或414等是对称数,⽽123不是对称数。( )

int n, new_number;
cout << "请输入正整数:";
cin >> n;
new_number = 0;
while (n != 0){
    new_number = new_number * 10 + n % 10;
    n /= 10;
}
if (n == new_number)
cout << "对称数";
else
cout << "非对称数";
22

下面的C++代码执行后将输出 0。( )

int tnt = 0;
for (int i = -100; i < 100; i++)
tnt += i;
cout << tnt;
23

某同学执行C++代码时 printf("%g\n", (3 + 3.1415926535)); 输出 6.14159 ⽽不是 6.1415926535
表明该同学的计算机存在故障需要重新安装C++软件。( )

24

如果 x 是C++代码中的 double 型变量,则对 cout << ( x? 1227 : 12.27); 编译时将报错,因为

和 12.12分别是 int 和 double 类型,导致识别混乱。( )
25

在C++代码中,不可以将变量命名为 keyword,因为它是C++语⾔的关键字。( )

编程操作题(共 2 题,共 50 分)

26
编程操作题 25分

试题名称:⼩杨的爱⼼快递

时间限制:1.0 s | 内存限制:512.0 MB

题目描述

⼩杨是“爱⼼社区”的⼩志愿者,每周他都会帮助邻居们寄送捐赠给⼭区⼩学的⽂具和书籍。快递公司为了⽀持公益
⾏动,制定了特殊的运费规则,⿎励⼤家合理包装:
假设快递的体积为 ,重量为 。
按体积计算:运费按体积计算,公式是 元。
按重量计算:为了⿎励减轻包裹重量,规则是:当重量⼩于 克,即 时,运费为 元;当重量达到
或超过 克,即 时,运费为 元。
快递公司的叔叔说:“我们应该选择最公平合理的计费⽅式。”
所以,最终的运费会取按体积计算和按重量计算这两种⽅式中价格较低的那⼀个,这样对寄件⼈最公道。

输入格式

四⾏,每⾏⼀个⼀位⼩数的浮点数,分别代表,快递的体积 ,快递的重量 ,第⼀档重量运费 ,第⼆档重量运
费 。

输出格式

⼀⾏⼀个⼀位⼩数,代表实际快递运费。

数据范围

对于所有测试点,保证给出的浮点数不超过 。

27
编程操作题 25分

试题名称:⼿机电量显⽰

时间限制:1.0 s | 内存限制:512.0 MB

题目描述

⼩杨的⼿机就像⼀个聪明的⼩助⼿,当电量变化时,它会⽤不同的⽅式来提醒我们,假设当前的电量百分⽐为 :
当电量⾮常低(不超过 ,即 ),它会显⽰⼀个⼤写字母 R,就像在说:“快给我充电吧!(Red警告
⾊)”
当电量有点低(超过 但不超过 ,即 ),它会显⽰⼀个⼤写字母 L,意思是“电量有点Low
啦!”
当电量⽐较充⾜(超过 ,即 ),它就会直接显⽰具体的数字,⽐如直接显⽰ ,表⽰还有 的电
量。

输入格式

第⼀⾏⼀个正整数 ,代表数据组数。
对于每组数据,⼀⾏包含⼀个正整数 ,代表⼿机电量百分⽐。

输出格式

对于每组数据,输出⼀⾏,代表当前⼿机显⽰的电量信息。

数据范围

对于所有测试点,保证 。

已答 0/27