书签 分享 收藏 举报 版权申诉 / 13
上传文档赚钱

类型《C语言程序设计案例教程》课件2.5 数据的类型转换.pptx

  • 上传人(卖家):momomo
  • 文档编号:4611187
  • 上传时间:2022-12-25
  • 格式:PPTX
  • 页数:13
  • 大小:3.12MB
  • 【下载声明】
    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

    6、56;a=(int)(a*100+0.5)/100.0;printf(“a=%f”,a);程序运行的结果为:a=12.350000思考分析:(1)、由于(int)的作用,(int)(a*100+0.5)运算的结果为为整型1235,(2)、除100.0运算时自动转换为实型12.350000,所以结果为12.35。2、强制转换的注意点、强制转换类型得到的是一个所需类型的中间量,原表达式类型并不发生变化。也就是说强制的结果只是把变量值转换成要求的类型后参与所在环境运算,而变量本身的 类型 和 值 并未改变。例如,(double)a 只是将变量a的值转换成一个double型的中间量,其数据类型并未转换

    7、成double型。、如果对一个整体表达式进行类型转换,要注意在表达式前后加上圆括号,以免出现只对表达式前面部分转换的情况。如(int)(x+y)和(int)x+y不同:(int)(x+y)是将x和y相加后,把结果转换为整型,而(int)x+y是把x转换成int型之后再与y相加。、当有些类型无法转换时,需要强制类型转换的支持。案例剖析 交流提升【例2】main()float a=12.34;int b;b=(int)a;printf(%d,%f,b,a);程序运行结果:12,12.340000b是int型,a是float类型并不改变。3、无论是强制转换或是自动转换,如果要转换的量超过了转换后类型

    8、的表示范围,将出现溢出错误或不可预料的结果。如:main()int a;float b=123456;a=b;printf(“a=%d”,a);程序运行结果:a=0仿真演练 体验探索PART 04仿真演练 体验探索1、分析下列程序的输出结果是()main()double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(%d n,d*y);A)3 B)3.2 C)0 D)3.07思考题:数据类型自动转换对程序输出结果的影响?2、数字字符0的ASCII值为48,若有以下程序运行后的输出结果是()。main()char a=1,b=2;printf(%c,b+1);

    9、printf(%dn,b-a);A)3,1 B)50,2 C)2,2 D)2,50 思考题:字符型数据与整型数据之间的转换方法?3、下列程序执行后的输出结果是 A)G B)H C)I D)Jmain()int x=f;printf(%c n,A+(x-a+1);思考:允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,同样也允许允许对整型变量赋以字符值,把整型量按字符量输出。仿真演练 体验探索4、设有char w;int x;float y;double z;则表达式 w*x+z-y 值的数据类型为()A)float B)char C)int D)double5、已知大写字母A的A

    10、SCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量101是()A)字符A B)字符a C)字符e D)非法的常量6、若变量a是int类型,并执行了语句:a=A+1.6;,则正确的叙述是()A)a的值是字符C B)a的值是浮点型C)不允许字符型和浮点型相加 D)a的值是字符A的ASCII值加上1。7、以下程序的输出结果是()main()char c=z;printf(%c,c-25);A)a B)Z C)z-25 D)y8、以下程序的运行结果为:()main()float x=1.6546,y;y=(int)(x*1000+0.5)/1000.0;printf(x=%f,y=%fn,x,y);

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《C语言程序设计案例教程》课件2.5 数据的类型转换.pptx
    链接地址:https://www.163wenku.com/p-4611187.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库