逻辑运算符
! 逻辑反
&& 逻辑与 两者都为真则为真
|| 逻辑或 两者有一真则为真
注意:
在逻辑与的运算中,如果左边为假则直接判断为假,右边的表达式将不会执行
在逻辑或的运算中, 如果左边为真则表达式直接判断为真, 右边的表达式将不会执行
位运算符
~ 位逻辑反
int a = 3 ;
a ‐> 0000 0000 0000 0000 0000 0000 0000 0011
~a ‐> 1111 1111 1111 1111 1111 1111 1111 1100
& 位逻辑与 有零得零 --> 清零操作
int a = 3 ;
int b = 5 ;
a:0011
b:0101
a&b : 0001
| 位逻辑或 有1得1
int a = 3 ;
int b = 5 ;
a:0011
b:0101
a&b : 0111
^ 位逻辑异或 相同得0 , 不同得1
int a = 3 ;
int b = 5 ;
a:0011
b:0101
a&b : 0110
注意:
位运算符操作的是操作数的每一个二进制位
位移移出的丢弃,空出的补0,如果移动的是有符号数据则右移补0时需要补符号位
特殊运算符
= 赋值运算符
左值不能是常量 100 = a
不能直接对数组赋值
可以使用连续赋值 a = b = c = d = 100
条件运算符(三目)
唯一一个需要三个操作数的运算符(表达式)
语法: 表达式1 ? 表达式2 : 表达式3
如果表达式1的值位真, 则整个表达式的值为表达式2 , 冒号左边
如果表达式1的值位假, 则整个表达式的值为表达式3 , 冒号右边
sizeof()运算符、
这个运算符看上去像函数但是其是用来计算指定的变量或变量类型从而得到他在内从中所需要占用的字节的运算符
return 运算符:
含义: 退出某一个函数(如果时在主函数遇到return 则退出程序进程结束, 如果不是 主函数,则返回被调用的位置)
语法: 必须出现在函数体内部,可以携带对应类型的值,进行返回
运算符的优先级
当一个表达式中同时出现了多个运算符时,根据优先级以及结合性进行运算,比如先乘 除后加减等
在ubuntu系统中我们可以通过查看man手册的方式知晓优先级
man operator
逗号表达式
语法 : 表达式1 = (表达式2 , 表达式3 ,表达式4 , ...... , 表达式n );
注意: 逗号表达式中, 会从左往右依次运算每一一个表达式
整个表达式的值取决于最后一个表达式的值