常见数据类型
输出与输入的符号区分%hd,%d,%ld有什么区别
1.%hd代表short的十进制输入与输出,如果对一个int类型使用%hd会造成只读取到16个字节的情况。
int a = 65537;printf("d = %d\n",a);printf("hd = %hd",a);/* d = 65537hd = 1*/
为什么会得到这样的结果我们把他们转化成二进制数得到
10000000000000001
很明显发现%hd只取到了后16位,所以输出了1;
2.int与long均占4个字节,所以%d与%ld的读取情况一样。
%u 属于无符号类型
因此使用%u会将补码的符号位改变,当打印数据较大时与%d打印的结果产生较大出入
需要重点区分使用%d,%u,%lu,%ld等
浮点类型
1.有效的浮点类型常量
3.14256
.2
4e16
.8e-5
2.编译器会自动将float类型的数据转化为double类型参与运算虽然这样使运算结果精度更高,但是会减慢程序的运行时间
因此我们可以在数据后加上f,使数据保持为float类型
类型参与运算虽然这样使运算结果精度更高,但是会减慢程序的运行时间
因此我们可以在数据后加上f,使数据保持为float类型
另外C99还增加了复数和虚数类型float a = 11.11f;
#include <complex.h>