C语言运算符大全(优先级与结合性表)

点击打开在线编译器,边学边练

C语言当中有众多的运算符,实际开发编码过程中,也不会仅仅是a+b这样的简单的表达式,常常是多个变量、多个运算符组合而成的复合表达式,因此我们需要明白除了那个优先级高、应该先算哪个,就像我们小学学的四则运算符,乘除的优先级高于加减是一样的道理。


下面我们将C语言中的各个运算符列表如下,按照优先级从高到低,即最前面,数字越小的优先级越高,越优先算。




优先级

运算符名称或含义使用形式结合方向说明



          

           1

   []

数组下标数组名[长度]




     从左往右


()小括号(表达式)或
函数名(形参表)

  .取成员结构体名.成员
  ->指针结构体指针->成员







       2




  -负号运算符-表达式








     从右往左

单目运算符
()强制类型转换(数据类型)表达式
  ++自增运算符++变量或变量++单目运算符
  --自减运算符--变量或变量--单目运算符
  *取内容*指针变量单目运算符
  &取地址&变量名单目运算符
  !逻辑非!表达式单目运算符
  ~按位取反~整型表达式
单目运算符
  sizeof求长度sizeof(表达式)单目运算符


     3 

 /表达式 / 表达式




   从左往右

双目运算符
 *表达式 * 表达式双目运算符
  %取余表达式 / 表达式双目运算符


    4

 +表达式+表达式



  从左往右

双目运算符
  -表达式-表达式双目运算符


    5

<<左移变量<<表达式


  从左往右

双目运算符
>>右移变量<<表达式双目运算符



     6

>大于表达式>表达式





  从左往右

双目运算符
>=大于或等于表达式>=表达式双目运算符
<小于表达式<表达式双目运算符
<=小于或等于表达式<=表达式双目运算符


    7

 ==等于表达式==表达式



 从左往右

双目运算符
 !=不等于表达式!=表达式双目运算符
    8  &按位与表达式&表达式 从左往右双目运算符
    9  ^按位异或表达式^表达式 从左往右 双目运算符
   10  |按位或表达式|表达式 从左往右双目运算符
   11&&逻辑与表达式&&表达式 从左往右双目运算符
   12||逻辑或表达式||表达式 从左往右双目运算符


   13

?:条件运算符表达式1? 表达式2: 表达式3 从右往左三目运算符












   14

=赋值运算符变量=表达式













 从右往左













双目运算符

/=除后再赋值变量/=表达式
*=乘后再赋值变量*=表达式
%=取余后再赋值变量%=表达式
+=加后再赋值变量+=表达式
-=减后再赋值变量-=表达式
<<=左移再赋值变量<<=表达式
>>=右移再赋值变量>>=表达式
&=按位与再赋值变量&=表达式
^=按位异或再赋值变量^=表达式
|=按位或再赋值变量|=表达式
    15
,逗号表达式表达式,表达式,…从左往右



本文固定URL:https://www.dotcpp.com/course/638

第一章 C语言的过去与未来
第二章 C语言快速入门
第三章 C语言的数据类型
第四章 C语言中的基本输入输出
第五章 运算符和表达式
第六章 C语句和程序流
第七章 函数
第八章 数组
第九章 指针
第十章 复合结构
第十一章 文件操作
第十二章 预处理
第十三章 位运算
Dotcpp在线编译      (登录可减少运行等待时间)