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

相关推荐
Thera7772 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
君义_noip3 小时前
信息学奥赛一本通 1952:【10NOIP普及组】三国游戏 | 洛谷 P1199 [NOIP 2010 普及组] 三国游戏
c++·信息学奥赛·csp-s
旖-旎4 小时前
二分查找(x的平方根)(4)
c++·算法·二分查找·力扣·双指针
顶点多余4 小时前
使用C/C++语言链接Mysql详解
数据库·c++·mysql
汉克老师4 小时前
GESP2026年3月认证C++四级( 第二部分判断题(1-10))
c++·指针·函数重载·文件操作·数组·gesp4级·gesp四级
khddvbe5 小时前
C++并发编程中的死锁避免
开发语言·c++·算法
wWYy.6 小时前
STL:list
开发语言·c++
小比特_蓝光6 小时前
vector模拟实现
c++
咱就是说不配啊6 小时前
3.19打卡day33
数据结构·c++·算法
2501_924952696 小时前
嵌入式C++电源管理
开发语言·c++·算法