打印本文 打印本文  关闭窗口 关闭窗口  
二级C++精品课程3-1-2:C++运算符之自增、自减运算符
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:39:58  文章录入:杜斌  责任编辑:杜斌

3.1.2自增、自减运算符
  ++是自增运算符,――自减运算符,这两个运算符都是单目运算符,且功能相近,都是将数值变量的值加1或减1,用户只能将这类操作符应用于变量而不能应用于常量。要替代下列代码
  valuel=valuel+1;
  可使用
  ++valuel;
  或
  valuel++;
  这里前一种方式称为前缀方式,后一种称为后缀方式,其目的都是使valuel加1。二者的区别是:前缀式先将操作数增1(或减1),然后取操作数的新值参与表达式的运算。后缀是先将操作数增1(或减1)之前的值参与表达式的运算,到表达式的值被引用之后再做加1(或减1)运算。
  参见表3-3。
  我们可以看出, 自加和自减运算符可在变量名前,也可在变量名后,即都可以用于前缀和后缀的形式,但含义并不相同。对于前缀的形式,变量先作自加或自减运算,然后将运算结果用于表达式中;而对于后缀的形式, 变量的值先在表达式中参与运算,然后再作自加或自减运算。
  可以作自加或自减的变量类型也可以是实型,但是,实型变量自加或自减运算的用处不大,我们很少使用。通常,我们对整型变量作自加或自减运算。以后,我们还会看到,指针变量也可以作自加或自减运算。
表格 表3-3 自加和自减运算符
 
运算符 名字 实例
+ + 自加(前缀) ++valuel + 10 // 得出16,valuel变为6
+ + 自加(后缀) valuel++ + 10 // 得出15,valuel变为6
- - 自减(前缀) --valuel + 10 // 得出14,valuel变为4
- - 自减(后缀) valuel-- + 10 // 得出15,valuel变为4
  表3-2中假定变量valuel已预定义:
  int valuel = 5;
  自加自减运算符都是单目运算符,是专门用于加1和减1操作设置的,其实质就是用'++'代替了"+1"(后缀)和"1+"(前缀)、'-'代替了"-1"。需要注意的是自增运算符在操作数的前面和后面是不一样的,如:
  a = 6;
  b = a++;
  执行结果为:b=6, a=7
  而
  a = 6;
  b = ++a;
  执行结果为:b=7, a=7.
  自减运算符也存在同样情况,如:
  a=6;
  b = a--;
  执行结果为:b=6, a=5.
  而
  a=6;
  b=--a;
  执行结果为:b=5, a=5.
打印本文 打印本文  关闭窗口 关闭窗口