C语言常见数据类型的输入与输出小细节

  • 常见数据类型
    C语言常见数据类型的输入与输出小细节_第1张图片
  • 输出与输入的符号
数据类型 scanf() printf()
char %d %d
int %d %d
short %hd / %d %hd / %d
long %ld %ld
long long %lld %lld
float %f %f
double %lf %lf
unsigned int %u %u
usigened long %lu %lu
size_t —— %zd
  • 区分%hd,%d,%ld有什么区别
    1.%hd代表short的十进制输入与输出,如果对一个int类型使用%hd会造成只读取到16个字节的情况。
    int a = 65537;
    printf("d = %d\n",a);
    printf("hd = %hd",a);
/*  d = 65537
    hd = 1	*/

为什么会得到这样的结果我们把他们转化成二进制数得到
10000000000000001

很明显发现%hd只取到了后16位,所以输出了1;

2.int与long均占4个字节,所以%d与%ld的读取情况一样。

  • %u 属于无符号类型

因此使用%u会将补码的符号位改变,当打印数据较大时与%d打印的结果产生较大出入

需要重点区分使用%d,%u,%lu,%ld等

  • 浮点类型
-数据类型 -有效数字位数
float 7
double 13

1.有效的浮点类型常量

3.14256

.2

4e16

.8e-5

2.编译器会自动将float类型的数据转化为double类型参与运算虽然这样使运算结果精度更高,但是会减慢程序的运行时间

因此我们可以在数据后加上f,使数据保持为float类型

类型参与运算虽然这样使运算结果精度更高,但是会减慢程序的运行时间

因此我们可以在数据后加上f,使数据保持为float类型

float a = 11.11f;

  • 另外C99还增加了复数和虚数类型

#include

你可能感兴趣的:(C语言,c语言,算法,c++)