首页 > 编程知识 正文

c语言求余运算符必须是整数吗,c语言中有余数的除法

时间:2023-05-04 17:15:01 阅读:229627 作者:4418

当对两个整数操作数应用“除法”运算符时,会出现有趣的情况。如果书写一个如下所示的表达式:

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标准中并没有进行规定。通常,编程经验告诉我们,对负值避免使用这两个运算符。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。