分类: C/C++
2008-03-20 18:38:14
来源: 作者:antigloss 等级:精品
发布于2006-02-04 15:14 被读2254次 【字体: 】 |
1. 乘法运算符(Multiplication Operator):* * 是乘法运算符。以下语句: meter = 100 * cm; 常量 100 和变量 cm 相乘,乘积被赋值给变量 meter。
C 使用 / 作为除法运算符。/ 左边的操作数除以右边的操作数。也就是说,/ 左边是被除数,右边是除数。例如: var = 6/2; 6 除以 2 得 3,然后 3 被赋值给变量 var。 整数相除和浮点数相除有所不同。浮点数相除得到浮点数,整数相除得到整数。C 语言规定,整数相除产生的小数部分一律被抛弃,这就是所谓的截断(truncation)。例如:7/4 的结果是 1,而不是 1.75,也不是 2。 下面我们来看一个小程序。 /* divide.c */ int main(void) return 0; 输出为: integer division: 7/4 is 1 最后一个 printf 中,我们用浮点数除以整数,得到的结果和第二个 printf 一样。这是因为 C 自动把这两个操作数的类型转换成了同一种类型。本例中,整数 4 被转换成了浮点类型,然后再和浮点数 7. 相除。 C99 之前,正整数和负整数相除,如果产生小数部分,则相除的结果是不确定的。例如:7/-4 的结果可能是 -2,也可能是 -1。C99 规定,正整数和负整数相除,产生的小数部分一律被抛弃。也就是说,C99 中,7/-4 的结果是确定的,一定是 -1。 参考资料:C Primer 5th Edition 本文版权归 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。 |