本文内容包括不同数据类型的介绍以及不同进制之间的转换
声明:内容来源于个人学习记录,目的仅是用于个人复习!且可能存在错误!
整数类型
int (通常16/32位)
short(通常16位,占用空间不大于int)
long (通常32位,占用空间不小于int)
long long (通常64位)
unsigned 没有符号类型,只能表示非负值
signed 强调有符号类型
_Bool (整数类型,原则上占用1位)0表示false 1表示true
字符类型
char(有符号类型或者无符号类型根据编译器确定)
打印字符 例:char m='A' //用单引号括起来
或 char m=(用ANSII码表示,前提计算机支持ANSII码)
非打印字符
使用ANSII码表示或者使用转义序列,
一部分转义序列如下:
( 《C Primer Plus》中文第六版 P45)
浮点数类型
float 至少表示六位有效数字,最小取值范围至少10的-37次方~10的37次方
double 至少表示十位有效数字,最小取值范围同float类型
long double
浮点值上溢和下溢
上溢:数字超出当前类型表达范围时,printf()输出int或infinity
下溢:优先减小指数部分,若指数部分已经是最小值,则会尾数部分右移。如0.1234E-10除以10,其指数部分已为最小值,则输出结果为0.0123E-10
复数和虚数类型
三种复数类型:float_Complex、double_Complex、long double_Complex
三种虚数类型:float_Imaginary、double_Imaginary、long doible_Imaginary
打印数据
1.声明数据
2.不同的转换符
int %d
unsigned %u
long 十进制%ld 八进制%lo 十六进制%lx
unsigned long %lu
long long 同long
short 十进制%hd 八进制%ho 十六进制%hx
unsigned short %hu
char %c
float %f十进制表示, %e打印指数计数法的浮点数, %a 十六进制
double %lf十进制
long double %Lf, %Le或 %La
额外补充:整数以八进制、十六进制表示方法及二、八、十六进制相互相互转换
整数前加上0表示八进制,如071
整数前加上0x或0X表示十六进制,如0x17b2