浮点类型
1.printf输出inf表示超过浮点表示范围
2.printf输出nan表示不存在的浮点数
float a, b, c ;
a = 1.234f; // 小数后不加f或F,则默认是double的
b = 1.231f;
如果要判断c == 2.465, 要用fabs(a - b) < float的精度(7位),1e-12更保险;double的精度是15位,则 < 1e-20.
逻辑类型
Note:C语言本没有逻辑类型,在内部计算中使用整数表达关系运算和逻辑运算的结果,0表示false,而非0的值表示true。
在C99中,也没有固有的逻辑类型,但是通过一个头文件(#include
bool t = true;
printf("%d\n", t);
t = -2 > 9;
printf("%d\n", t);
return 0;
运行结果如下:
1
0
Process exited after 0.02815 seconds with return value 0
Press any key to continue …
类型转换
对于printf:
小于int型的会被转换成int
float会被转换成double
对于scanf:
要明确表示,输入 则
double %lf
float %f
long long %ld
short %hd