C语言的各种操作符在我们的日常使用中必不可少,下面我们先介绍一下都有哪些操作符号。
操作符号
语言中的操作符(Operators)是用来执行特定的数学和逻辑计算的符号。在C语言中,操作符可以分为几个不同的类别:
-
算术操作符:
+
:加法-
:减法*
:乘法/
:除法%
:取模(求余数)
-
关系操作符:
==
:等于!=
:不等于>
:大于<
:小于>=
:大于或等于<=
:小于或等于
-
逻辑操作符:
&&
:逻辑与||
:逻辑或!
:逻辑非
-
位操作符:
&
:按位与|
:按位或^
:按位异或~
:按位取反<<
:左移>>
:右移
-
赋值操作符:
=
:基本赋值+=
:加后赋值-=
:减后赋值*=
:乘后赋值/=
:除后赋值%=
:取模后赋值<<=
:左移后赋值>>=
:右移后赋值&=
:按位与后赋值^=
:按位异或后赋值|=
:按位或后赋值
-
条件操作符:
?:
:三元条件操作符,格式为条件 ? 表达式1 : 表达式2
,如果条件为真,则结果为表达式1,否则为表达式2。
-
递增和递减操作符:
++
:递增操作符,可以作为前缀(++i)或后缀(i++)--
:递减操作符,也可以作为前缀(--i)或后缀(i--)
-
逗号操作符:
,
:逗号操作符用于分隔多个表达式,它会按照从左到右的顺序依次计算每个表达式,但整个逗号表达式的值是最右边表达式的值。
-
sizeof操作符:
sizeof
:一元操作符,返回一个对象或类型所占的字节数。
-
指针操作符:
*
:间接寻址或解引用操作符&
:取地址操作符
-
强制类型转换操作符:
(type)
:将一个值强制转换为type
指定的类型。
操作符在C语言中是构建表达式的基础,理解和正确使用这些操作符对于编写有效的C程序至关重要。
这里给出一张思维导图方便大家收藏:
运算顺序
接下来我们说一下其运算的优先级(其优先顺序为从高到低):
- 后缀操作符:
()
函数调用、[]
数组下标、.
结构体成员访问、->
结构体指针成员访问、++
后缀递增、--
后缀递减 - 一元操作符:
++
前缀递增、--
前缀递减、+
正号、-
负号、!
逻辑非、~
按位取反、(type)
强制类型转换、*
解引用、&
取地址、sizeof
、_Alignof
- 乘除法:
*
乘法、/
除法、%
取模 - 加减法:
+
加法、-
减法 - 位移操作符:
<<
左移、>>
右移 - 关系操作符:
<
小于、<=
小于等于、>
大于、>=
大于等于 - 相等性操作符:
==
等于、!=
不等于 - 按位与:
&
- 按位异或:
^
- 按位或:
|
- 逻辑与:
&&
- 逻辑或:
||
- 条件操作符:
?:
- 赋值操作符:
=
,+=
,-=
,*=
,/=
,%=
,<<=
,>>=
,&=
,^=
,|=
- 逗号操作符:,
-
结合性
- 结合性是指当两个具有相同优先级的操作符出现在同一个表达式中时,操作的顺序是如何决定的。
-
各类操作符的结合性
- 大多数操作符的结合性是从左到右,这意味着当出现多个相同优先级的操作符时,会从左边开始计算。但是,赋值操作符和一些一元操作符的结合性是从右到左,也就是说,它们会从表达式的右边开始计算 。