C语言中有大量的运算符,共有32种(如图1),按照不同的用途这些运算符大致可以分为如下13类。
- 算术运算符:+ - * / %
 - 关系运算符:> >= == < <== !=
 - 逻辑运算符:! && ||
 - 赋值运算符:=
 
符合赋值运算符:+= -= *= /= %= &= |= ^= <<= >>=
5.増一和减一运算符:++ --
6.条件运算符:? :
7.强制类型运算符: (类型名)
8.指针和地址运算符: * &
9.计算字数运算符: sizeof
10.下标运算符: [ ]
11.结构体成员运算符: -> .
12.位运算符: << >> | ^ & ~
13.逗号运算符: ,
如图1
|   优先级  | 
      运算符  | 
      含义  | 
      结合方向  | 
      运算类型  | 
   
|   1  | 
      () [] -> . ++ --  | 
      圆括号,函数参数表 数组元素下标 指向结构体成员 引用结构体成员 后缀增1,后缀减1  | 
      自左向右  | 
    |
|   2  | 
      ! ~ ++ -- - * & (类型标识符) sizeof  | 
      逻辑非 按位取反 前缀增1,前缀减1 求负 间接寻址运算符 取地址运算符 强制类型转换运算符 计算字节数运算符  | 
      自右向左  | 
      单目运算  | 
   
|   3  | 
      * / %  | 
      乘,除整数求余  | 
      自左向右  | 
      双目算术运算  | 
   
|   4  | 
      + -  | 
      加,减  | 
      自左向右  | 
      双目算术运算  | 
   
|   5  | 
      << >>  | 
      左移,右移  | 
      自左向右  | 
      位运算  | 
   
|   7  | 
      == !=  | 
      等于,不等于  | 
      自左向右  | 
      关系运算  | 
   
|   8  | 
      &  | 
      按位与  | 
      自左向右  | 
      位运算  | 
   
|   6  | 
      < <= > >=  | 
      小于,小于等于 大于,大于等于  | 
      自左向右  | 
      关系运算  | 
   
|   9  | 
      ^  | 
      按位异或  | 
      自左向右  | 
      位运算  | 
   
|   10  | 
      |  | 
      按位或  | 
      自左向右  | 
      位运算  | 
   
|   11  | 
      &&  | 
      逻辑与  | 
      自左向右  | 
      逻辑运算  | 
   
|   12  | 
      ||  | 
      逻辑或  | 
      自左向右  | 
      逻辑运算  | 
   
|   13  | 
      ?:  | 
      条件运算符  | 
      自右向左  | 
      三目运算  | 
   
|   14  | 
      = += -= *= /= %= &= ^= |= <<= >>=  | 
      赋值运算符 复合的赋值运算符  | 
      自右向左  | 
      双目运算  | 
   
|   15  | 
      ,  | 
      逗号运算符  | 
      自左向右  | 
      顺序求值运算  |