《C语言程序设计案例教程》课件2.5 数据的类型转换.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《C语言程序设计案例教程》课件2.5 数据的类型转换.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计案例教程 C语言程序设计案例教程课件2.5 数据的类型转换 语言程序设计 案例 教程 课件 2.5 数据 类型 转换
- 资源描述:
-
1、数据的类型转换Teacher teaching designCONTENTS 目 录自动类型转换强制转换案例剖析 交流提升案例分析 仿真演练自动类型转换PART 01自动类型转换数据类型的转换方法:变量的数据类型是可以转换的。转换的方法有两种,一种是自动转换,一种是强制转换。自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:一、自动类型转换(1)、自动转换的原则不同类型的数据可以进行混合运算,但是还要遵循一个原则:一个运算符两侧的操作数的数据类型不同,则系统按“先转换、后运算”的原则。混合运算的自动转换规则如图所示。double float 高级longuns
2、ignedint char short 低级(2)、转换过程中注意点说明:、当同一表达式中各数据的类型不同时,编译程序会自动把它们转变成同一类型后再进行计算。转换优先级按上图箭头所示:char/shorintunsignedlongfloatdouble即左边级别低的类型向右边转换。具体地说,若在表达式中优先级最高的数据是double型,则此表达式中其他数据均转换成double 型,且结果也是double型;自动类型转换、赋值过程中类型转换:C语言赋予了赋值表达式类型转换功能,一旦出现变量和表达式类型不一致时,会自动进行类型转换,将表达式的值向变量类型方向进行转换。类型转换有前提必须是相近的且
3、可以转换的才能进行,主要包括如下表中几种情况:如,设x 是整型数,y是单精度实型数,z是双精度实型数,则:x+a 的值是整型数;x+1.5的值是双精度实型数;x+y的值是双精度实型数;x+y+z+x的值 是双精度实型数;a+a的值是整型数;y+y的值也是双精度实型数。变量类型变量类型表达式类型表达式类型转换方式转换方式整型整型实型实型截取小数部分截取小数部分实型实型整型整型小数部分补小数部分补0 0单精度实型单精度实型双精度型实型双精度型实型截取小数部分剩截取小数部分剩7 7位有效数字位有效数字双精度实型双精度实型单精度实型单精度实型小数部分补小数部分补0 0到到1616位位字符型字符型整型整
4、型低低8 8位送至字符变量一个字节的存储单元位送至字符变量一个字节的存储单元整型整型字符型字符型ASCASC码送至整型变量低码送至整型变量低8 8位位,若是带符号且若是带符号且ASCASC码码最高位为最高位为1,1,则补则补1,1,否则补否则补0.0.强制转换PART 02强制转换强制转换(1)强制转换的表示形式是:(类型说明符)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。强制类型转换符的对象是表达式,包括常量,变量,函数和表达式,把圆括号括起来的类型名称放置在预转换的表达式前面。例如:(float)x 把x转换为实型 (int)(a-b)把a-b的结果转换为整型 (int)a
5、-b 把a转换为整型再与b相减在使用强制转换时应注意以下问题:1、类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。2、无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型,如下程序所示。main()float x;int y;x=3.6;y=(int)x;printf(%f,%d,x,y);运行结果为:3.600000,3案例剖析 交流提升PART 03案例剖析 交流提升【例1】、分析以下程序main()float a=12.34
展开阅读全文