计算机南理工VC++程序设计课件2011版第3章幻灯片.ppt

计算机南理工VC++程序设计课件2011版第3章幻灯片.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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=

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档