前面我们学习了c语言里怎么去定义一个整型变量,并且去给变量进行合法的命名。
那么可能有人有疑问:你这里只是学习整数类型,那么我的数据假设是小数呢,是符号呢,那怎么办?
所以接下来我要讲的是,在c语言里,到底有多少种数据类型呢?[what]
这张图片,今天我只讲基本数据类型的部分,也就是大家只需要关注上面的部分(基本类型的部分)
C语言基本数据类型:一、整型:short int long
这三个都是整型变量,区别在于他们所能表示的整数的大小。以下都是对于32位系统上来说:
1、short:短整型,占2个字节
所能表示的数:-32,768 到 32,767
short a = 10; //正确
short b = 40000; //错误,超出范围
2、Int:整型,占4个字节
所能表示的数:-2,147,483,648到 2,147,483,647
int a = 20; //正确
int b = 40000000000; //错误,超出范围
3、long:长整型,占4个字节
所能表示的数:-2,147,483,648到 2,147,483,647
long a = 100;
二、浮点型:float double
1、float:单精度浮点型,占4个字节
所能表示的数:1.2E-38 到 3.4E 38
float a = 4.9;
2、double:双精度浮点型,占8个字节
所能表示的数:2.3E-308 到 1.7E 308
double a = 19.44;
三、字符型:char
char:字符型,占1个字节
所能表示的数:-128到127,或者0到255
char a = 'f'; //正确
char b = 'abc'; //错误
char a = 10; //正确
这里char声明的是一个字符变量,字符需要被单引号包裹起来,而且只能是一个字符。这里有人可能不是很理解,既然是字符,那么这里定义的所表示的数的范围又是怎么来的。这里就需要牵扯到字符和对应数是怎么一个对应关系的,这个我后面的章节会讲到[来看我]。
以上所有的数据类型前面都可以加一个unsigned,unsigned意思为无符号的意思,很好理解,就是这个数它不是负数[机智],举个例子,比如我们申明一个无符号的整形变量。
unsigned int a = 10; //正确
unsigned int b = -10; //错误
注:8个位为一个字节,那么通过排列组合,8位,共可以表示最大2的8次方个数,也就是256,那么对于无符号的占一个字节的变量类型来说,它所能表示的数就是0到255。
比如unsigned char,他所能表示的数就是从0到255,当没有加unsigned的时候,就表示可正可负,那么256种情况就需要拆成两半,一半表示负数,一半为正数,所以所能表示的数是:-128到127。
在这里有的人可能还不是很理解,这是由于你还不知道内存的分配是怎么样的,这个后续我会单独出一篇为大家讲解。[呲牙]
,