Chinaunix首页 | 论坛 | 博客
  • 博客访问: 243830
  • 博文数量: 56
  • 博客积分: 2595
  • 博客等级: 少校
  • 技术积分: 510
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-21 20:28
文章分类

全部博文(56)

文章存档

2015年(6)

2014年(1)

2013年(2)

2012年(3)

2011年(7)

2010年(9)

2009年(21)

2008年(7)

我的朋友

分类: C/C++

2013-06-24 17:20:39

优先级 操作符 描述 例子 结合性
1 ()
      []
      ->
      .
      ::
      ++
      --
调节优先级的括号操作符
      数组下标访问操作符
      通过指向对象的指针访问成员的操作符
      通过对象本身访问成员的操作符
      作用域操作符
      后置自增操作符
      后置自减操作符
(a + b) / 4;
      array[4] = 2;
      ptr->age = 34;
      obj.age = 34;
      Class::age = 2;
      for( i = 0; i < 10; i++ ) ...
      for( i = 10; i > 0; i-- ) ...
从左到右
2 !
      ~
      ++
      --
      -
      +
      *
      &
      (type)
逻辑取反操作符
      按位取反(按位取补)      
前置自增操作符
      前置自减操作符
      一元取负操作符
      一元取正操作符
      解引用操作符
      取地址操作符
      类型转换操作符
      返回对象占用的字节数操作符
if( !done ) ...
      flags = ~flags;
      for( i = 0; i < 10; ++i ) ...
      for( i = 10; i > 0; --i ) ...
      int i = -1;
      int i = +1;
      data = *ptr;
      address = &obj;
      int i = (int) floatNum;
      int size = sizeof(floatNum);
从右到左
3 ->*
      .*
在指针上通过指向成员的指针访问成员的操作符
    在对象上通过指向成员的指针访问成员的操作符
ptr->*var = 24;
      obj.*var = 24;
从左到右
4 *
      /
      %
乘法操作符
      除法操作符
      取余数操作符
int i = 2 * 4;
      float f = 10 / 3;
      int rem = 4 % 3;
从左到右
5 +
      -
加法操作符
      减法操作符
int i = 2 + 3;
      int i = 5 - 1;
从左到右
6 <<
      >>
按位左移操作符
      按位右移操作符
int flags = 33 << 1;
      int flags = 33 >> 1;
从左到右
7 <
      <=
      >
      >=
小于比较操作符
      小于或等于比较操作符
      大于比较操作符
      大于或等于比较操作符
if( i < 42 ) ...
      if( i <= 42 ) ...
      if( i > 42 ) ...
      if( i >= 42 ) ...
从左到右
8 ==
      !=
等于比较操作符
      不等于比较操作符
if( i == 42 ) ...
      if( i != 42 ) ...
从左到右
9 & 按位与操作符 flags = flags & 42; 从左到右
10 ^ 按位异或操作符 flags = flags ^ 42; 从左到右
11 | 按位或操作符 flags = flags | 42; 从左到右
12 && 逻辑与操作符 if( conditionA && conditionB ) ... 从左到右
13 || 逻辑或操作符 if( conditionA || conditionB ) ... 从左到右
14 ? : 三元条件操作符 int i = (a > b) ? a : b; 从右到左
15 =
      +=
      -=
      *=
      /=
      %=
      &=
      ^=
      |=
      <<=
      >>=
赋值操作符
      复合赋值操作符(加法)
复合赋值操作符(减法)
复合赋值操作符(乘法)
复合赋值操作符(除法)
复合赋值操作符(取余)
复合赋值操作符(按位与)
复合赋值操作符(按位异或)
复合赋值操作符(按位或)
复合赋值操作符(按位左移)
复合赋值操作符(按位右移)
int a = b;
      a += 3;
      b -= 4;
      a *= 5;
      a /= 2;
      a %= 3;
      flags &= new_flags;
      flags ^= new_flags;
      flags |= new_flags;
      flags <<= 2;
      flags >>= 2;
从右到左
16 , 逗号操作符 for( i = 0, j = 0; i < 10; i++, j++ ) ... 从左到右
阅读(1030) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~