C语言 定义浮点型变量(0oa 和 double),进行一些简单的数学运算(如加法、减法、乘法除法),并输出结果,观察精度的差异。
时间: 2024-09-23 22:13:09 浏览: 59
C语言46-MDU32–乘法和除法单元(STC32G-DEMO-CODE-220311kw)
5星 · 资源好评率100%
在C语言中,你可以通过`float`和`double`这两个数据类型来定义浮点型变量。`float`通常占用4字节,而`double`占用8字节,因此`double`提供更高的精度。
下面是简单的例子:
```c
#include <stdio.h>
int main() {
// 定义float类型的变量
float f1 = 1.5;
float f2 = 2.7;
// 定义double类型的变量
double d1 = 1.5;
double d2 = 2.7;
// 进行加法
float sum_f = f1 + f2;
double sum_d = d1 + d2;
// 减法
float diff_f = f1 - f2;
double diff_d = d1 - d2;
// 乘法
float prod_f = f1 * f2;
double prod_d = d1 * d2;
// 除法 (注意,除数不能为零)
if (d2 != 0) {
float div_f = f1 / f2;
double div_d = d1 / d2;
} else {
printf("Error: Division by zero is not allowed.\n");
}
// 输出结果
printf("Float addition: %.2f + %.2f = %.2f\n", f1, f2, sum_f);
printf("Double addition: %.2lf + %.2lf = %.2lf\n", d1, d2, sum_d);
printf("Float subtraction: %.2f - %.2f = %.2f\n", f1, f2, diff_f);
printf("Double subtraction: %.2lf - %.2lf = %.2lf\n", d1, d2, diff_d);
printf("Float multiplication: %.2f * %.2f = %.2f\n", f1, f2, prod_f);
printf("Double multiplication: %.2lf * %.2lf = %.2lf\n", d1, d2, prod_d);
printf("Float division: %.2f / %.2f = %.2f\n", f1, f2, div_f);
printf("Double division: %.2lf / %.2lf = %.2lf\n", d1, d2, div_d);
return 0;
}
```
运行这个程序,你会看到`float`运算的结果通常有较少的小数位,而`double`的精度更高。对于涉及大量计算或需要精确度的情况,推荐使用`double`。
阅读全文