c语言 第五章 数据类型和表达式
第五章数据类型和表达式 C语言的基本数据类型 各种基本数据类型的常量和变量的定义 C语言的表达式和各种表达式的求解规则 5.1 数据的存储和基本数据类型 5.1.1数据的存储 1.整型数据的存储 每个整数占2个字节,最高位是符号位,0正1负。 数值可以采用原码、反码和补码等不同的表示方法。为简化运算,一般采用补码表示数值。 用原码,一正数一负数相加先判断符号后两个正数相减。 用补码,不用判断符号,直接加即可。 5.1 数据的存储和基本数据类型 5.1.1数据的存储 1.整型数据的存储 正数的原码、反码和补码相同:符号位是0,其余各位表示数值。 两个字节的存储单元能表示的最大正数是215-1(32767) 5.1 数据的存储和基本数据类型 5.1.1数据的存储 1.整型数据的存储 负数的原码、反码和补码各不相同: 原码:符号位为1,其余各位表示数值的绝对值。 反码:符号位为1,其余各位对原码取反。 补码:反码加1。 5.1 数据的存储和基本数据类型 5.1.1数据的存储 1.整型数据的存储 负数的原码、反码和补码各不相同: 原码:符号位为1,其余各位表示数值的绝对值。 反码:符号位为1,其余各位对原码取反。 补码:反码加1。 5.1 数据的存储和基本数据类型 5.1.1数据的存储 2.实型数据的存储 存储实型数据时,分为符号位、阶码和尾数三部分。 例如:-1.3248e+02是负数,阶码是2,尾数是1.3248。 5.1 数据的存储和基本数据类型 5.1.1数据的存储 3.字符型数据的存储 每个字符在内存中占用一个字节,存储它的ASCII码。 例如:字符型常量‘A’的ASCII码为65,它在内存中以下列形式存放。 5.1 数据的存储和基本数据类型 5.1.2基本数据类型 C语言的四种基本数据类型是:整型、字符型、单精度浮点型和双精度浮点型。见下页表1。 5.1 数据的存储和基本数据类型 5.1.2基本数据类型 1.整型 整型是指不存在小数部分的数据类型。 无符号的整型数据指不带符号的整数,即0或正数,不包括负数。存储有符号的整型数据时,存储单元的最高位为符号位,其余各位表示数值;无符号(unsigned)整型数据时,存储单元全部用于表示数值。 5.1 数据的存储和基本数据类型 5.1.2基本数据类型 2.字符型 每个字符型数据在内存中占用一个字节,用于存储对应的ASCII码。 例:ch是字符型变量,字符型常量‘A’的ASCII码值是65,则ch=‘A’和ch=65等价。 5.1 数据的存储和基本数据类型 5.1.2基本数据类型 3.实型 实数类型又称为浮点型,指有小数部分的数。 例:ch是字符型变量,字符型常量‘A’的ASCII码值是65,则ch=‘A’和ch=65等价。 分为单精度浮点型和双精度浮点型,它们表示数值的方法一样,主要区别在于数据的精度和取值范围有所不同。double型比float型精度高,取值范围大。 每个单精度浮点型数据在内存中占用4个字节的存储空间,有效数字一般是7~8位,取值范围 正负 (10-38~1038);双精度数据占8个字节,有效数字15~16位,取值范围正负 (10-308~10308) 实型常量的类型都是双精度浮点型。 5.2 常量和变量 数据分为常量和变量。在程序运行过程中,其值不能被改变的量为常量;其值可以改变的量称为变量。 1.常量 常量的类型由书写格式决定。 例如:-12、017是整型常量,85.3、3.5e-5是实型常量、’a’、’\n’、’6’是字符型常量。 符号常量 可以用一个标识符来代表一个常量,称为符号常量。 见例子96p6-1.cpp 5.2 常量和变量 1.常量 符号常量 用#define命令定义符号常量PI,它就代表3.14。定义后,凡在该程序中出现PI的地方都用3.14来替代,这样符号常量PI就可以和实型常量3.14一样进行运算。 注意: #define命令的末尾不加分号。 定义符号常量后,就可以引用它,但不能改变它的值。 符号常量名中的英文字母一般使用大写字母,如PI。 5.2 常量和变量 1.常量 整型常量 整数的表示 整数有十进制、八进制和十六进制3种表现形式。 十进制整数:由正负号、0~9数字组成,首位不能是0。 八进制整数:由正负号、0~7数字组成,首位数字必须是0。 十六进制整数:由正负号、0~9、a~f(A~F)组成,首位数字前必须有前缀0x或0X。 例1:10、010、0x10分别是十进制、八进制和十六进制整数,它们表示不同数值的整数10、8和16。 例2:16、020、0x10表示着同一数值的整数,十进制的16。 5.2 常量和变量 1.常量 整型常量 整数的类型 判断整数的类型,首先根据整数后的字母后缀