正在加载图片...
靳润昭C语言教程讲义 2001年2月17日 由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。如下例 【例36】实型数据的舍入误差 a=123456.7895 printf("%f\n", a printf("%f\n",b); 注意:1.0/3*3的结果并不等于1。 例 3.7】 maino float a double b. a=33333.33333 b=33333.33333333333 printf("%f\n%f\n",a, b) 从本例可以看出,由于a是单精度浮点型,有效位数只有七位。而整数已占五位, 故小数二位后之后均为无效数字 ●b是双精度型,有效位为十六位。但 Turbo C规定小数后最多保留六位,其余部 分四舍五入 343实型常数的类型 实型常数不分单、双精度,都按双精度 double型处理。 35字符型数据 字符型数据包括字符常量和字符变量 351字符常量 字符常量是用单引号括起来的一个字符。 例如: a'、b、曰、"'、"? 都是合法字符常量。 第10页靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第10页 由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。如下例。 【例 3.6】实型数据的舍入误差。 main() {float a,b; a=123456.789e5; b=a+20 printf("%f\n",a); printf("%f\n",b); } 注意:1.0/3*3 的结果并不等于 1。 【例 3.7】 main() { float a; double b; a=33333.33333; b=33333.33333333333333; printf("%f\n%f\n",a,b); } ⚫ 从本例可以看出,由于 a 是单精度浮点型,有效位数只有七位。而整数已占五位, 故小数二位后之后均为无效数字。 ⚫ b 是双精度型,有效位为十六位。但 Turbo C 规定小数后最多保留六位,其余部 分四舍五入。 3.4.3 实型常数的类型 实型常数不分单、双精度,都按双精度 double 型处理。 3.5 字符型数据 字符型数据包括字符常量和字符变量。 3.5.1 字符常量 字符常量是用单引号括起来的一个字符。 例如: 'a'、'b'、'='、'+'、'?' 都是合法字符常量
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有