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

  • 常见数据类型
    请添加图片描述
  • 输出与输入的符号
数据类型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	*/

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

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

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

  • %u 属于无符号类型

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

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

  • 浮点类型
-数据类型-有效数字位数
float7
double13

1.有效的浮点类型常量

3.14256

.2

4e16

.8e-5

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

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

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

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

float a = 11.11f;

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

#include <complex.h>

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摸鱼小小虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值