C语言入门之浮点数
什么是浮点数
在计算机中,浮点数是一种表示实数(即小数)的数据类型。与整数不同,浮点数的存储方式使用指数表示法,可以表示非常大或非常小的数值。在C语言中,浮点数类型为float或double,分别使用4字节或8字节的存储空间。
如何定义浮点数变量
在程序中定义浮点数变量的方法与定义整数变量类似,但需要使用浮点数类型的关键字float或double。
float pi = 3.1415926;
double e = 2.71828;
在定义浮点数变量时,可以直接赋值为小数,也可以通过强制类型转换将整数转换为浮点数。
int n = 3;
float f = (float)n / 2;
浮点数的运算
浮点数可以参与加、减、乘、除等基本运算,以及指数运算、三角函数等高级运算。
float a = 3.5;
float b = 2.0;
float c = a + b; // c的值为5.5
float d = a * b; // d的值为7.0
float e = pow(a, b); // e的值为12.25
float f = sin(a); // f的值为0.350176
需要注意的是,浮点数之间的比较和整数比较有所不同。由于浮点数存在精度误差,因此应该使用比较容差的方法进行比较。
float x = 0.1 + 0.2;
if(fabs(x - 0.3) < 0.0001) {
printf("x is equal to 0.3\n");
} else {
printf("x is not equal to 0.3\n");
}
浮点数的格式化输出
使用printf函数输出浮点数时,可以使用格式控制符"%.nf"来指定小数位数。
float x = 3.1415926;
printf("pi is %.2f\n", x); // 输出pi is 3.14
需要注意的是,printf函数默认情况下是使用指数形式输出浮点数的,可以通过指定格式化控制符"%f"来取消指数形式输出。
double y = 1.2345678e-10;
printf("y is %f\n", y); // 输出y is 0.000000
printf("y is %.10f\n", y); // 输出y is 0.0000000001
示例
示例1:计算圆的面积
#include <stdio.h>
int main() {
float pi = 3.1415926;
float r = 2.5;
float area = pi * r * r;
printf("The area of the circle is: %.2f\n", area);
return 0;
}
输出结果:
The area of the circle is: 19.63
示例2:计算三角形的面积
#include <stdio.h>
int main() {
float a = 3.0;
float b = 4.0;
float c = 5.0;
float p = (a + b + c) / 2;
float area = sqrt(p * (p - a) * (p - b) * (p - c));
printf("The area of the triangle is: %.2f\n", area);
return 0;
}
输出结果:
The area of the triangle is: 6.00
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言入门之浮点数 - Python技术站