1.算数操作符:
+ - * / %
注意点:
整型提升:凡是针对char,short型的数学运算,此时都会隐式转换为 int 型
(因为CPU运算一般以整型为基本单位)
算数转换:
long double
double 8个
float 4个
unsigned long int
long int 4个
long long 8个
unsigned int
int 4个
short 2个字节
如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另外一个操作数的类型后执行运算。
警告: 但是算术转换要合理,要不然会有一些潜在的问题。
2.移位操作符
<< 左移操作符 左移相当于乘以2
>> 右移操作符 右移相当于除以2
左移操作符:左边抛弃,右边补0
右移操作符:1. 逻辑移位 :左边用0填充,右边丢弃
符号位就是最高位,代表这个十进制数的正负:
最高位如果是0,就是正数,
最高位如果是1,就是负数,
注意:如果右移一个负数(算术移位),左边补1,没多大意义
3.位操作符(都是二进制位来说,双目操作符)
& 按位与 两个操作数都为1,结果才是1
| 按位或 两个操作数都为0,结果才是0
^ 按位异或 两个操作数相同,结果是0,两个操作数不相同,结果是1
~ 按位取反 按位取相反数 0变成1,1变成0
4.赋值操作符(双目操作符)
复制操作符最常见的就是“=”,赋值操作符可以连续使用,连续赋值
复合赋值操作符:
+= *= /= %= >>= <<= &= |= ^=
5.单目操作符
! 逻辑反操作
++i,--i 先运算,再使用
i++,i-- 先使用,再运算
6.关系操作符
=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”
7.逻辑操作符
&& 逻辑与 两个条件同时满足
|| 逻辑或 两个条件至少满足一个
特别:
短路性:&&左侧表达式为假时,右侧表达式不会进行求值
||左侧表达式为真时, 右侧表达式不会进行求值
8.条件操作符(C语言中唯一 一个三目运算符)
exp1 ? exp2 : exp3
exp1 为真 结果为exp2 为假 结果为exp2
9.逗号表达式
exp1, exp2, exp3, …expN
逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。