内容正文:
YCF
正版可修改PPT
(中职)C语言程序设计案例教程 2.3 实型数据ppt课件
1
实型数据
Teacher teaching design
CONTENTS
目 录
实型常量的表示方法
格式控制符
明确考点 交流提升
案例分析 仿真演练
存储形式及分类
实型常量的表示方法
PART 01
实型常量的表示方法
实型常量的表示方法
实型也称为浮点型。实型常量也称为实数或者浮点数。
在C语言中,实数只采用十进制。它有二种形式:十进制小数形式,指数形式。
1) 十进制数形式:由数码0~ 9和小数点组成。
例如: 0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均为合法的实数。
注意,必须有小数点。
2) 指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。
其一般形式为:a E n(a为十进制数,n为十进制整数)
其值为 a*10n。
如: 2.1E5 (等于2.1*105)
3.7E-2 (等于3.7*10-2)
0.5E7 (等于0.5*107)
-2.8E-2 (等于-2.8*10-2)
以下不是合法的实数: 345 (无小数点)
E7 (阶码标志E之前无数字)
-5 (无阶码标志)
53.-E3 (负号位置不对)
2.7E (无阶码)
标准C允许浮点数使用后缀。后缀为“f”或“F”即表示该数为浮点数。
如356f和356.是等价的。
存储形式及分类
PART 02
存储形式及分类
实型数据在内存中的存放形式
实型数据一般占4个字节(32位)内存空间。按指数形式存储。实数3.14159在内存中的存放形式如下:
数符 小数部分 指数
小数部分占的位(bit)数愈多,数的有效数字愈多,精度愈高。
指数部分占的位数愈多,则能表示的数值范围愈大。
实型变量的分类
实型变量分为:单精度(float型)、双精度(double型)和长双精度(long double型)三类。
在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。
实型变量定义的格式和书写规则与整型相同。
例如:
float x,y; (x,y为单精度实型量)
double a,b,c; (a,b,c为双精度实型量)
+ .314159 1
类型说明符 比特数(字节数) 有效数字 数的范围
float 32(4) 6~7 10-37~1038
double 64(8) 15~16 10-307~10308
long double 128(16) 18~19 10-4931~104932
格式控制符
PART 03
格式控制符
实型变量格式控制符
实型变量的种类及对应的格式控制符
其中:
小数形式的格式控制符是%f,
指数形式的格式控制符是%e;
单精度和双精度的格式控制符是%f,
长双精度的格式控制符是%lf。
实型常数不分单、双精度,都按双精度double型处理。
明确考点 交流提升
PART 04
明确考点 交流提升
【例2】实型数据的舍入误差现象。(一个较大实数加一个较小实数。)
实型变量也是由有限的存储单元组成的,能提供的有效数字是有限的。这样就会存在舍入误差。
main()
{
float x=7.24356E10, y;
y=x+54;
printf("x=%e
",x);
printf("y=%e
",y);
}
程序执行的结果为:
x=7.24356E10
y=7.24356E10
这里x和y的值都是7.24356E10,显然是有问题的,原因是由于float只能保留6~7位有效数字,变量y所加的54被舍弃。因此由于舍入误差的原因,进行计算时,要避免一个较大实数和一个较小实数相加减。
【例1】实型常量的应用
main()
{
printf("%f
",260.);
printf("%f
",260);
pr