网站建设就业方向北京疫情太严重了
目录
1. 浮点型与零的比较:
1.1 推导:
1.2 实践:
总结:
理解强制类型转换:
指针与零比较
switch case 语句:
写在最后:
1. 浮点型与零的比较:
1.1 推导:
例:
double a, b;fabs(a - b) < DBL_EPSILONfabs(a - 0.0) < DBL_EPSILONfabs(a) < DBL_EPSILON
如果有两个浮点数比较,
如果fabs(a - b) < DBL_EPSILON,
就证明a = b。
如果 b 等于零,就是和浮点数与零比较,
零也可以省略,
所以fabs(a) < DBL_EPSILON 就相当于a 与零比较。
1.2 实践:
例:
#include <stdio.h>
#include <float.h>
#include <math.h>int main()
{double a = 0.00001;if (fabs(a) < DBL_EPSILON){printf("a = 0");}else{ printf("a != 0");}return 0;
}
输出:
输出:a != 0
例2:
#include <stdio.h>
#include <float.h>
#include <math.h>int main()
{double a = 0.0000000000000001;if (fabs(a) < DBL_EPSILON){printf("a = 0");}else{ printf("a != 0");}return 0;
}
输出:
输出:a = 0
所以说,
为什么a != 0,因为a还不够小,
只要a 够小,就等于零了。
1.3 总结:
浮点数与零比较:
1. 浮点数存储的时候,是有精度损失的。
2. 浮点数是不能直接用 == 比较的。
3. if (fabs(a - b) < DBL_EPSILON) { }
2. 理解强制类型转换:
强制类型转换只是改变我们对数据的看法,
并不会改变数据。
类型其实就是我们如何看待这段数据,
又或者说我们如何看待这段二进制序列,
因为数据就是以二进制的形式存到内存中。
3.指针与零比较
直接:
#include <stdio.h>int main()
{int a = 0;int* p = &a;if (p == NULL){;}return 0;
}
4. switch case 语句:
例:
#include <stdio.h>int main()
{int day = 1;switch (day) {case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期日\n");break;default:printf("bug!\n");break;} return 0;
}
这样就能根据输出打印星期了。
写在最后:
以上就是本篇文章的内容了,感谢你的阅读。
如果喜欢本文的话,欢迎点赞和评论,写下你的见解。
如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。
之后我还会输出更多高质量内容,欢迎收看。