在 C++ 代码中,假设 $N$ 为正整数且大于 $100$,则 $N / 100$ 将舍弃个位和十位,如 $N$ 为 $1234$ 则 cout << (N / 100) 将输出 $12$。如果 $N$ 小于 $100$,则其值为 $0$。( )
答案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$ 时误判。记住:整数除法永远向下取整。