欢迎来到天天文库
浏览记录
ID:37501047
大小:3.00 MB
页数:7页
时间:2019-05-24
《c++ 操作符和表达式_全面》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CPP高级程序设计语言2010‐10‐5杨榆yangyu@bupt.edu.cnÆ熟练掌握C++操作符北京邮电大学计算机学院Æ熟练掌握C++表达式2010‐10‐5C++程序设计2Æ算数操作符和算数表达式Æ表达式由一个或多个操作数通过操作符组合而Æ赋值操作符和赋值表达式成。Æ逗号操作符和逗号表达式≠例如:a+3‐b是一个表达式,“+”和“‐”是操作符,“a”和“b”是操作数。Æ关系操算符和关系表达式Æ每个表达式都会产生一个结果。Æ逻辑操算符和关系表达式≠若表达式没有操作符,其结果就是操作数本身。Æ条件操算符和关系表达式≠例如:if(ival)中,ival作为if语句的条件表达式,表Æne
2、w和delete操作符和表达式达式的值即为ival的值。2010‐10‐5C++程序设计32010‐10‐5C++程序设计4Æ基本算术操作符Æ基本算术操作符≠+(二元操作:加法,一元操作:正值运算)≠*(乘法操作),/(除法操作)≠‐(二元操作:减法,一元操作:负值运算)≠若操作数皆为整数,则结果也为整数,舍去小数≠例如:≠例5/3为1≠5+3‐2≠若上述情况中,操作数符号不同,则舍入方向不定≠‐2+3,多数系统采用向零取整。≠例如:‐5/3向零取整为‐12010‐10‐5C++程序设计52010‐10‐5C++程序设计6yangyu@bupt.edu.cn1CPP高级程序设计语言201
3、0‐10‐5Æ基本算术操作符Æ优先级≠%(取模运算,或称求余运算)≠求解表达式时,按操作符的优先级从高到低执行。≠操作数应为整型(bool,char,short,int和long及≠例如,先执行乘除操作,再执行加减操作其对应的unsgined型)≠例如,c‐a*b,等效于,c‐(a*b)≠例如:Æ结合性≠5%2//两操作数为正整数,结果为1≠当操作数两侧操作符优先级相同,则按结合性处理≠5%1.7//错误,操作数为浮点数≠例如:a‐b+c,加法,减法优先级相同,究竟先算a‐≠‐21%‐8//正确,结果是‐5b,还是先算b+c,由结合性决定≠21%‐5//不定,结果与机器有关,1或者‐42
4、010‐10‐5C++程序设计72010‐10‐5C++程序设计8Æ练习,写出下列表达式的值Æ混合运算≠3*4+2*7≠表达式中操作数的数据类型可能不同≠26/3+34%3≠例如:3+51/25.1/2‐’a’≠6+3*4/2+2≠则,执行运算时,要先将操作数转换为同一类型≠为尽可能降低精度的损失,总转换为更高精度的数据类型。≠转换是系统自动进行的≠可通过强制类型转换,修改系统的默认转换方式2010‐10‐5C++程序设计92010‐10‐5C++程序设计10Æ练习,计算下列表达式的值Æ自增和自减≠1.5*4‐’a’≠功能:使变量的值增1、或减1≠21/2+(int)314159/421
5、/2+(int)3.14159/4Æ前自增≠(float)5/2+(int)7.3%2≠功能:先自增,后操作≠例如:≠inti(3),j(0);//定义并初始化变量≠j=++i;//i先自增,值变为4,再赋值,即j等于42010‐10‐5C++程序设计112010‐10‐5C++程序设计12yangyu@bupt.edu.cn2CPP高级程序设计语言2010‐10‐5Æ后自增Æ自增(减)操作注意事项≠功能:先操作,后自增≠自增(减)操作不能作用于常量或表达式≠例如:≠例如(a+b)++是非法的≠inti(3),j(0);//定义并初始化变量≠自增(减)操作结合性为右结合性≠j=i++;/
6、/先赋值,即j等于3,i再自增变为4≠例如,负号操作符和后自增操作符优先级相同,结合性皆为右结合Æ前自减、后自减与前自增、后自增处理方式类似≠则:‐i++的运算顺序为:先执行i++,然后对其结果取负≠慎用自增(减)操作2010‐10‐5C++程序设计132010‐10‐5C++程序设计14Æ为何强制类型转换?Æ(类型名)(表达式)Æ覆盖通常的标准转换≠例如:(float)(5%3),将5模3的结果,整型,强制转≠usignedcharucSum=0;//已知总数不超过256换为float型≠….//操作ucSum,计数≠例如:(int)x+y,将x强制转换为int≠cout<<“tota
7、l:”<(ucSum)<
此文档下载收益归作者所有