Dotcpp  >  编程教程  >  附录  >  C语言运算符大全(优先级与结合性表)

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语言中的基本输入输出
第五章 C语言运算符和表达式
第六章 C语句和程序流
第七章 C语言函数
第八章 C语言数组
第九章 C语言指针
第十章 C语言结构体和共用体
第十一章 C语言文件操作
第十二章 C语言预处理
第十三章 C语言位运算
第十四章 附录
Dotcpp在线编译      (登录可减少运行等待时间)