c语言表达式可以自加,试析C语言表达式中自加、自减运算

1自加运算符及表达式自加运算符:++,用两个连写的+表示,两个+中间不能用其他字符分隔,属于单目运算符。自加运算符功能:使运算对象值加1。自加运算符结合性:自右向左。自加运算符优先级:低于()[]->.,与逻辑非!运算符同级。自加表达式:自加运算符连接运算对象构成的式子。运算对象可以是整型、实型或字符型变量,不能用常量或表达式。自加表达式有两种表示形式:前缀形式++i,后缀形式i++。2自加运算符的运算规则通则:使运算对象(变量)值加1。但是前缀和后缀形式对于表达式值的计算不同:对于前缀形式,先执行自加运算后再计算表达式的值;对于后缀形式,先计算表达式的值,再执行自加运算。例1:intx=3,y;y=++x;/*x先自加1,值为4,再赋值给y,执行后x值为4,y值为4*/x=3;y=x++;/*取x的初值3先赋值y,然后x自加1值为4,执行后x值为4,y值为3*/3多个自加表达式联用的运算规则由多个自加表达式组合成一个表达式的运算规则:运算规则同单个自加表达式一样,结合性自右向左。例2:#includemain(){intx=5,y;y=x+++x+++x++;/*自加运算符优于加法运算符,自右向左结合,等价于y=(x++)+(x++)+(x++)*/printf("x=%d,y=%dn",y);/*x=8,y=15*/}运算过程:每个x++表达式的运算都是取x初值5参加运算后,x再分别自加,5+5+5y5+1+1+1x。例3:#includemain(){intx=5,y;y=++x+++x+++x;/*等价于y=(++x)+(++x)+(++x)*/printf("x=%d,y=%dn",y);/*x=8,y=24*/}运算过程:每个x++表达式的运算都是先自加后再取变化后的x值参加运算,但是x是同一个变量,5+1+1+1x8+8+8y。4自加表达式在输出函数中的运算自加表达式用作输出函数的输出项时,由于输出函数实现上的原因,在计算上与前面的介绍又有区别。例4:#includemain(){intx=5;printf("y=%dn",(x++)+(x++)+(x++));/*y=18*/}运算过程:(x++)+(x++)+(x++)作为输出函数的输出项,输出项属于可变参数,调用时通过存储空间进行存储,求(x++)+(x++)+(x++)值时3个x++相当于3个独立表达(下转到150页)试析C语言表达式中自加、自减运算@冯治广$山东工业职业学院!山东淄博256414自加、自减运算是C语言中的一个语法难点部分,对于初学者来说一直都是个难题,甚至很多编程高手也会产生困惑。通过实例分析总结了自加、自减运算符的运算规则过程,解析困惑,简洁明了。自加运算符;;运算规则;;自减运算符[1]王正瑄,冯治广.C语言程序设计.中国计划出版社,2008.

[2]谭浩强.C语言程序设计.清华大学出版社,2009.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值