程序(负整数的除法和取余):

#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;
}

程序流程:

  1. 定义变量:

    • a 被赋值为 -7。
    • b 被赋值为 3。
  2. 执行除法运算(a / b):

    • a / b 是整数除法,它计算 a 除以 b 的商。
    • 在 C++ 中,整数除法会向零舍入。因为 -7 除以 3 等于 -2.333,整数除法会舍去小数部分,因此结果是 -2
  3. 执行取余运算(a % b):

    • a % b 是取余运算,计算 a 除以 b 的余数。
    • 通过公式 a - (a / b) * b 计算余数。
    • -7 % 3 = -7 - (-2 * 3) = -7 - (-6) = -7 + 6 = -1
    • 所以余数是 -1

输出:

程序输出了两个值:

-2 -1
  • 第一个值 -2a / b 的结果。
  • 第二个值 -1a % b 的结果。

总结:

这个程序展示了 C++ 中整数除法和取余操作的行为,特别是如何处理负数。在 C++ 中,负数除法和取余时的商和余数的符号是有规律的,需要特别注意。