目录:
1.数据类型介绍
2.signed和unsigned的介绍
3.数据类型的取值范围
1.数据类型介绍
C语言提供了丰富的数据类型来描述生活中的各种数据。使用整型类型来描述整数,使用字符类型来描述字符,使用浮点型类型来描述小数。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。
1.1.字符;
1.char
2.[signed] char
3.unsigned char
1.2.整形;
1.短整型
2.short [int]
3.[signed] short [int]
4.unsigned short [int]
5.整型
6.int
7.[signed] int
8.unsigned int
9.长整型
10.long [int]
11.[signed] long [int]
12.unsigned long [int]
13.更长的整型,C99引入
14.long long [int]
15.[signed] long long [int]
16. unsigned long long [int]
1.3.浮点型;
1.float
2.double
3.long double
1.4.布尔类型;
1.在 C99 中也引⼊了 布尔类型 ,是专⻔表⽰真假的。
2._Bool
3. 布尔类型的使⽤得包含头⽂件 <stdbool.h>
4.布尔类型变量的取值是:true或者false.
5.#define bool _Bool
6.#define false 0
7.#define true 1
// 代码演示
_Bool flag = true;
if (flag)
printf("I Like C.");
2.signed和unsigned的介绍
C语言使用[signed]和[unsigned]关键字修饰字符类型和整型类型。
[signed]关键字:表示一个类型带有正负号,包含负值。
[unsigned]关键字:表示该类型不带有负号,只能表示零和正整数。
对于int来说,默认是带有正负号的,所以[int]也相当于是[signed int]。
由于是默认的情况下,关键字[signed]是默认不写的,写了也没事。
整数变量声明为 unsigned 的好处是,同样长度的内存能够表示的最大整数值,增大了一倍。比如,16位的 [signed short int] 的取值范围是:[-32768~32767],最大是[32767];而[unsigned short int] 的取值范围是:[ 0~65535],最大值增大到了[65,535]。32位的 [signedint] 的取值范围可以参看 limits.h 中给出的定义。
这里推荐使用Everthing工具,可以快速查找到。官网链接:voidtools
3.数据类型的取值范围
其实每⼀种数据类型有自己的取值范围,也就是存储的数值的最⼤值和最⼩值的区间,有了丰富的类 型,我们就可以在适当的场景下去选择适合的类型。如果要查看当前系统上不同数据类型的极限值:[limits.h]文件中说明了整型类型的取值范围;[float.h]这个头文件中说明浮点型类型取值范围。
为了代码的可移植性,需要知道某种整数类型的极限值时,应该尽量使用这些常量。
-
SCHAR_MIN,SCHAR_MAX:signed char 的最小值和最大值。
-
SHRT_MIN,SHRT_MAX:short 的最小值和最大值。
-
INT_MIN,INT_MAX:int 的最小值和最大值。
-
LONG_MIN , LONG_MAX :long 的最小值和最大值。
-
LLONG_MIN , LLONG_MAX :long long 的最小值和最大值。
-
UCHAR_MAX :unsigned char 的最大值。
-
USHRT_MAX :unsigned short 的最大值。
-
UINT_MAX :unsigned int 的最大值。
-
ULONG_MAX :unsigned long 的最大值。
-
ULLONG_MAX :unsigned long long 的最大值。