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 格式 输出不对 ≠ 电脑坏
三目运算符 会自动类型转换

相关推荐
2401_8920709819 小时前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
yuzhuanhei19 小时前
Visual Studio 配置C++opencv
c++·学习·visual studio
不爱吃炸鸡柳20 小时前
C++ STL list 超详细解析:从接口使用到模拟实现
开发语言·c++·list
十五年专注C++开发20 小时前
RTTR: 一款MIT 协议开源的 C++ 运行时反射库
开发语言·c++·反射
‎ദ്ദിᵔ.˛.ᵔ₎20 小时前
STL 栈 队列
开发语言·c++
2401_8920709821 小时前
【Linux C++ 日志系统实战】高性能文件写入 AppendFile 核心方法解析
linux·c++·日志系统·文件写对象
郭涤生21 小时前
STL vector 扩容机制与自定义内存分配器设计分析
c++·算法
༾冬瓜大侠༿21 小时前
vector
c语言·开发语言·数据结构·c++·算法
cccyi721 小时前
【C++ 脚手架】etcd 的介绍与使用
c++·服务发现·etcd·服务注册
liu****21 小时前
第16届省赛蓝桥杯大赛C/C++大学B组(京津冀)
开发语言·数据结构·c++·算法·蓝桥杯