C++程序设计教程4.ppt





《C++程序设计教程4.ppt》由会员分享,可在线阅读,更多相关《C++程序设计教程4.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、23:25:351C+C+程序设计教程程序设计教程(第二版第二版)第四章 计算表达 Chapter 4 Computational Expressing清华大学出版社 钱 能计算表达:表达计算使用一系列操作,它依赖于特定语言的操作符功能,关乎数据类型的内在特性,故计算表达目的在于深入剖析数据类型对于编程的影响,从而准确使用操作符学习方法:1.掌握操作符的功能和相互关系(优先级和结合性)2.针对内部数据类型,对一些典型的操作中的典型问题留下深刻印象23:25:352第四章内容23:25:3531.名词解释名词解释(Name Explainations)2.算术运算问题算术运算问题(Arithme
2、tic Problems)3.相容类型的转换相容类型的转换(Cast Campatible Type)4.关系与逻辑操作关系与逻辑操作(Relation&Logic Operations)5.位操作位操作(Bit Operations)6.增量操作增量操作(Increment Operations)7.表达式副作用表达式副作用(Expressions Side Effects)1.操作符操作符 (Operators)单目操作符:在一个操作数上施加的操作,如:-3双目操作符:在二个操作数上施加的操作,如:-故有些操作符既是单目操作符,又是双目操作符表达式:若干个操作数和操作符按语法规则构成的操作
3、,如:a=-3-5+6*7/-823:25:364优先级:表达式中多个操作符的执行顺序的规定性,如:*x+;/先做x+结合性:同级操作符的执行顺序的规定性,如:a=b=6;/先做b=623:25:365.算术运算问题算术运算问题(Arithmetic Problems)整型数表示范围有限,如:不能用整型变量累计的一般循环方法来解:int sum=0;for(int i=1;i=10000;+i)sum+=i;coutsum“n”;23:25:366整型数的周而复始性,如:unsigned int a=2000000000;unsigned int b=3000000000;cout a+b“n
4、”;结果为:705032704 超过表示范围的整型数不是报错,而是表示成一个去掉进位后的余数23:25:36723:25:368中间结果溢出导致计算错误,如:int a=100000;int b=100000;int c=1000;couta*b/cn;couta*(b/c)n;结果为:1410065 10000000浮点数的精度和有效位 影响比较的正确性,如:float f1=7.123456789;float f2=7.123456785;if(f1=f2)cout“f1 equal to f2n”;float f=1.0/3.0;double d=1.0/3.0;if(g=d)cout“
5、g not equal to dn”;结果为:结果为:f1 equals to f2 g not equals to d23:25:369浮点数计算的近似性 使精确性比较失败,如:double d1=123456789.9*9;double d2=1111111109.1;if(d1!=d2)cout “Not samen”;else cout “Samen”;if(abs(d1-d2)1e-05)cout “Samen”;else cout “Not samen”;结果为:结果为:Not sameSame23:25:36103.相容类型转换相容类型转换(Cast Compatible Typ
6、e )隐式转换:整型和浮点型都是数值型,所以它们是相容类型指针与整型不相容,如:7.0/3 =7.0/3.0/将隐式转换成浮点 =2.33333333 int a=9;int*ap=&a;3+ap /错23:25:3611从表达能力弱的类型到强的类型的转换是安全的,反之,会引起精度丢失如:float f=7.0/3;/doublefloat int a=7.0/3;/doubleint cout.precision(9);cout fixed 7.0/3“n”;cout f“n”a “n”;结果为:结果为:2.333333333 2.333333254 223:25:3612可以用显式转换的方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 教程

限制150内