GESP2025年6月认证C++三级( 第二部分判断题(1-10))
🧩 第1题:字符串比较的是啥?
📜题目:
string 的==比较的是地址?
👉答案:❌ 错
1、🌈故事
(1)汉克老师看到两个箱子:
string a = "hello"; string b = "hello";(2)怪兽说:
“它们只是住的地方一样才算一样!”
2、🧠真相
👉 string 的==比较的是内容
if(a == b) // 比较的是 hello 和 hello3、🎯结论
👉比较内容,不是地址 → ❌
🧩 第2题:substr 切片魔法
📜题目:
substr(1,3) 是从1开始取3个?
👉答案:✅ 对
1、🌈故事
字符串:
"abcdef"汉克老师用剪刀✂️:
substr(1,3)2、🧠结果
从下标1开始 → b 取3个 → bcd3、🎯结论
👉完全正确 → ✅
🧩 第3题:浮点数右移?
📜题目:
(x >> 1) 等价于 x/2(x是浮点数)
👉答案:❌ 错
1、🌈故事
汉克老师课堂演示:
double x = 3.5; x >> 1;结果💥 编译器直接爆炸!
2、🧠原因
👉>>只能用于整数
3、🎯结论
👉浮点数不能位运算 → ❌
🧩 第4题:字符串比较进阶
📜题目:
string("hello") == "hello"
👉答案:✅ 对
1、🌈故事
两个精灵:
string("hello") "hello"2、🧠解释
👉C++会自动转换,比较一下他们的内容:
string("hello") == string("hello")3、🎯结论
👉内容一样 → ✅
🧩 第5题:sort 能排 set 吗?
📜题目:
sort 可以直接排 set
👉答案:❌ 错
1、🌈故事
汉克老师课堂演示,是否可以使用sort,来整理“set仓库”:
set<int> s; sort(s.begin(), s.end()); ❌发现,sort不能使用。
2、🧠原因
👉 set 本身就是:
✨ 自动排序的!
👉而且它不支持 random access(随机访问)
3、🎯结论
👉不能 sort → ❌
🧩 第6关:判断奇偶的秘诀
📜题目:
(x & 1) == 0 判断偶数
👉答案:✅ 对
1、🌈故事
汉克老师将10进制数字转成2进制数字:
6 = 110 5 = 1012、🧠规则
👉看2进制数字最后一位:
0 → 偶数
1 → 奇数
x & 13、🎯结论
👉成立 → ✅
🧩 第7关:substr 越界会崩吗?
📜题目:
substr(2,10) 会抛异常
👉答案:❌ 错
1、🌈故事
字符串:
"abc"执行:
substr(2,10)2、🧠结果
👉不会报错!
👉只会返回:
"c"3、🎯结论
👉不会异常 → ❌
🧩 第8关:pow 的陷阱
📜题目:
pow(2,3) 不一定等于8
👉答案:✅ 对
1、🌈故事
汉克老师课堂演示计算:
pow(2,3)2、🧠问题
👉pow 返回的是double
在极少数的情况下,可能变成:
7.99999993、🎯结论
👉浮点数计算后的结果是近似值,要注意这个计算特性 → ✅
🧩 第9关:枚举类型的秘密
📜题目:
enum 可以是 float?
👉答案:❌ 错
1、🌈故事
枚举王国规定:
enum Color {RED, BLUE};2、🧠规则
👉底层必须是整数类型
3、🎯结论
👉不能是 float → ❌
🧩 第10关:类型自动转换
📜题目:
double f() 返回 int 会自动转
👉答案:✅ 对
1、🌈故事
函数:
double f() { return 3; // int }2、🧠解释
👉C++会自动:
int → double 3 → 3.03、🎯结论
👉可以自动转换 → ✅
🎉 最终总结
string比内容, substr按长度; 浮点不能移位, set不用sort; 奇偶看最后, substr不报错; pow有误差, enum是整数; 返回自动转!🌟 判断题“秒杀技巧”
判断题快速思考三步:
① 能不能编译? ② 类型对不对? ③ 有没有隐藏坑(浮点/编码)