c 语言中除号仅用于整数间吗?

2024-11-06 14:42:42
推荐回答(2个)
回答1:

根据被除数和除数的类型的不同,c语言中的除法有两种运算:

1、

如果被除数和除数都是整型(包括有符号和无符号,也包括char类型),则进行的是整除,即只留下结果的整数部分,直接舍弃小数部分。

如:

int a=10;

char b=4;

float r=a/b;

则r的结果是2,当作为浮点数输出(用%f格式输出时),输出的结果是2.000000,因为默认会保留6位小数。

2、

如果被除数或除数之一是浮点型(包括一般的小数和科学计数法表示的小数),则进行的是浮点数除法,结果是浮点数。但因为计算机只能表示有限精度,所以结果跟纯数学上算出的可能有所不同。

如:

10.0/4等于2.5,能精确表示。但15.0/7就只能精确到有限位数(可以指定要精确到的小数位数,但一般不能超过15位)。

下面是一个例子:

#include

int main()

{

int a=10;

char b=4;

float r=a/b;

printf("%d/%d=%f\n",

a,b,r);

printf("10.0/4=%f\n",

10.0/4);

printf("15.0/7=%.15lf\n",

15.0/7);

return 0;

}

回答2:

c 语言中除号不仅仅用于整数间,也可以使用于两个实数之间,或一个整数和一个实数之间(系统会进行“自动类型转换”)。