欢迎来到天天文库
浏览记录
ID:38116128
大小:77.32 KB
页数:4页
时间:2019-05-25
《《C++语言程序设计》_chapter_02_section_10》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二章基本数据类型与表达式十、表达式的副作用与表达式语句1、表达式的副作用C++中的表达式可分为无副作用的表达式和有副作用的表达式两类。(1)无副作用的表达式在表达式的求值过程中,参与表达式计算的变量的值不发生变化的表达式,称为无副作用的表达式。如:设inti=2,j=4;则表达式i+j*2就是一个无副作用的表达式。因为,经表达式计算后,其值为10,但变量i,j的值并没有发生变化,仍分别为2和4。(2)有副作用的表达式在表达式的求值过程中,参与表达式计算的变量的值会发生变化的表达式,称为有副作用的表达式。如:设inti=2,j=4;则表达式i+(j=-5)*2就是一个有副作用的表达式。因为
2、,经表达式计算后,其值为-8,虽变量i的值没有变化,仍为2,但变量j的值发生变化,有原来的4改变为-5。1)能产生副作用的操作及操作符l赋值=l复合赋值+=,-=,*=,/=,%=,<<=,>>=,
3、=,&=,∧=l前增1前减1++,--l后增1后减1++,--第1/4页由于以上四类操作所作用的对象都是变量,所以把这些操作称为作用于变量的操作。2)作用于变量的操作具有的特点l只能对变量进行操作;如:表达式i=3i*=4++i--ii++i--表达式的值31213121213变量i的值31213121312l除了后增1和后减1以外,作为操作结果的表达式的值就是所作用的变量所获得的值。C++遇
4、到这样的情况时,就以提供变量的形式来提供表达式的值。如:表达式++i-=3是正确的i++-=3是错误的3)作用于变量的操作出现在表达式中应注意以下两点l作用于变量的操作只能施加于变量对象;l当若干个作用于变量的操作施加于同一个变量时,除了最后一个外,不得有后增1或后减1操作。如:表达式++++++(x+=3)是正确的++++(x+=3)++是错误的(++++(x+=3))++是正确的2、表达式副作用的应用(1)逗号操作符和逗号表达式1)逗号操作符运算符名称运算对象个数举例,逗号2a=3,a*4第2/4页2)逗号操作符的优先级和结合性优先级操作符操作符名称结合性1,逗号从左向右3)逗号表达式
5、格式:表达式1,表达式2逗号表达式的值:首先计算表达式1的值,然后计算表达式2的值,表达式2的值即为整个逗号表达式的值,其类型与表达式2的类型相同。如:i=2,j=3表达式的值为3i,j的值分别为2和3i=2,j=3,i+j表达式的值为5i,j的值分别为2和3i+j,i=2,j=3,表达式的值为3i,j的值分别为2和3(2)表达式语句1)表达式和表达式语句之间的区别表达式后加上语句结束符(即;)就是表达式语句。如:3+x此为表达式3+x;此为表达式语句。2)表达式语句的功能是通过其表达式的副作用实现的表达式作为语句使用时,它的值被舍弃不用,其语句功能通过它的副作用体现的,因而把没有副作用的
6、表达式作为语句使用是毫无意义的。如:x=3;//表达式有副作用,表达式语句有意义x+1;//表达式无副作用,表达式语句无意义(无意义并不等于错误,x+1;这是一条合法的语句,能被计算机执第3/4页行,只是被执行后没起到任何作用,即无意义)第4/4页
此文档下载收益归作者所有