程序(负整数的除法和取余):
#include <iostream> // 引入输入输出流库
using namespace std; // 使用标准命名空间
int main() { // 主函数入口
int a = -7; // 定义一个整数变量 a 并赋值为 -7
int b = 3; // 定义一个整数变量 b 并赋值为 3
// 输出 a 除以 b 和 a 对 b 取余的结果
cout << a / b << " " << a % b << endl;
}
程序流程:
定义变量:
a
被赋值为 -7。b
被赋值为 3。
执行除法运算(
a / b
):a / b
是整数除法,它计算a
除以b
的商。- 在 C++ 中,整数除法会向零舍入。因为 -7 除以 3 等于 -2.333,整数除法会舍去小数部分,因此结果是
-2
。
执行取余运算(
a % b
):a % b
是取余运算,计算a
除以b
的余数。- 通过公式
a - (a / b) * b
计算余数。 -7 % 3
=-7 - (-2 * 3)
=-7 - (-6)
=-7 + 6
=-1
。- 所以余数是
-1
。
输出:
程序输出了两个值:
-2 -1
- 第一个值
-2
是a / b
的结果。 - 第二个值
-1
是a % b
的结果。
总结:
这个程序展示了 C++ 中整数除法和取余操作的行为,特别是如何处理负数。在 C++ 中,负数除法和取余时的商和余数的符号是有规律的,需要特别注意。