操作符

来源:互联网 发布:mac 下面菜单栏不见了 编辑:程序博客网 时间:2024/05/18 01:31

操作符:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符

1.算术操作符

+ - * / %

%只对整数

/ : 8/5  以%d输出为 1;8/5 以%d输出不可确定,应以%f输出为1.6

2.移位操作符

内存中整数以补码的形式储存:正整数  补码=原码;负整数  原码除了符号位,其余0变1,1变0转换为反码,反码加1为原码。

如-1,原码 10000000 00000000 00000000 00000001

          反码 11111111 11111111 11111111 11111110

          补码 11111111 11111111 11111111 11111111

<< 左移    二进制序列  左丢位 右补0

如1: 00000000 00000000 00000000 00000001

左移1位:00000000 00000000 00000000 00000010

>> 右移:逻辑移位:不看符号位  左补0右丢

               算术移位:坐补符号右丢

不同的编译器 处理不同

3.位操作符

& 按位与  |按位或   ^按位异或

与:有0则为0

或:有1则为1

异或:相同为0,相异为1    如:a^a=0;a^0=a

4.赋值操作符  =

 复合赋值符 += 、-=、/=、*=、%=、<<=、>>=、&=、!=、^=、

5.单目运算符

!(否)-(负)+(正)sizeof(计算所占字节长度)~(按位取反)--、++、*(用于间接访问)(类型)(强制转换符)

a为变量,arr为数组 

sizeof(a),sizeof(int),sizeof a,但sizeof int 不可以 省略括号,只能省略变量的。

附加数组知识:arr:数组元素地址,arr+1:跳过首元素地址,&arr:数组地址,&arr+1:跳过数组

                        数组不代表首元素地址:sizeof(arr),&arr

                        数组传参传的是首元素地址。

6.关系操作符:>   >=   <  <=  ==   !=

7.逻辑操作符:&&  ||

8.条件操作符:exp1?exp2:exp3(条件exp1,成立2,不成立3)