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

相关推荐
王德博客24 分钟前
【C++继承】笔试易错题目
开发语言·c++·继承
wen__xvn1 小时前
基础数据结构第08天:栈(实战篇)
数据结构·c++·算法
bkspiderx1 小时前
RabbitMQ 技术指南(C/C++版)
c语言·c++·rabbitmq
hetao17338371 小时前
2026-01-19~20 hetao1733837 的刷题笔记
c++·笔记·算法
梓䈑1 小时前
【Linux系统】实现线程池项目(含日志类的设计)
linux·服务器·c++
优雅的潮叭1 小时前
c++ 学习笔记之 volatile与atomic
c++·笔记·学习
Zsy_0510032 小时前
【C++】类和对象(二)
开发语言·c++
GeekyGuru2 小时前
C++跨平台开发的核心挑战与应对策略
开发语言·c++
Howrun7772 小时前
信号量(Semaphore)
开发语言·c++·算法
橘子师兄3 小时前
C++AI大模型接入SDK—ChatSDK使用手册
开发语言·c++·人工智能