GESP2025年12月认证C++一级真题与解析(判断题1-10)

第二部分:判断题详细解析(共 10 题)

1、判断题 第 1 题

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

❌ 结论:错误

🧠 解析

这里考的是一个非常基础但非常容易混淆的概念

名称 作用
操作系统 管理硬件、运行程序
编译器 把源程序翻译成机器能执行的程序

👉 鸿蒙是操作系统,不是编译器

  • 它可以 运行程序

  • 不能"翻译源程序"

2、判断题 第 2 题

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

✅ 结论:错误

🧠 解析

先记住规则👇

*% 同一优先级,从左往右算

第一个表达式
cpp 复制代码
10 * 4 % 6
→ 40 % 6
→ 4
第二个表达式
cpp 复制代码
10 * 2 % 3
→ 20 % 3
→ 2

3、判断题 第 3 题

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

cpp 复制代码
int i;
for (i = 0; i < 10; i++)
    if (i % 3 == 0)
        continue;
    else
        break;
cout << i;

✅ 结论:错误

🧠 解析(逐步模拟)

  • i = 0

  • 0 % 3 == 0continue

  • 进入下一轮

  • i = 1

  • 1 % 3 != 0break

  • 循环立刻结束

此时 i 是多少?

👉 1


4、判断题 第 4 题

i > -10; i-- 改为 i < 10; i++,执行结果相同。( )

❌ 结论:错误

🧠 解析

看起来,这两种循环:

cpp 复制代码
for (i = 0; i > -10; i--)
cpp 复制代码
for (i = 0; i < 10; i++)

都是求0+1+2+3+.......+9的和。


问题出在

cpp 复制代码
    if (i < 0)
        i=-i;
   
  • i 的值始终不会小与-10,为死循环。


5、判断题 第 5 题

下面代码输出 99,因为 i < 100 不包括 100。( )

cpp 复制代码
for (int i = 0; i < 100; i++)
    ;
cout << i;

❌ 结论:错误

🧠 解析

关键点:

循环结束后,输出为 cout << cnt ;

执行过程:0~99,共计循环100次

👉 输出的是 100

📌 这是 1 级考试中最经典的"循环结束值"陷阱



6、判断题 第 6 题

下面代码能判断正整数是否为对称数。( )

cpp 复制代码
while (n != 0){
    new_number = new_number * 10 + n % 10;
    n /= 10;
}
if (n == new_number)

❌ 结论:错误

🧠 解析

致命问题👇

n 在 while 循环结束后已经变成 0

你拿什么跟 new_number 比?

✅ 正确做法:

cpp 复制代码
int old = n;
...
if (old == new_number)

📌 1 级非常爱考:是否保存原值


7、判断题 第 7 题

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

cpp 复制代码
int tnt = 0;
for (int i = -100; i < 100; i++)
    tnt += i;
cout << tnt;

✅ 结论:错误

🧠 解析

  • -100 到 99 的和 = -100

  • 不完全对称,不能互相抵消

  • 最后会有-100不能消掉

👉 总和 = -100



8、判断题 第 8 题

printf("%g", 3 + 3.1415926535) 输出 6.14159,说明电脑有问题。( )

❌ 结论:错误

🧠 解析

%g 的规则是:

默认输出 6 位有效数字

不是 bug!

不是电脑坏了!

是你 格式符没用对

📌 若想全输出:

cpp 复制代码
printf("%.10f", x);

9、判断题 第 9 题

三目运算符中 int 和 double 会导致编译错误。( )

❌ 结论:错误

🧠 解析

C++ 会自动进行:

👉 类型提升(int → double)

最终结果是 double

📌 三目运算符:

两个结果会被"统一成同一类型"

10、判断题 第 10 题

不能把变量命名为 keyword,因为它是 C++ 关键字。( )

❌ 结论:错误

🧠 解析

C++ 的关键字是:

cpp 复制代码
int, for, while, if, return ...

keyword 只是一个普通英文单词

✔ 可以作为变量名


11、判断题核心知识点总结

易错点 一句话记忆
操作系统 vs 编译器 翻译程序的是编译器
循环结束值 退出时变量已经更新
continue / break 会改变执行路径
对称数 一定要保存原值
printf 格式 输出不对 ≠ 电脑坏
三目运算符 会自动类型转换

相关推荐
_Voosk2 小时前
macOS Xcode C++程序设置相对路径根目录
c语言·c++·xcode·swift
Trouvaille ~2 小时前
【C++篇】智能指针详解(二):原理剖析与高级话题
服务器·c++·stl·资源管理·智能指针·编程规范·raii
_OP_CHEN2 小时前
【算法基础篇】(三十九)数论之从质数判定到高效筛法:质数相关核心技能全解析
c++·算法·蓝桥杯·埃氏筛法·acm/icpc·筛质数·欧拉筛法
Pcr_C3 小时前
Qt事件循环深度解析与实战指南
开发语言·c++·qt·开源
汉克老师3 小时前
GESP2025年12月认证C++一级真题与解析(编程题2(手机电量显示))
c++·while循环·多分支结构
闻缺陷则喜何志丹3 小时前
计算几何汇总
c++·数学·计算几何·凸多边形·简单多边形
C++ 老炮儿的技术栈3 小时前
时序数据库 相对于关系型数据库,有什么区别
c语言·开发语言·c++·机器人·时序数据库·visual studio
hetao17338373 小时前
2025-12-30 hetao1733837 的刷题笔记
c++·笔记·算法
小此方3 小时前
Re: ゼロから学ぶ C++ 入門(九)类和对象·最终篇上:缓冲区同步与流绑定、取地址运算符重载、const成员函数、初始化列表
开发语言·c++·底层