C Language
2018-01-31 本文已影响4人
54Fire
常量.png
常量
一、常量的类型
1、整形常量:
1.十进制表示:56、89
2.八进制表示(以0开头):015、046
3.十六进制表示(以0x开头):0xff、0x892、浮点型常量:
1.小数点的形式:12.456
2.以指数的形式(用e或者E表示):12e3、13E53、字符型常量: 用''表示:'a'、'B'。
4、字符串常量: 用" "表示:"sndAD"。
二、常量的后缀
1、
u
或U
:表示为无符号类型
2、l
或L
:表示为长整型,浮点数中表示long double。
3、f
或F
:表示为float型
4、目的:一般为节约内存
eg:
#include <stdio.h>
int main()
{
#if 0 //整型中l或L的应用
printf("sizeof(0) = %d",sizeof(0)); //默认0为int型,字节数为4
printf("sizeof(0l) = %d",sizeof(0l)); //加了l为long型,字节数为4
printf("sizeof(0ll) = %d",sizeof(0ll)); //加了ll为long long型,字节数为8
#endif
#if 0 //浮点型中l、L、f、F的应用
printf("sizeof(0.0) = %d = %d = %d",sizeof(0.0)); //默认0.0为double型,字节数为8
printf("sizeof(0.0f) = %d = %d",sizeof(0.0f)); //加了f为float型,字节数为4
printf("sizeof(0.0l) = %d",sizeof(0.0l)); //加了l为长整型,字节数为12
#endif
#if 0 //无符号u或U的应用
printf("sizeof(2147483647) = %d",sizeof(2147483647));//2147483647为有符号int表示的最大的数,所以其字节数为4
printf("sizeof(2147483647) = %d",sizeof(2147483648));//2147483648超过了int可以表示的有符号最大的数,所以其用long long型表示,字节数为8
printf("sizeof(2147483647) = %d",sizeof(2147483648u));//由于2147483648超过了int的最大有符号表示范围,但没有超过int的无符号表示范围。故其字节数仍为4
#endif
}