本篇文章给大家分享的是有关深入浅析C语言中的整除取余运算,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

当对两个整数操作数应用“除法”运算符时,会出现有趣的情况。如果书写一个如下所示的表达式:
9 / 4 
按照C语言的规则,该运算产生的结果必然为整数,因为它的两个操作数都是int类型。C语言在计算这个表达式时,用4除9,丢弃余数。因此,结果就是2,而不是2.25。
如果要得到9除以4在数学计算中的正确值,至少要求有一个操作数为浮点类型数值。例如,以下三个表达式:
9.0 / 4  
9 / 4.0  
9.0 / 4.0 
的结果都是2.25。只有当两个操作数均为int类型时,小数部分才被丢弃。丢弃小数部分的操作称为截取。
C语言中还有一个以百分号“%”表示的算术运算符,用于求余。%运算符返回的是第一个操作数除以第二个操作数的余数,它用在两个操作数都是整数类型的情况下。例如:
9 %4 
的值为1,因为9除以4商是2,余数是1。下边是%运算符的其他一些示例:
0 %4 = 0  19 %4 = 3  
1 %4 = 1  20 %4 = 0  
4 %4 = 0  2001 %4 = 1 
“/”和“%”在编程应用中有广泛的作用。例如,%运算符用于测试一个数能否被另一个数整除。例如,为了测试整数n能否被3整除,可以检查表达式n%3的值是否为0。
但是,当“/”和“%”的操作数中有一个为负数或者两个都是负数时,使用它们必须十分小心,结果会因机器而异。在大部分机器中,截取将是朝着0的方向进行的,但是在ANSI标准中并没有进行规定。通常,编程经验告诉我们,对负值避免使用这两个运算符。