总结——c语言中的操作符
程序员文章站
2022-05-12 12:31:42
...
c语言中的操作符
操作符的分类:
算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员
算术操作符
+ - * / %
1.除了%以外,其他几个操作符既可以作用于整数,也可以作用于浮点数。
2.对于/操作符,当有浮点数参与时执行浮点数除法。
3.%操作符只能作用于整数。
移位操作符
<< //左移操作符
>> //右移操作符
左移操作符
左边抛弃,右边补0
右移操作符
1.逻辑移位
右边抛弃,左边补0
2.算术移位
右边抛弃,左边补原符号位
注:右移1位相当于除2,左移1位相当于乘2。
位操作符
& //按位与 “有0出0,全1出1”
| //按位或 “有1出1,全0出0”
^ //按位异或 “相同出0,相异出1”
注:他们的操作数必须为整数。
赋值操作符
=//将等号右边的值赋给等号左边
复合赋值符
+= -= *= /= %= >>= <<= &= |= ^=
单目操作符
!//逻辑非
-//负值
+//正值
&//取地址
sizeof//操作数的类型长度(单位为字节)
~//按位取反(二进制)
++//前置、后置++
--//前置、后置--
*//间接引用操作符(解引用操作符)
(类型)//强制类型转换
关系操作符
== != > >= < <=
注:在写条件表达式的时候不要把==写成=
逻辑操作符
&&//逻辑与
||//逻辑或
1.在逻辑运算中,所有的非0数值都看做1处理。
2.区分逻辑与和按位与,逻辑或和按位或。在位运算中,是相应的位之间进行逻辑运算。
3.逻辑操作符存在一个行为:短路求值,其表述如下: &&操作符的左操作符总是首先进行求值,如果它的值为真,然后就对右操作数进行求值。如果左操作数的值为假,那么右操作数就不必求值,因为整个表达式肯定为假;同理||操作符如果做操作数为真,那么整个表达式就为真。
条件操作符
exp1 ? exp2 : exp3
逗号表达式
exp1,exp2,exp3,...expN//从左向右依次执行,整个表达式的结果是最后一个表达式的结果
下标引用、函数调用和结构成员
1. []//下标引用操作符,操作数为一个数组名+一个索引值
2. ()//函数调用操作符,操作数为一个函数名+传递给函数的参数
3. //访问一个结构的成员
.//结构体.成员名
->//结构体指针->成员名