GESP2026年6月认证C++三级( 第一部分选择题(8-15))精讲
第8题
《8个小士兵组成一个字节——KB到底有多少bit?》
题目:
计算机中的2KB等于多少bit?
答案:
A(16384)
1、🌈故事开始
(1)有一天,小杨来到计算机军营。
门口站着一位Byte队长。
他说:
"我一个Byte手下有8位士兵。"
也就是说:
1 Byte = 8 bit(2)后来又来了KB将军。
他说:
1 KB =1024 Byte(3)那么:
2KB就是:
2×1024 Byte(4)每个Byte里面还有:
8 bit所以:
2×1024×8 =16384 bit(5)答案:
163842、🎯知识点
一定牢记:
1Byte=8bit 1KB=1024Byte 1MB=1024KB 1GB=1024MB3、⭐考试技巧
(1)看到:
Byte立即想到:
8bit(2)看到:
KB立即想到:
×1024 Byte第9题
《镜子魔法——~到底是什么?》
答案:
B
1、🌈故事
(1)位运算王国有一面神奇镜子。
名字叫:
~它会把每一位全部反过来。
(2)例如:
00000110变成
11111001这就是
~6(3)汉克老师告诉大家一个超级公式:
~n=-n-1这是考试喜欢考的。
(4)验证一下:
~6 =-6-1 =-7所以:
A:
~6=5错误。
继续:
~0 =-0-1 =-1所以:
C错。
继续:
~(-2) =2-1 =1所以:
D错。
只有:
~n=-n-1正确。
答案:
B2、🎯知识点
公式一定背下来:
~n=-n-1以后看到
~可以不用画二进制。
直接算。
第10题
《补码王国——最大的数字是谁?》
答案:
D(错误)
1、🌈故事
(1)补码国王管理着8位士兵。
他们最多表示:
256个数(2)范围:
-128 ~ 127(3)所以:
最大:
127不是:
128因此:
D错误。
2、其它三个为什么对?
A:
原码:
最高位表示符号。
正确。
B:
负数补码:
反码+1正确。
C:
快速求补码:
从右往左 找到第一个1 左边全部取反正确。
3、🎯知识点
三级考试补码口诀:
正数: 三码相同 负数: 补码=反码+1第11题
《按位小卫士——&到底能干什么?》
答案:
D(错误)
🌈故事
今天四位卫士展示自己的本领。
1、第一位:
num&1(1)他说:
我专门看奇偶。
(2)例如:
9 1001(3)最低位:
1奇数。
2、第二位:
num&0xFF(1)他说:
我保留最低8位。
(2)例如:
1101010110100101(3)留下:
101001013、第三位:
num&b(1)很多同学都会问:
"这个 b 是什么意思?哪里来的?"
答案是:
这里的
b只是一个普通变量名,没有任何特殊含义。
(2)也就是说,它和下面这些完全一样:
num & anum & xnum & masknum & 100这里的b 就是另一个整数变量。
(3)结果一定不会比num更大。
因为:
只有把1变成0。
不会把0变成1。
4、第四位:
(1)他说:
左移永远乘2(2)汉克老师摇头:
"如果溢出了呢?"
例如:
11111111(3)左移以后:
最高位飞走。
结果完全不同。
所以:
D错。
5、🎯知识点
左移乘2
一定加一句:
没有溢出!第12题
《运算符排队比赛——谁先计算?》
答案:
B(15)
1、这是三级最容易丢分的一题。
因为:
很多同学不会看优先级。
2、表达式:
!a << b & c ^ d |e已知:
a=7 b=3 c=14 d=15 e=83、第一步
先算:
!因为:
! 优先级最高!7 =04、第二步:
0<<3 =05、第三步:
0&14 =06、第四步:
0^15 =157、最后:
15|8 1111 1000 = 1111 = 15答案:
158、🎯考试口诀
位运算优先级:
第一名: ! 第二名: << >> 第三名: & 第四名: ^ 第五名: |或者一句话:
非(!)移(<< >>)与(&)异(^)或(|)
建议同学们背下来。
第13题
《string工具箱——四个魔法按钮》
答案:
C(错误)
1、🌈故事
string工具箱有四个按钮。
(1)第一个:
size()返回:
字符数量。
(2)第二个:
length()作用完全一样。
(3)第三个:
empty()很多孩子容易记错。
真正返回:
空 true非空 false题目写成:
非空返回true所以:
错。
(4)第四个:
append()例如:
s.append(s2,0,3);表示:
从:
0开始。
复制:
3个字符完全正确。
2、🎯知识点
牢记:
empty() 空 true不是:
非空true第14题
《数组招生考试——谁符合要求?》
答案:
B
四位同学报名。
1、A:
int [10]a;数组名位置错。
2、B:
int b['&'];(1)为什么可以?
因为:
'&'(2)其实就是:
ASCII值。
例如:
'&' =38所以:
实际上就是:
int b[38];合法。
3、C:
int c[*];根本不是合法语法。
4、D:
double d[10.0];数组大小必须整数。
不能:
10.05、🎯知识点
数组长度必须:
整数常量表达式字符:
'A' '0' '&'其实都是整数。
第15题
《四座进制城堡——谁能住进去?》
答案:
B
1、🌈故事
(1)今天来了一个数字:
例如:
1011(2)国王要判断:
它能住进:
二进制 八进制 十进制 十六进制哪座城堡?
(3)程序先找到:
最大的字符:
max例如:
1011 最大 = 1(4)然后判断:
二进制:
最大字符 ≤1说明:
只有:
0 1组成。
(5)八进制:
≤7(6)十进制:
≤9(7)十六进制:
≤F2、所以:
正确代码:
max<='1' max<='7' max<='9' max<='F'答案:
B3、🎯知识点
判断一种进制,本质就是判断:
最大的字符是否合法。
例如:
678最大:
8不能是:
二进制。
也不能:
八进制。
但是:
可以是十进制。
🎓 (第8~15题)知识总结
| 题号 | 核心知识 | 必背知识点 |
|---|---|---|
| 8 | 存储单位 | 1 Byte = 8 bit,1 KB = 1024 Byte |
| 9 | 按位取反 | ~n = -n - 1,考试直接套公式 |
| 10 | 补码 | 8位补码范围-128 ~ 127,负数补码 = 反码 + 1 |
| 11 | 位运算 | num & 1判断奇偶,num & 0xFF保留低8位,左移乘2需不溢出 |
| 12 | 运算符优先级 | !→<< >>→&→^→ ` |
| 13 | string | size()与length()等价,empty()空时返回true |
| 14 | 数组 | 数组长度必须是整数常量表达式,字符常量(如'&')本质上也是整数 |
| 15 | 进制判断 | 判断能否属于某种进制,只需判断最大字符是否超出该进制允许的范围 |
这 8 道题覆盖了 GESP C++三级选择题中容易反复考查的知识点。尤其是补码、位运算、运算符优先级、字符串函数和字符数组,不仅选择题常考,判断题和编程题中也经常会涉及,建议同学孩子们结合故事和实例反复练习,真正做到举一反三。