C语言数据类型

  1. int unsigned int short long
    1. 整型int:
    2. 无符号整型unsigned int:
    3. 短整型short:
    4. 长整型long:
    5. char类型:
    6. long double类型:

int unsigned int short long

整型int:

大小:16位2字节 或 32位4字节(取决于编译器)
存储格式:0~30位是数据位,第31位是符号位,用0代表正数,1代表负数。负数用补码存储。
存储范围:-2^31 ~ 2^31-1
打印格式:%d(十进制)、%o(八进制)、%x或%X(十六进制)
如需要打印八进制和十六进制的特殊格式,加#
%#o(打印八进制数,数前有0表示八进制数),%#x(打印十六进制数,数前有0x表示十六进制数)


常见的有十进制,八进制,十六进制三种数字进制。
八进制输入输出格式化控制符使用%o或%#o。八进制数以0开头,如0666
十六进制输入输出格式化控制符使用%x或%X或%#x或%#X。十六进制数以0x开头,如0x12345678

无符号整型unsigned int:

大小:同int型
存储格式:0~31位都是数据位,无符号位
存储范围:0 ~ 2^32-1
打印格式:%u
说明:
与int型基本相同,区别是int型的符号位不再是符号位而也作为数据位,因此无符号整型数据比整型数据存储范围大2倍,不过无法存储负数
适用于只有正数的情况
unsigned关键字不仅仅可以修饰int类型,还可修饰short long char等类型。
注意:unsigned关键字修饰的变量无法接收负数。
无符号数的输入输出格式控制是%u

短整型short:

大小:16位2字节
存储格式:0~14位为数据位,第15位为符号位,用0代表正数,1代表负数
存储范围:-32768 ~ 32767
打印格式:%hd
说明:
short类型与int类型类似,只不过是16位,2字节。第15位为符号位,后面几位为数据位
short类型适用于存储不太大的数据,节省内存空间。
short类型的输入输出格式控制是%hd

长整型long:

大小:32位4字节
存储格式:同32位int类型
存储范围:同32位int类型
打印格式:%ld
说明:
在过去的16位编译器中,int型是16位,所以long类型是32位。
不过在现代的32位编译器中,int型与long类型已无本质区别。
如果需要考虑程序跨平台移植(如16位编译器<--->32位编译器)需要谨慎选择使用int还是long

char类型:

大小:8位1字节
存储格式:0~6位都为数据位(128) 或 0~7位都为数据位(256,扩展后的ASCII表)
存储范围:0 ~ 255
打印格式:%c
说明:char类型也属于整型数据类型(int、short、long)的一份子,只不过char类型运算时使用ASCII表来确定值。与其他三个整型数据类型不同的是,char类型默认就是unsigned类型,而其他三个则默认是signed类型。

long double类型:

大小:96位12字节(取决于编译器,有8字节、10字节、12字节、16字节几种情况)
存储格式:未知
精度:不少于double类型
存储范围:不少于double类型
打印格式:%lf,%le


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 yuanshaoqiancom@gmail.com

文章标题:C语言数据类型

本文作者:Mr.Yuan

发布时间:2019-02-23, 21:06:10

最后更新:2019-12-05, 17:56:13

原始链接:https://yuanshaoqian.github.io/2019/02/23/C语言数据类型/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏