测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看
B20

加减乘除与取余:整数商

引入

章前总览 第4章学习算术运算。C++ 里乘除写作 * / /;两个整数相除得到整数商(不留小数),余数用 %。买书、星期几、时间换算,都会反复用到。

逻辑链条:

  • C1:七种算术运算符一览
  • C2:整数除法 / 与取余 %
  • C3:苹果分给同学的生活例子

1 C1. 七种算术运算符

常用七种:+ - * / % ++ --

</> 速记表

+   加
-   减
*   乘(不能写 ×)
/   除(整数相除→整数商)
%   取余(只适用于整数)
++  自增 1
--  自减 1
  • 优先级大体遵循“先乘除(及取余),后加减”;有括号先算括号。
  • ^ 在 C++ 里是按位异或,不是乘方。

2 C2. 整数商与余数

正整数 a 除以 b:商 a/b 表示“有几个 b”;余数 a%b 是去掉整数倍后的零头,取值在 0 … b-1

例子

  • 17/3 = 5(整数商),17%3 = 2(余数)。
  • 17 个苹果分给 3 人:每人 5 个,还剩 2 个。
  • % 两边都必须是整数;不能写 c % 2.5
补充说明

不推荐

cout << 17 / 3;   // 期望 5.666?
// 实际输出 5

问题:两个 int 相除不会自动变成小数。

推荐写法

cout << 17 / 3 << endl;  // 5
cout << 17 % 3 << endl;  // 2

优点:买书本数、剩余零钱就靠这一对。

小结

记住一对公式:

a = (a/b)*b + (a%b)   // 对非负整数成立
商 = a/b,余数 = a%b
里程碑达成:

下一节学习 ++/-- 与复合赋值 +=、%=,再进入真题案例。