2.2 数据类型
乐在C语言
定义一个变量需给予数据类型。数据类型的用意在于分配适量的内存给变量,因为变量一定要放在内存才能运行。一般,常用的数据类型有整型(integer)和浮点型(floating point)。没有小数点的数叫整型;而有小数点的数,称之为浮点型。如123是整型,而123.45 则是浮点型。
C程序语言以int表示整型,而以float与double表示浮点型。float表示的是单精度(single precision)浮点型,而double则是双精度(double precision)浮点型。由于float较少用,所以此处不必赘述。它们所占的内存大小,如表2-1所示。
这好比int住的是4m2大的房子,而double则是住在8m2大的房子。所占的bytes数越大,则其可表示的数字范围也就越大。如:
int inum;
double dnum;
分别定义inum是一个整型变量,它配有4个bytes的内存空间(从22ff50到22ff53),而定义dnum是一个浮点型变量,它配有8个bytes的内存空间(从22ff54到22ff5b),如图2-2所示。
图2-2 左边是以实际内存表示,右边则是简化的表示,其中&inum 表示变量inum在内存的地址,有如您家的地址一般,同理,&dnum表示变量dnum在内存的地址
左边是变量所分配到的内存表示法;而右边则是简化的表示法,以两个框框表示,框框里面是变量的值,而框框外则表示变量的内存地址,往后都以此图形表示。
数据在输入与输出时,用格式符(format specified character)辨别它是哪一种数据类型。先从输出的格式符谈起,如表2-2所示。
而输入的格式符,如表2-3所示。
从表2-2和表2-3得知,整型(int)数据类型的输出与输入都是以%d来表示的,但浮点型(double)数据类型在输出时是以%f,在输入时是以%lf(小写的英文字母l和f合起来的)作为其格式符。
上一节所提及的浮点型常量,如123.45,指的是双精度浮点型常量。若要指定它是单精度浮点型,则要在常量的后面加上字母f,如:123.45f。在此不会介绍单精度浮点型,读者可自行查阅资料。
了解如何取变量名,并设定其数据类型之后,下一章将介绍如何处理输出与输入的问题。