【达内C++学习培训学习笔记系列】C语言之一运算符

1、按位与&:1 & X = X, 0 & X = 0,可以判断某一位是0还是1,可以将某一位置0

  按位或 |:1 | X = 1,0 | X = X,可以将某一位置1

  异或^: 0 ^ X = X,1 ^ X = ~X

2、位移

  左移,移动K位等价于乘以2^K,右边补0

  右移,移动K位等价于除以2^K,左边补上符合位

3、地址运算符 & *

4、自增(自减)运算符

  在运算中,a++将旧值参与运算,a++ < 10等价于temp=a,a = a+1,temp < 10

  而++a将新值参与运算,++a < 10等价于 a = a+1,a < 10

5、逗号运算符:最右边的表达式作为运算结果,另外,注意以下例子:

#include <stdio.h>
 
int main()
{
        int a = 0;
        int b = 0;
       printf(
"%d %d %d\n", b=a+++(a+++2),b,a=b++); //注意,在这个函数中,是3个表达式是从右向左执行的 printf("%d %d\n",a,b); return 0; }

运行结果:

  2  2  0

  2  2

总结:在同一个语句中,尽量不让同一个变量多次改变值

问题:以后在深入学习位运算,可以参见《C primer plus》的第15章

 

posted on 2013-03-03 17:41  K's Blog  阅读(153)  评论(0编辑  收藏  举报

导航