C语言 数据类型总结
1、 整型
Long long long int short 整数范围(十进制)
16位机 64 32 16 16 -32768~32767
32位机 64 32 32 16 -2147483648~2147483646
64位机 64 32 32 16 -9223372036854775808~..
其他:unsigned long long unsigned long unsigned unsigned short
2、 输出
(1) 整型
%d :int型
%u :无符号int
%ld :long型
%lu :无符号long
%hd:short型
%lld :long long型(某些编译器不支持)
(2)数制输出 例:36
10进制: %d : 36 %d :36
8进制: %o : 44 %#o :044
16进制: %x : 24 %#x :0x24
(3) 整型数制
%o %lo %hx
如何输出有符号8进制数? 无法
3、 字节与字
1) 字节:绝大部分字节是8位,也有些机器不是,因为char类型通常用8位表示,有些机器不是,所以后来标准定义为char的位数即改机器的字节位数。
2) 字:字是机器的自然位数,8位机一个字8位,16位机16位,32位机32位等等
4、 字符型:
1)char型:
单引号内的单个字母,或数字(65也是一个数字),或转义字符;
如果不用单引号,也可以,但必须是整型,且只识别最后8位,并且识别为该整型的ASCII字符,例如:
char abc=’a’; 跟 char abc=97; 结果是一样的
输出值由%d或%c决定
2)转义序列:
\a \b \f \n \r \t \v
警报 退格 走纸 换行 回车 水平制表 垂直制表
\\ \’ \” \? \0oo \xhh
\ ‘ “ ? 八进制值 十六进制值(\x49..)
注:数值与字符不要搞混,如‘4’不等于4,‘4’等于52(4的ASCII值)
5、 布尔型
C99新类型,标识符:_Bool ,定义的变量只有0和1两种值,赋值是只要不是0,那么不管赋什么(但
必须是整型或字符型)都输出为1;
6、 可移植型(前期不需要重点掌握):
使用前需要 #include<inttypes.h>
然后可使用诸如int16_t 、int32_t、uint32_t、uint8_t等等的数据类型定义符
注:只有在程序可能需要移植到别的类型的机器上时,才需要这些
7、 浮点类型
1)指数记数法
3.123e27 (大小写都可以) .2213e-35 34e12
float 6位有效数字 32位长 -37~38位指数
double 15位有效数字(C语言规定至少为10) 64位长 -307~308
long double >=double
%f 十进制记数法输出 %e 指数记数法输出