c 语言运算符之除法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c 语言运算符之除法

2008-08-22 10:35:43| 分类:C语言学习| 标签:|字号大中小订阅

下面的小程序有除法运算。

#include

float even_sum(int *p);

void main()

{

int x;

float sum=0;

printf("please input a number \n");

scanf("%d",&x);

if (x%2==0)

{

sum= even_sum(&x);

}

else

{

sum=even_sum(&x);

}

printf("the sum is %f\n",sum);

}

float even_sum(int *x)

{

float sum=0;

while (*x>0)

{

sum+=1/(float)*x;

printf("the sum is %f\n",sum);

*x=*x-2;

}

return sum;

}

1. 乘法运算符(Multiplication Operator):*

* 是乘法运算符。以下语句:

meter = 100 * cm;

常量100 和变量cm 相乘,乘积被赋值给变量meter。

2. 除法运算符(Division Operator):/

C 使用/ 作为除法运算符。/ 左边的操作数除以右边的操作数。也就是说,/ 左边是被除数,右边是除数。例如:

var = 6/2;

6 除以2 得3,然后3 被赋值给变量var。

整数相除和浮点数相除有所不同。浮点数相除得到浮点数,整数相除得到整数。C 语言规定,整数相除产生的小数部分一律被抛弃,这就是所谓的截断(truncation)。例如:7/4 的结果是1,而

不是 1.75,也不是2。

下面我们来看一个小程序。

/* divide.c */

#include

int main(void)

{

printf("integer division: 7/4 is %d \n", 7/4);

printf("floating division: 7./4. is %f \n", 7./4.);

printf("mixed division: 7./4 is %f \n", 7./4);

return 0;

}

输出为:

integer division: 7/4 is 1

floating division: 7./4. is 1.750000

mixed division: 7./4 is 1.750000

最后一个printf 中,我们用浮点数除以整数,得到的结果和第二个printf 一样。这是因为 C 自动把这两个操作数的类型转换成了同一种类型。本例中,整数4 被转换成了浮点类型,然后再和浮点

数7. 相除。

C99 之前,正整数和负整数相除,如果产生小数部分,则相除的结果是不确定的。例如:7/-4 的结果可能是-2,也可能是-1。C99 规定,正整数和负整数相除,产生的小数部分一律被抛弃。也

就是说,C99 中,7/-4 的结果是确定的,一定是-1。

相关文档
最新文档