内容正文:
2.2 基本数据类型
2.2.1 划分数据类型的意义
2.2.2 整型数据
2.2.3 实型数据
2.2.4 字符型数据
2.2.5 数据类型的混合运算
在计算机中进行处理的信息都可以表达为数据的形式。这里的数据不仅包括我们熟知的数学运算中的数据,还包括声音、图像等复杂信息。
2.2.1 划分数据类型的意义
1.C语言的数据类型
为了便于C语言的数据处理,合理地使用存储空间,将数据划分为不同的类型,进行分类处理
2.划分数据类型的必要性
在C程序中,每一个数据都被赋予一个确定的数据类型,不同数据类型的数据在存储时占用不同长度的内存空间。
2.2.2 整型数据
1.整型常量
整型常量即整常数。C语言的整常数可以用以下3种形式表示。
· 十进制整数:例如154,−340,0等。
· 八进制整数:例如0140,−0234等。八进制整数用以0开头的数表示,0140(即(140)8)表示八进制整数140,相当于十进制整数96。
· 十六进制整数:例如0x140,−0x15等。十六进制整数用以0x开头的数表示,0x140(即(140)16)表示十六进制整数140,等于十进制数320。−0x15等于十进制数−21。
2.整型变量
整型变量用来存储整型数据。
(1)整型变量的基本类型
数据在内存中是以二进制数形式存放的。为了充分利用内存空间,提高运行速度,根据数据的表数范围将整型变量分为以下3类。
· 基本整型,以int表示。
· 短整型,以short int表示,或以short表示。
· 长整型,以long int表示,或以long表示。
(2)有符号和无符号整型变量
在实际应用中,有些变量的值始终为正数,如一个人的年龄、身高和体重等。为了充分利用变量的表数范围,节约内存空间,C语言将这类变量定义为“无符号(unsigned)类型”。如果在变量前加上signed(有符号),则指定变量为“有符号数”。这时的整型变量还可以存放负数。定义变量时,既不指定变量为signed,也不指定为unsigned,则默认为signed。
(3)整型变量的定义
在前面讲变量时提到,C语言规定程序中所有用到的变量都必须在使用之前先定义,即“先定义,后使用”。整型变量定义的一般形式为
<类型名> <变量名>
例如:
int x , y; /*指定变量x,y为整型*/
unsigned short z; /*指定变量z为无符号短整型*/
long a , b; /*指定变量a,b为长整型*/
2.2.3 实型数据
实型数据主要用于表达和处理实数。
1.实型常量
实型常量又称实数,在C语言中也称为浮点数。它可以用以下两种形式表示。
(1)一般形式:用小数表示,由数字和小数点组成。书写时,小数点不可以省略。例如1.23,.123,123.,123.0,0.123,0.0等都是合法的实型常量。
(2)指数形式:这种形式类似数学中的指数。例如1.235可以表示为0.1235×101,1.235×100,12.35×10-1等形式。在C语言中,它靠字母“e”或“E”连接两边的数字组成,“e”或“E”后跟一个整数来表示以10为底的幂。例如123.5e-2代表123.5×10-2即1.235,同样,它还可表示为1.235e0,0.1235e1等形式。
2.实型变量
实型变量有单精度型、双精度型和长双精度型之分,分别用类型名float和double进行定义。
2.2.4 字符型数据
字符型数据用来表达和处理字符。
1.字符常量
C的字符常量是用单引号括起来的一个字符。例如'a','B','$','!','5'等都是字符常量。注意'a'和'A'是不同的字符常量。
在C语言中,某些特殊的字符使用一般形式的字符表示方法难以表示,而应用带反斜杠的扩展表示法。例如,前面已经遇到过的,函数中的“
”代表一个换行符。这是一种“控制字符”,称为转义字符。其中的“n”不代表字母,它与“\”合起来使用,在屏幕上不能显示,只能产生相应的操作。表2-3列出了C语言中常用的转义字符。
转义字符的含义是将反斜杠“\”后面的字符转变成为别的意义。例如“\r”中的“r”不代表字符“r”,而作为回车字符。这种扩展方式看上去好像是两个字符,实际上起作用的是一种字符,例如“\0”代表字符NULL,即ASCII值为0的控制字符,表示“空操作”,它将用在字符串中;而“0”表示的是字符0。
2.字符变量
字符变量用来存放字符常量,在内存中占1个字节,只能存放1个字符常量。这就好像电影院的座位,每个座位只坐1位观众,否则就会发生冲突。
3.字符串常量
在使用字符型数据时,使用单个字符的情况较少,更多的情况是使用字符串。C语言规定,字符常量是用单引号或单撇号括起来的单个字符,而字符串常量则是用一