- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * 在求三角形面积时会用到周长的一半。 改为:1.0/2 1/2.0 1.0/2.0 或 (float)1/2 1/(float)2) (float)1/(float)2 * * * 第三章 运算符与表达式 3.2.7 表达式语句和空语句 任何一个表达式后加上分号“;”就构成了表达式语句。 空语句仅由一个分号组成,不进行任何操作。 第三章 运算符与表达式 3.3 类型转换 (1)不同类型混合运算时自动类型转换 整型、实型、字符型数据间可以混合运算。在运算时,不同类型的数据要先转换成同一类型的数据再进行运算。 第三章 运算符与表达式 转换规则如下: 操作数为布尔、字符或短整型时,系统自动变换成整型。 其余情况,当两操作数类型不同时,将精度低(或表示范围小)的操作数的数据类型变换到与另一操作数类型相同再进行运算,即向高精度靠。 任意两个值之间进行逻辑运算,其结果都是一个布尔值。 char unsigned char short unsigned short bool float double unsigned int int 类型转换图 int i; float f; double d; long e; …… i=2; f=2.5; d=3.9; e=3; …… 10+‘a’+i*f-d/e 107 1.3 5.0 112. 0 110. 7 int double double double double 思考:根据已知变量定义及赋值语句,计算以下表达式的值,并说明每一步所得结果的数据类型。 第三章 运算符与表达式 (2)赋值时的类型转换 若 = 两边变量类型不同,在赋值时要进行类型转换。 转换原则:根据左边变量的类型转换。 将实型数赋给整型变量时,去掉小数部分,仅取其整数部分赋给整型变量。 将整型数赋给实型变量时,将整数变换成实型数后,再赋给实型变量。 第三章 运算符与表达式 字符型数据赋给整型变量,分二种情况: 对无符号型的字符变量,低八位不变,高位补0后赋值; 而对于有符号型的变量,若字节的符号位为0时,与无符号型的转换规则相同;当该字节的符号位为1时,将高位全部置1后再赋值。 将实型数赋给整型、无符号(长)整型赋给整型变量(即高精度赋给低精度)时,当超出取值范围,赋值的结果错误。 第三章 运算符与表达式 (3)强制类型转换 通过强制类型转换可将某种类型的数据看成另一种类型数据 例: int a=5,c=2; double d; d=a/c; //d中为2 d=(double)a/c; /d中为2.5,此时将a作为double型数据处理 在C++中,(double)a也可以写成 double(a),在C中只允许前一种写法 #include iostream.h void main() { float x; int i; x=3.6; i=(int)x; cout“x=“x‘,’; cout“i=“i; } 思考:以下程序的输出结果是什么? x=3.600000,i=3 程序运行结果: 结论:较高类型向较低类型转换时可能发生精度损失问题 举例:已知三角形的边长a、b、c,求三角形周长的一半。 #include iostream.h void main() { float a,b,c,s; a=3;b=4;c=5; s=1/2 * (a+b+c); cout“s=“s; } s= 0.00 程序运行结果: ? s= 6.00 程序运行结果: 改为:1.0/2 (1/2.0) 或 (float)1/2 (1/(float)2) 第三章 运算符与表达式 值得注意的问题: int i=2,j=3; double df; df=i/j*100; coutdfendl; (1)类型转换可能影响表达式的求值原意 第三章 运算符与表达式 若x=4 y=5 i= ++x= =5 || ++y= =6 x=5 y=5 i=1 i= x++= =5 y++= =6 x=5 y=5 i=0 (2)求逻辑表达式的过程中,一旦能确定逻辑表达式的值时,就不必再逐步求值 第三章 运算符与表达式 例题: 1. a=
您可能关注的文档
最近下载
- 《嵌入式原理与应用》教案.docx
- 游戏科学及《黑神话:悟空》项目简介.pptx VIP
- 高中生职业生涯规划展望书.doc
- GBT17626.3-2016 电磁兼容 试验和测量技术 射频电磁场辐射抗扰度试验.pdf
- 蓝海战略视角下海马体照相馆的品牌发展研究.docx
- 人教版五年级数学上册《循环小数》05950.ppt VIP
- 国家开放大学(电大)建筑力学形成考核项1-4答案.pdf
- 《Power-BI商业数据分析》教学课件—04-PowerBI数据可视化.pptx VIP
- LEGO乐高积木拼砌说明书21333,文森特·梵高——星月夜,LEGO®Ideas(年份2022)安装指南_共2份(全).pdf
- 统编版语文五年级上册第五单元集体备课 课件(共25张PPT).pptx VIP
文档评论(0)