新编C语言程序设计第2章基本数据类型
* 第 2章 基本数据类型 第 2章 基本数据类型 2.1 整型 2.2 浮点型 2.3 字符型 2.4 逻辑类型 2.5 标准函数 2.6 量的定义方法 2.1 整 型 2.1.1 基本整型 1. 类型名称 int 2. 取值范围 -32768~+32767(-215~215-1) 3. 数据表示方法 与数学上类似, 不能有分隔符。C语言允许使用八进制整数与十六进制整数, 八进制整数加前导0(数字), 十六进制整数加前导0X。 4. 运算操作 (1) 算术运算包括: +(加法)、 -(减法)、 *(乘法)、 /(除法)、 %(求余), 运算规则除除法外, 与数学中相同。 整数的除法运算是整除, 得到商, 如5/3结果为1。 对于负数, 多数机器采用向零取整法, 如-5/3结果为-1。 求余运算, 又称取模运算, 得到余数, 如5%3结果为2, -5%3结果为-2。 求余运算在许多场合都非常有用, 如判断整数a是不是b的倍数, 可看a%b是否等于零。a%10得到a的个位数字, a/10)%10得到a的十位数字, 如此可分离一个整数的数字。 一般只有除数大于0, 求余运算才有意义。当a小于0时, a%b等于-((-a)%b)。 (2) 关系运算包括: (大于)、 >=(大于等于)等六种, 运算规则与数学中相同, 运算结果为逻辑类型数据。关系运算成立结果为1, 不成立结果为0。 5. 存储 C标准没有具体规定各类数据存储的字节数, 各种机器处理有所不同, 一般以一个机器字(Word)存放1个int数据, PC机上int数据存储用两个字节。 机器中用最高位表示数的符号, 正数符号位用0表示, 负数符号位用1表示。负数在机器中存放的是其补码。 6. 应用 例2-1 求两个整数的积。 /*程序2 - 1, 求两个整数之积*/ #include ″stdio.h″ main( ) {int a, b; int m; printf(″请输入两个整数a, b: ″); scanf(″%d, %d”, &a, &b); m=a*b; printf(″积=%d\n″, m); } 输入数据: 2000, 1 运行结果: 积=2000 2.1.2 拓展整型 为拓展数据处理的范围, C语言通过类型修饰符来改变基本数据类型的含义, 使之精确适合于不同应用场合。拓展后的整型有短整型、长整型及无符号整型。 1. 类型修饰符 short: 缩短数值所占字节数。 long: 扩大数值所占字节数。 signed: 有符号位, 缺省方式。 unsigned: 无符号位。 2. 短整型 短整型类型名称为short int或short, 在TURBO C中, 短整型与基本整型相同。 3. 长整型 长整型类型名称为long int或long, 取值范围为-231~231-1(-2 147 483 648~2 147 483 647), 长整型数据可加后缀L表示, 在TURBO C中, 存储占4个字节, 运算与基本整型相同。 ? 4. 无符号整型 无符号数与有符号数的主要区别是数的最高位不作符号处理, 表示数的绝对范围是有符号数的两倍。 相应的无符号整型有无符号基本整型、无符号短整型和无符号长整型。 无符号基本整型, 类型名称为unsigned int或unsigned, 取值范围为0~65 535(0~216-1), 存储占两个字节。 无符号短整型, 类型名称为unsigned short int或unsigned, 取值、 运算、存储同无符号基本整型。 无符号长整型, 类型名称为unsigned long int或unsigned long, 取值范围为0~4 294 967 295(0~232-1