操做符总结

操做符总结:
1、算术操做符:+、 -、 *、 /、 %
注意:%不能够作浮点数运算数组

2、移位操做符: << 左移操做符 >>右移操做符
右移规则:
逻辑移位:左边补零,右边丢弃 (unsigned)
算术移位:左边补符号位,右边丢弃
左移规则:左边舍弃,右移补零。
ps:在移位后,数值自己没有赋值。(值传到cpu计算后,没有将所算的值从新付给内存这个过程)。ide

3、位操做符:&、 | 、^
注意:他们的操做数必须是整数。
练习题:
一、无临时变量将两个值进行交换。(^实现:a=a^b,b=a^b,a=a^b)
二、求一个整数存储在内存的二进制中1的个数。(&:num=num&(num-1) 避免重复32次,作无效的判断)函数

4、赋值操做符:+= 、 -= 、 = 、/= 、*=、 %=、 >>=、 <<= 、&= 、 |= 、^=
做用:使写法简洁指针

5、单目操做符:! - + & sizeof ~ -- ++ (类型)
说明:1. & 取地址符(输出地址%p)
2.sizeof 求操做符的类型长度(单位:字节) 在编译使就执行了。
注意sizeof求数组大小时数组在哪里开辟,就在那里用sizeof求数组大小。由于数组在传参时传的是数组指针,计算的是指针大小。索引

6、关系操做符: > 、< 、 >=、 <= 、 !=、 ==
注意:1. 因为浮点数在存储过程当中会有精度损失,于是不要用浮点数判等,用小于某精度替换。
2.为避免在判等过程当中,==不当心写为=,于是在判等时将常数写在前面。内存

7、逻辑操做符:&&、 ||
注意:只要碰见能够判断表达式结果,则后面的都不会再作判断了。(&&运算时,碰见表达式等于零,则后面的表达式就不执行了;||碰见表达式等于1,则后面的表达式就不执行了)it

8、条件操做符: exp1 ? exp2 :exp3 exp1成立选exp2执行,不成立选exp3执行。等同于一个if...else...语句。
9、逗号表达式:(exp1,exp2……expn) 从左到右依次执行,整个表达式的结果是最后一个表达式的结果。编译

9、下表引用、函数调用和结构成员
1.[ ] 下表引用操做符: 操做数:一个数组名+一个索引值
Eg:int arr[10]; //建立数组 [ ]的两个操做数是arr和9
arr [0]=10; //使用下标引用操做符找空间存数 arr[0]=(arr+0)
2.()函数调用操做符,接受一个或多个操做数:第一个是函数名,剩余的操做数就是传给函数的参数。
3.访问结构体成员: . :结构体.成员名 -> 结构体指针->成员名class

相关文章
相关标签/搜索