c语言存储类型关键字作用,C语言, 存储类型关键字?

4f767401a3a5dad185e8473e6c1231e5.png

GCT1015

1、C语言的数据类型分类C语言的数据类型分类:基本数据类型:整型int字符型char浮点型:单精度浮点型float双精度浮点型double构造数据类型:数组(如int a[])结构体struct联合体(或叫共用体)union枚举类型enum指针类型(如int *p)空类型void2、int,unsigned int,short,long1)整型int:大小:16位2字节 或 32位4字节(取决于编译器)存储格式:0~30位是数据位,第31位是符号位,用0代表正数,1代表负数。负数用补码存储。存储范围:-2^31 ~ 2^31-1打印格式:%d(十进制)、%o(八进制)、%x或%X(十六进制)说明:int类型用于存放整数,占16或32位(取决于编译器),2或4字节。其中第31位为符号位(符号位0代表正数,1代表负数),后面几位为数据位负数在内存中是以补码的形式存储的。(补码:按位取反,末位+1)(用补码存储,正0和负0相同)(对一个整数求补码再求补码,等于自身)有十进制,八进制,十六进制三种存储方法八进制输入输出格式化使用%o。八进制数以0开头,如0666十六进制输入输出格式化使用%x或%X。十六进制数以0x开头,如0x123456782)无符号整型unsigned int:大小:同int型存储格式:0~31位都是数据位,无符号位存储范围:0 ~ 2^32-1打印格式:%u说明:与int型基本相同,区别是int型的符号位不再是符号位而也作为数据位,因此无符号整型数据比整型数据存储范围大2倍,不过无法存储负数适用于只有正数的情况unsigned关键字不仅仅可以修饰int类型,还可修饰short long float等类型。注意:unsigned关键字修饰的变量无法接收负数。无符号数的输入输出格式控制是%u3)短整型short:大小:16位2字节存储格式:0~14位为数据位,第15位为符号位,用0代表正数,1代表负数存储范围:-32768 ~ 32767打印格式:%h说明:short类型与int类型类似,只不过是16位,2字节。第15位为符号位,后面几位为数据位short类型适用于存储不太大的数据,节省内存空间。short类型的输入输出格式控制是%h4)长整型long:大小:32位4字节存储格式:同32位int类型存储范围:同32位int类型打印格式:%ld说明:在过去的16位编译器中,int型是16位,所以long类型是32位。不过在现代的32位编译器中,int型与long类型已无本质区别。如果需要考虑程序跨平台移植(如16位编译器32位编译器)需要谨慎选择使用int还是long3、char类型:大小:8位1字节存储格式:0~6位都为数据位(128) 或 0~7位都为数据位(256,扩展后的ASCII表)存储范围:0 ~ 255打印格式:%c说明:----------------------------ASCII表与转义字符----------------------------------------在计算机的编码中,字符是使用ASCII表进行编码的。每一个字符都有一个对应的数字,例如:'A'--->65'a'--->97'0'--->48 等除了常见的数字、字母、符号(如+-*/%等)外,ASCII表还存储了一些看不见的控制字符,如:空或'\0'(字符串结束标志)--->0空格--->32任意的ASCII表内字符都可以用'\'+数字(八进制)的方式来表示,有些还可以用'\'+字符来表示,称之为转义字符。转义字符即在'\'后的字符不代表了它本来的含义。常见的转义字符:\a:蜂鸣器\b:backspace退格键\n:换行,光标移动至下行行首\r:光标移动至本行行首\f:换页\t:tab水平制表符\\:输出\\':输出'\":输出"\?:输出?\0:NULL字符串结束标志----------------------------ASCII表与转义字符end-------------------------------------4、float与double----------------浮点数的存储-------------------------浮点数分为float类型(32位)和double类型(64位)其中一位是符号位,代表整个数的正负一位是指数符,代表指数部分的正负尾数表示0.XXXXXXX(浮点数的有效数字),但不存0和.指数表示指数的有效数字因此,尾数代表了浮点数的精度,指数代表了浮点数的范围浮点数存储的小数不是实际值,只能是近似值(如1/3,只会存储0.333333)----------------浮点数的存储end----------------------1)float类型:单精度浮点型大小:32位4字节存储格式:符号位(1位)+尾数(23位)+指数(8位,含1位符号位)精度:小数部分最多有效7位,有效6位(2^23=8388608,所以是7位)存储范围:-3.40E+38 ~ +3.40E+38(即-2^128 ~ 2^128)打印格式:%f(十进制计数法),%e(指数计数法)2)double类型:双精度浮点型大小:64位8字节存储格式:符号位(1位)+尾数52(位)+指数(11位,含1位符号位)精度:小数部分最多有效16位,有效15位(2^52=4503599627370496,所以是16位)存储范围:-1.79E+308 ~ +1.79E+308(即-2^1024 ~ 2^1024)打印格式:同float类型注意:double类型是8字节而float类型是4字节,因此double型比float型的数据更加精确,但计算速度会更慢。3)long double类型:大小:96位12字节存储格式:同double类型精度:同double类型存储范围:同double类型打印格式:%lf,%le

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值