C语言基本数据类型(1)
编程语言有分*强类型语言和弱类型*语言。C就是典型的一种强类型语言,如PHP是一种弱类型语言。简单说下两者的区别:
强类型语言:在定义变量前,必须声明变量的类型
如:int a;
弱类型语言:无需声明变量类型,会自动转换。
如:
a
=
1
;
a = 1;
a=1;a = “string”;
进入正题:
C语言基本数据类型主要有:
- int (整型)
- float(单精度)
- double(双精度)
- char (字符型)
今天,主要记下int和char的东西。
首先,我们要理解一个概念,数字在计算机中的表示方法:二进制
1个字节 = 8bit;我们用8个小方格表示
其中,首位为符号位,用来表示正数或负数。那么一个字节可以表示的数字范围:
-2^7 ~ 2^7;又因为==-128和-0用补码表示都是10000000==,所以多算了一次。所以实际可表示的范围是:
-2^7 ~ 2^7-1 即:-128 ~ 127
回到int型,根据编译器的不同,int所占的字节数是不一样的。以4个字节为例,就是32位。根据上面的计算可得int型能够表示的范围是:
-2^31 - 2^31 -1
这样,我们就能够很清楚的计算出一个数据类型所能表示的范围。当然浮点型有另外的计算方法。
在int 型上又可以细分为:short int,long int 。想必这些也能够容易理解了吧,只是为了更好的表示适合的数字,才有此细分。
C语言里面,我们可以**sizeof()**这个函数,来查看一个数据类型所占用的字节数。
另外要说明的一点:
当你所要表示的超过它所能存储的范围,编译器并不能报错,但是会出现无法预料的结果。即所谓的溢出
short int a;
a = 32767;
a = a+2;
printf("a 的值:%d\n",a); //得到-32767
2、char型
C语言中char型只占一个字节。
1、在0 - 127 char 可以和整型互换使用。对应ASCII表
printf("%c",68); //D
printf("%d",'A');//65
超出这个范围,无法正常显示字符.
2、转义字符
在linux搭建php环境:https://study.163.com/course/introduction/1209187856.htm