运算符初解

一. 什么是运算符?

  1. 运算符就是帮助我们完成各种运算需求的符号,例如我们从小就知道的加减乘除(+,-,×,÷)。
  2. 优先级与结合性
    我们算一道混合计算,都知道先算乘除,再算加减。同样在计算机中也需要一定的运算顺序。这里就考虑到了结合性。
    (以下资料源自网络)

二. 各种运算符简介

第一优先级 数组下标[],圆括号( ),成员选择(对象). ,成员选择(指针)->结合方向为左到右

运算符号python 运算符号的由来_运算符号python


第二优先级 负号运算符-,强制类型转换(type),自增运算符++,自减运算符–,(自加自减运算符需要考虑符号位置,放置的位置不同会导致最终的计算结果不同)取值运算符,取地址运算符&,逻辑非运算符!,按位取反运算符~,长度运算sizeof符,结合方向为右至左

运算符号python 运算符号的由来_赋值_02


第三优先级 除/,乘*,余数%,结合方向为左到右

运算符号python 运算符号的由来_优先级_03


第四优先级,加+,减-,结合方向为左到右

运算符号python 运算符号的由来_优先级_04


第五优先级,左移<<,右移>>,结合方向为左到右

运算符号python 运算符号的由来_优先级_05


第六优先级, 大于>,大于等于>=,小于<,小于等于<=,结合方向为左到右

运算符号python 运算符号的由来_运算符_06


第七优先级,等于==,不等于,结合方向为左到右

运算符号python 运算符号的由来_赋值_07


第八到十三优先级,按位与&,按位异或^,按位或| ,逻辑与&&,逻辑或|| 条件运算符(a?b:c)其中a需要为布尔值,注意得是条件运算结合方向为右到左

运算符号python 运算符号的由来_运算符号python_08


第十四优先级,赋值运算符=,除后赋值/=,乘后赋值*=,取模后赋值%=,加后赋值+=,减后赋值-=,左移后赋值<<=,右移后赋值>>=,按位与后赋值&=,按位异或后赋值^=,按位或后赋值|=,结合方向为右到左 (位运算占到多数)

运算符号python 运算符号的由来_运算符_09

三.优先级和结合性

优先级(纵向):是指在一个混合运算中,数值先与另外那个数值进行运算,例如先算乘法后算加法,有括号的先算括号内的内容。
结合性(横向):在实际运算中可能出现同一优先级的运算符,就需要考虑到,运算符的结合性,同样是为了指明运算顺序的性质。

优先级越高,运算顺序越靠前,结合性越靠左,运算顺序越靠前。(上图给出的图标从上至下就是已排列好的顺序)