首页 百科知识 自加自减运算符与表达式

自加自减运算符与表达式

时间:2022-10-20 百科知识 版权反馈
【摘要】:自加自减运算符只能用于变量的运算,而不能用于常量或表达式。如6++、--2、(x+y)++都是不合法的。当i++和++i不是以单独的语句出现时,两者有着本质的区别。i++是i先参与运算后,i的值再自增1;而++i是i先自加1,然后再参与运算。在这个程序中,对p=(i++)+(i++)+(i++)应理解为三个i相加,故p值为15。然后i再自增1三次相当于加3,故i的最后值为8。

2.7.2 自加自减运算符与表达式

1.自加、自减运算符

自加运算符与自减运算符是C语言所特有的,主要用于给一个变量加1或减1。

自加运算符记为:“++”,其功能是使变量的值自增1。

自减运算符记为:“--”,其功能是使变量值自减1。

自加自减运算符均为单目运算,都具有右结合性,可有以下几种形式:

++i i自增1后,再参与其他运算。

i ++ i参与运算后,i的值再自增1。

-i i自减1后再参与其他运算。

i- i参与运算后,i的值再自减1。

其中i++和i--称为后缀形式,++i和--i称为前缀形式。

说明:

(1)自加自减运算符只能用于变量的运算,而不能用于常量或表达式。如6++、--2、(x+y)++都是不合法的。

(2)当i++和++i作为独立的语句时,两者并无区别,都等价于i=i+1。同理,当i--和--i作为独立的语句时,两者也无区别,都等价于i=i-1。

(3)当i++和++i不是以单独的语句出现时(例如出现在表达式中),两者有着本质的区别。i++是i先参与运算后,i的值再自增1;而++i是i先自加1,然后再参与运算。

【例2-6】自增自减运算符应用。

img56

i的初值为8,第2行i加1后输出,故为9;第3行减1后输出,故为8;第4行输出i为8之后再加1(为9);第5行输出i为9之后再减1(为8);第6行输出-8之后再加1(为9),第7行输出-9之后再减1(为8)。

【例2-7】自增自减表达式应用。

img57

在这个程序中,对p=(i++)+(i++)+(i++)应理解为三个i相加,故p值为15。然后i再自增1三次相当于加3,故i的最后值为8。而对于q的值则不然,q=(++j)+(++j)+(++j)应理解为q先自增1,再参与运算,由于q自增1三次后值为8,三个8相加的和为24,j的最后值仍为8。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈