在定义变量时需要指定变量的类型,f和c被定义为单精度(float)型。C语言要求在定义所有的变量时都要指定变量的类型。常量也是区分类型的。
为什么在用计算机运算时要指定数据的类型呢?在数学中,数值是不分类型的,数值的 运算是绝对准确的,例如:78与97之和为175,l/3的值是0.33333333…(错环小数)。数学是一门研究抽象问题的学科,数和数的运算都是抽象的。而在计算机中,数据是存放在存 存放数据的范围是有限的,不可能存放“无穷大”的数,也不能存放循环小数,例知用C程序计算和输出1/3:
printt("5%f,1.0/3.0);
得到的结果是0.333333,只能得到6位小数,而不是无穷位的小数。
需注意:用计算机进行的计算不是抽象的理论值的计算,而是用工程的方实现的计算,在许多情况下只能得到近似的结果。
所谓类型,就是对数据分配存错单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。
C语言允许使用的类型见图.图中有。的是C99所增加的。储单元中的,它是具体存在的。而且,存储单元是由有限的字节构成的,每一个存储单元中
![64b911b3f54974c82b2b8aadd250f7ab.png](https://i-blog.csdnimg.cn/blog_migrate/c8d47b7597a88bc1545f6a0e1b8fac85.jpeg)
![b4bdd9b54687fa1f59b0d59ae98bdaa5.png](https://i-blog.csdnimg.cn/blog_migrate/96eeb64bf8b07a2951da34a7231439c2.jpeg)
整型类型
1.基本整型(int型)
编译系统分配给int型数据2个字节或4个字节(由具体的C编译系统自行决定),如 TurboC2.0为每一个整型数据分配2个字节(l6个二进位),而VisualC++为每一个整型数据分配4个字节(32位)。在存储单元中的存储方式是:用整数的补码(complement)形式存放。一个正数的补码是此数的二进制形式,如5的二进制形式是101,如果用两个字节存放一个整数,则在存储单元中数据形式如图3.5所示,如果是一个负数,则应先求出负数的补码,求负数的补码的方法是:先将此数的绝对值写成二进制形式,然后对其所有二进位按位取反,再加1。如一5的补码见图。
在存放整数的存结单元中,最左面一位是用来表示符号的。如果该位为0,表示数值为
正;如果该位为1,表示数值为负。
有关补两的如识不属本书范围,在此不深入介绍,如需进一步了解,可参考有关计算机
原到的书磨。
で说明:如果给垫型变量分配2个字节,则存储羊元中能存放的最大值为01111L1。
第」往为0代表正数,后面15位为全1,此数值是(25-1),即十进制数32767。最小健为
10000000000000,数是一2”,即-32768。因此一个些型文量的佳的范国是一32768一
5267,超过此花固;就出现数值的“温出”,给出的结果显越不正确,如果给整型变量分配
4个字节(VisualC++),其能容的的数值范围为一21~(2一1),即一2147483648~
2 147 483 647.