三、运算符
3.1 运算符类别
类别 | 符号 |
---|---|
算术运算符 | + 、 − 、 ∗ 、 / 、 % 、 + + 、 − − +、 -、*、/、\%、++、-- +、−、∗、/、%、++、−− |
关系运算符 | < 、 < = 、 = = 、 > 、 > = 、 ! = <、<=、 ==、 > 、>=、 != <、<=、==、>、>=、!= |
逻辑运算符 | 或 ( ∥ ) 、 且 ( & & ) 、 非 ( ! ) 或(\|)、且(\&\&)、非(!) 或(∥)、且(&&)、非(!) |
位运算符 | 位 与 ( & ) 、 位 或 ( 位与(\&)、位或( 位与(&)、位或(I ) 、 位 非 ( ∼ ) 、 位 异 或 ( )、位非(\sim)、位异或( )、位非(∼)、位异或(^ ) 、 左 移 ( < < ) 、 右 移 ( > > ) )、左移(<<)、右移(>>) )、左移(<<)、右移(>>) |
赋值运算符 | 简 单 赋 值 ( = ) 、 复 合 算 法 赋 值 ( + = 、 − = 、 ∗ = 、 / = 、 % = ) 、 复 合 位 运 算 赋 值 ( & = 、 简单赋值(=)、复合算法赋值(+=、-=、*=、/=、\%=)、复合位运算赋值(\&=、 简单赋值(=)、复合算法赋值(+=、−=、∗=、/=、%=)、复合位运算赋值(&=、I = 、 =、 =、^ = 、 > > = 、 < < = ) =、>>=、<<=) =、>>=、<<=) |
条件运算符 | 三 目 运 算 符 ( ? : ) 三目运算符 (?:) 三目运算符(?:) |
逗号运算符 | , ( 用 于 把 两 个 表 达 式 连 接 起 来 组 成 一 个 表 达 式 ) ,(用于把两个表达式连接起来组成一个表达式) ,(用于把两个表达式连接起来组成一个表达式) |
指针运算符 | 取 内 容 ( ∗ ) 、 取 地 址 ( & ) 取内容(*)、取地址(\&) 取内容(∗)、取地址(&) |
求字节数运算符 | s i z e o f \mathbb sizeof sizeof |
特殊运算符 | 括 号 ( ) 、 下 标 [ ] 、 成 员 ( → 、 . ) 等 括号()、下标[]、成员(\to、.)等 括号()、下标[]、成员(→、.)等 |
3.2 运算符的优先级
顶部最高,底部最底;
(1)关系运算符(其值为 “真” 或 “假”,以 “0”,“1”表示):
“
<
、
<
=
、
>
、
>
=
”
“<、<=、 > 、>=”
“<、<=、>、>=” 的优先级相同;
“
=
=
、
!
=
”
“==、!=”
“==、!=” 的优先级相同;前者优先级高于后者;
(2)逻辑运算符(其值为 “真” 或 “假”,以 “0”,“1”表示);
3.3 运算符的结合性
(1)左结合性:算术运算符;
(2)右结合性:赋值运算符
3.4 自增、自减运算符
(1) ++i; // i 自增 1 后再参与其他运算
(2) --i; // i 自减 1 后再参与其他运算
(3) i++; // i 参与运算后,i 的值在自增 1
(4) i--; // i 参与运算后,i 的值在自减 1