GESP 二级 · GESP 202509 C++ 二级 第 17 题

判断题 · 答案 A

← 整套速查表 GESP 二级 全部真题

题目

在 C++ 代码中,假设 $N$ 为正整数且大于 $100$,则 $N / 100$ 将舍弃个位和十位,如 $N$ 为 $1234$ 则 cout << (N / 100) 将输出 $12$。如果 $N$ 小于 $100$,则其值为 $0$。( )

答案:A

解题思维

答案A。文件重定向后cout的输出被写入文件。程序本身无法确定输出目的地。

常见错误

文件重定向后程序行为不变,只是I/O目的地改变了。程序无法区分。

详细解析(节选)

【考点】整数除法|条件判断

核心逻辑:整数除法 N / 100 在 C++ 中直接截断小数部分。当 $N \ge 100$ 时,N / 100 恰好得到百位及以上数字(如 1234 / 100 = 12),符合"舍弃个位十位"的描述;当 $N < 100$ 时,N / 100 恒为 0,与题干后半句完全一致。

步骤拆解:1. 识别操作:题目考察的是整数除法行为。2. 验证 $N \ge 100$ 情况:1234 / 100 = 12,正确。3. 验证 $N < 100$ 情况:99 / 100 = 0,正确。4. 结论:两个条件均成立,答案为 A。

考点聚焦:GESP 二级要求掌握整数除法的截断特性,以及用条件语句描述不同取值范围的行为(if 分支逻辑)。

命题思维:这类题常把"舍去低位"包装成数学语言,若只背"除以 100 去掉两位"而不理解整数除法的截断本质,容易在边界 $N=100$ 或 $N=99$ 时误判。记住:整数除法永远向下取整。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断