三、数据类型、运算符与表达式
3.1C语言的数据类型
基本类型:
-
整型:短整型(short int)、基本整型(int)、长整型(long int)
-
字符型(char)
-
浮点型:单精度型(float)、双精度型(double)、长双精度型(long double)
-
枚举类型(enum):它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
构造类型:
-
数组类型
-
结构体类型(struct)
-
共用体类型(union)
指针类型(*)
空类型(void):类型说明符 void 表示没有值的数据类型,通常用于函数返回值。
数组类型和结构类型统称为聚合类型。函数的类型指的是函数返回值的类型。
3.2常量和符号变量
常量:在程序运行过程中,其值不能被改变的量称为常量。
常量符号的使用:
#define PRICE 30
习惯上,符号常量名用大写,变量名用小写,以示区别。
使用符号常量的好处:
-
含义清楚。
-
在需要改变一个常量时能做到“一改全改”。
变量
变量代表内存中具有特定属性的一个存储单元,它用来存储数据,也就是变量的值,在程序运行期间,这些值是可以改变的。
(变量代表内存中的一个存储单元)
标识符就是一个名字。
C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或者下划线。
注意:编译系统将大写字母和小写字母认为是两种不同的字符。
在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”。这样做的目的是:
-
凡未被事先定义的,系统不把它认作为变量名,这就能保证程序中变量名使用的正确。
-
每一个变量被指定为一个确定的类型,在编译时就能为其分配到相应的存储单元。
-
指定每一变量属于一个类型,这就便于在编译时据此检查在程序中要求对该变量进行的运算是否合法。
3.3整型数据
注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。
整型常量即整常数。表现形式有:
-
十进制整数。如:123、-456、9。
-
八进制整数。以0开头的数是八进制数,如0123表示八进制数的123,即(123)8
-
十六进制整数。以0x开头的数是十六进制数
注意:存储时0正1负
int型的变量范围为:-215~(215-1),即-32768 ~ 32767
通常情况下,把long定为32位,把short定为26位,而int可以是16位也可以是32位。
整型数据的溢出P44
3.4浮点型数据
C语言中的浮点数就是平常所说的实数。浮点数有两种表现形式。
-
十进制小数形式。它由数字和小数点组成(注意必须要有小数点)。
-
指数形式。如123e3或123E3都代表123x103。但注意字母e(或E)之前 必须有数字,且e后面的指数必须为整数。
浮点型变量
浮点型数据在内存中的存放形式:一个浮点型数据一班在内存中占4个字节(32位)。与整型数据的存储方式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。
小数部分占的位&#