| 题号 | 题型 | 答案 | 考点 | 解题思路 |
|---|---|---|---|---|
| 第 1 题 | 选择题 | D | — | 看到数据编码题先锁定三个维度:有符号数表示范围、单位换算规则、补码运算特性。本题核心陷阱在于 128 的 8 位表示——原码/反码无法表示 128(范围是 127~+127),只有… |
| 第 2 题 | 选择题 | D | 二进制/十进制转换 | 看到二进制分解题,先想"位权值"——每个位置代表 2 的幂。把选项里的幂次加总,核对是否等于原十进制数。若选项不是分解式而是进制书写规则,则不属于"分解"范畴,直接排除。 |
| 第 3 题 | 选择题 | A | 循环控制 | 看到 for 循环先扫三要素:初始化、条件、步进。这题一眼就看出条件里混了赋值运算符,编译必挂。处理这类题的标准动作是:先确认代码能否编译,再谈运行结果;编译报错直接锁定答案,无需… |
| 第 4 题 | 选择题 | C | 原码、反码与补码 | 补码是计算机处理有符号数的标准方式。正数补码等于原码;负数补码等于原码按位取反后加 1。本题考的是对补码定义和 8 位表示范围的准确理解。 |
| 第 5 题 | 选择题 | B | 位运算、循环控制 | 见 x & (x 1) → 数二进制 1 的个数 |
| 第 6 题 | 选择题 | C | 位运算 | 看到位运算题先想:异或消重、左移溢出、二进制位权。 |
| 第 7 题 | 选择题 | D | 位运算 | 看到 ~x → 先想 x 1;看到混合位运算 → 按 ~ & ^ 定序 |
| 第 8 题 | 选择题 | C | — | 看到加密解密成对出现,立刻想到异或的自反性质。加密时 msg[i] = msg[i] ^ key,解密只需再执行一次同样的异或:(msg[i] ^ key) ^ key = msg… |
| 第 9 题 | 选择题 | A | — | 看到题目先想字符串中的最大字符是什么,然后判断该字符是否小于等于各进制的上限字符。二进制上限是 '1',八进制是 '7',十进制是 '9',十六进制是 'F'。程序中已经找到了 m… |
| 第 10 题 | 选择题 | A | 位运算 | 位掩码操作:加权限用 ,清权限用&(~x) |
| 第 11 题 | 选择题 | D | 位运算 | 看到右移→想整数除2向下取整;看到0x0F→想低4位全置1;看到^自身→必得0。 |
| 第 13 题 | 选择题 | D | 函数 | 看到 string 成员函数题,先回忆每个函数的签名和返回值。size/length 都是返回长度,empty 返回布尔,substr 第二个参数是长度可省略,erase 是 po… |
| 第 14 题 | 选择题 | B | — | 数组定义的核心规则是:大小必须为常量表达式,初始化列表元素类型需与数组类型匹配。看到题先扫四个选项:A 的初始化列表混入浮点字面量 3.0,int 数组不能直接容纳 double … |
| 第 15 题 | 选择题 | B | 信息论、组合数学 | 本题核心是利用两轮实验构建三进制编码。每只老鼠对某缸酒有三种状态:两轮都不喝、仅第一轮喝、仅第二轮喝,对应三进制的一位。m只老鼠能区分3^m种情况。要覆盖1000缸,需3^m≥10… |
| 第 16 题 | 判断题 | B | — | 补码加法的核心规则是"溢出丢弃",看到题先想:补码表示的有符号数加法,最高位进位是自然溢出,按定义应直接丢弃,而非循环加回。循环进位是原码或某些特殊编码的机制,与补码相悖。 |
| 第 17 题 | 判断题 | B | — | 标准补码定义是"按位取反后加1"。题目描述的"从右向左扫描,遇到第一个1之后右边全部取反"是反码算法的变体。以13为例,二进制00001101,按题述方法:最右1→0,0→1,1→… |
| 第 18 题 | 判断题 | B | 原码、反码与补码 | 看到"8位原码"先想符号位占1位,剩下7位表示绝对值。正数范围:00000000~01111111,即0~127;负数范围:10000000~11111111,即 0~ 127。合… |
| 第 19 题 | 判断题 | B | — | 范围for循环的循环变量是值拷贝而非引用。看到 for (int num : a) 先想"num是局部变量",每次迭代num只保存当前元素副本。关键观察: num = 0 修改的是… |
| 第 20 题 | 判断题 | B | 位运算 | 看到 (a & 1) == 1 先想奇偶性,再想符号位。 |
| 第 21 题 | 判断题 | A | — | 处理字符串相关题目,先数字符个数,再记 C 语言规则:字符串字面量末尾必带'\0',占 1 字节。本题 str[4] 声明 4 个元素,但赋值为"GESP",编译器实际分配 5 字… |
| 第 22 题 | 判断题 | B | 字符数组与字符串处理 | 看到 str[i] 先确认类型是 char,比较对象必须同类型。0 和 1 是整数,'0' 和 '1' 才是字符,正确写法是 if(str[i] == '0' str[i] == … |
| 第 23 题 | 判断题 | A | — | 先算字符常量:'a' 是 97,'b' 是 98。if 条件里 a 0 为真,逻辑或会短路,右边 b++ 根本不会执行,b 保持 98,输出 98。 |
| 第 24 题 | 判断题 | A | — | |
| 第 25 题 | 判断题 | B | 循环控制 | 看到求和流程图先定位循环边界——数组 a[0]~a[n] 共 n+1 个元素,循环变量 i 必须遍历 0 到 n 全部下标。核心判断条件应为 i≤n 或 i<n+1,否则必漏掉最后… |
建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。
想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。