《C语言程序设计案例教程》课件2.3 实型数据.pptx

上传人(卖家):momomo 文档编号:4611179 上传时间:2022-12-25 格式:PPTX 页数:14 大小:3.27MB
下载 相关 举报
《C语言程序设计案例教程》课件2.3 实型数据.pptx_第1页
第1页 / 共14页
《C语言程序设计案例教程》课件2.3 实型数据.pptx_第2页
第2页 / 共14页
《C语言程序设计案例教程》课件2.3 实型数据.pptx_第3页
第3页 / 共14页
《C语言程序设计案例教程》课件2.3 实型数据.pptx_第4页
第4页 / 共14页
《C语言程序设计案例教程》课件2.3 实型数据.pptx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、Teacher teaching designCONTENTS 目 录实型常量的表示方法格式控制符明确考点 交流提升案例分析 仿真演练存储形式及分类实型常量的表示方法PART 01实型常量的表示方法实型常量的表示方法实型也称为浮点型。实型常量也称为实数或者浮点数。在语言中,实数只采用十进制。它有二种形式:十进制小数形式,指数形式。1)十进制数形式:由数码0 9和小数点组成。例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均为合法的实数。注意,必须有小数点。2)指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为

2、: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 (无阶码)标准允许浮点数使用后缀。后缀为“f”或“F”即表示该数为浮点数。如356f和356.是等价的。存储形式及分类PART 02存储形式及分类实型数据在内存中的存放形式 实型数据一般占4个字节(32位)内存空间。按指数形式存储。实数3.14159在内存中的存放形式如

3、下:数符 小数部分 指数小数部分占的位(bit)数愈多,数的有效数字愈多,精度愈高。指数部分占的位数愈多,则能表示的数值范围愈大。实型变量的分类实型变量分为:单精度(float型)、双精度(double型)和长双精度(long double型)三类。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-383.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-3081.7E+308,可提供16位有效数字。实型变量定义的格式和书写规则与整型相同。例如:float x,y;(x,y为单精度实型量)double a,b,c;(a,

4、b,c为双精度实型量)+.3141591类型说明符 比特数(字节数)有效数字数的范围float32(4)6710-371038 double64(8)151610-30710308 long double 128(16)181910-4931104932 格式控制符PART 03格式控制符实型变量格式控制符实型变量的种类及对应的格式控制符其中:小数形式的格式控制符是%f,指数形式的格式控制符是%e;单精度和双精度的格式控制符是%f,长双精度的格式控制符是%lf。实型常数不分单、双精度,都按双精度double型处理。明确考点 交流提升PART 04明确考点 交流提升【例2】实型数据的舍入误差现象

5、。(一个较大实数加一个较小实数。)实型变量也是由有限的存储单元组成的,能提供的有效数字是有限的。这样就会存在舍入误差。main()float x=7.24356E10,y;y=x+54;printf(x=%en,x);printf(y=%en,y);程序执行的结果为:x=7.24356E10y=7.24356E10这里x和y的值都是7.24356E10,显然是有问题的,原因是由于float只能保留67位有效数字,变量y所加的54被舍弃。因此由于舍入误差的原因,进行计算时,要避免一个较大实数和一个较小实数相加减。【例1】实型常量的应用main()printf(%fn,260.);printf(%

6、fn,260);printf(%fn,260f);程序运行结果为:260.0000000.000000260.000000思考:为什么第二个输出结果为0.000000。明确考点 交流提升【例3】实型数据的溢出main()float a,b,c,d;a=1.2E33;b=0.5E-22;c=0.25E-21;d=a/b;d=d*c;printf(c=%fn,d);结果会出现:Floating point error:Overflow这是由于程序中a/b的运算的结果超出了float型能表示的范围产生溢出。所以在使用中应避免直接用一个较大的数除以一个较小的数。可以将程序的计算部分d=a/b;d=d*

7、c;改为:d=a*c;d=d/b;或 d=a/b*c;以避免这种情况的发生。也许有人会提出d=a/b*c为什么不产生溢出哪?其原因是,在Turbo C中float型数据在计算时要先转换为double型数据,计算后再转换为float型数据赋给float变量d。仿真演练 体验探索PART 05案例分析 仿真演练3、若已定义int a=256,执行语句printf(%x,a);的结果是()A)0100 B)0256 C)0ffe D)0ff4、C语言中,整数-8在内存中的存储形式是()A)1111,1111,1111,1000 B)1000,0000,0000,0000C)0000,0000,000

8、0,1000 D)1111,1111,1111,01115、以下程序的输出结果是:main()int k=17;printf(%d,%o,%x n,k,k,k);1、以下选项中不正确的实型常量是()A)123 B)le4 C)3.640E-1 D)0.352、该源程序执行后,屏幕上显示什么?()main()int a;float b;a=4;b=9.5;printf(a=%d,b=%4.2fn,a,b);A)a=%d,b=%fn B)a=%d,b=%fC)a=4,b=9.50 D)a=4,b=9.5案例分析 仿真演练6、下面四个选项中,均是不合法的浮点数的选项是()。A)1600.12e3B)1232e4.2.e5C)-.18123e40.0D)-e3.2341e37、下面四个选项中,均是合法浮点数的选项是()。A)+1e+1 5e-9.403e2B)-.6012e-4-8e5C)123e1.2e-.4+2e-1D)-e3.234 5.e-08、下列常数中不能作为C的常量的是()。A)0 xA5 B)2.5e-2 C)3e2 D)0582

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中职
版权提示 | 免责声明

1,本文(《C语言程序设计案例教程》课件2.3 实型数据.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|