12. 如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“大于等于 a 且 是 4 的倍数”的整数中最小的?() (2023年3月 GESP C++ 一级)
作者:野牛程序员:2024-07-17 18:52:55GESP阅读 3646
12. 如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“大于等于 a 且 是 4 的倍数”的整数中最小的?() (2023年3月 GESP C++ 一级)
12. 如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“大于等于 a 且 是 4 的倍数”的整数中最小的?
A. a * 4
B. a / 4 * 4
C. (a + 3) / 4 * 4
D. a - a % 4 + 4
如果 a
为 int
类型的变量,下列哪个表达式可以正确求出满足“大于等于 a
且是 4 的倍数”的整数中最小的?( C. (a + 3) / 4 * 4 )
详细解释:
A. a * 4
这个表达式只是将
a
乘以 4,并不能保证结果是大于等于a
且是 4 的倍数的最小值。例如,如果a
是 5,这个表达式会给出 20,而正确答案应该是 8。B. a / 4 * 4
这个表达式会将
a
除以 4,然后再乘以 4。这实际上是将a
向下舍入到最近的 4 的倍数。例如,如果a
是 5,这个表达式会给出 4,而正确答案应该是 8。C. (a + 3) / 4 * 4
这个表达式将
a
加上 3,然后除以 4,再乘以 4。这个操作会将a
向上舍入到最近的 4 的倍数。例如,如果a
是 5,(5 + 3) / 4 * 4 等于 8,正确答案。D. a - a % 4 + 4
这个表达式将
a
减去a
除以 4 的余数,然后加上 4。这个操作也会将a
向上舍入到最近的 4 的倍数,但如果a
已经是 4 的倍数,这个表达式会多加 4。例如,如果a
是 8,这个表达式会给出 12,而正确答案应该是 8。
因此,正确的答案是 C. (a + 3) / 4 * 4
。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892