C语言有哪些运算符?

Python026

C语言有哪些运算符?,第1张

下面按优先级从高到低的顺序总结一下各种运算符,每一条所列的各运算符具有相同的优先 级,对于同一优先级的多个运算符按什么顺序计算也有说明,双目运算符就简单地用“左结 合”或“右结合”来说明了。和指针有关的运算符* &->也在这里列出来了,以后再详细解释。

1 、标识符、常量、字符串和用()括号套起来的表达式是组成表达式的最基本单元,在运算中做 操作数,优先级最高。

2、后缀运算符,包括数组取下标[]、函数调用()、结构体取成员.、指向结构体的指针取成员- >、后缀自增++、后缀自减--。如果一个操作数后面有多个后缀,按照离操作数从近到远的顺序 (也就是从左到右)依次运算,比如a.name++,先算a.name,再++,这里的.name应该看成a的 一个后缀,而不是把. 看成双目运算符。

3、单目运算符,包括前缀自增++、前缀自减--、 sizeof、类型转换()、取地址运算&、指针间接 寻址*、正号+、负号-、按位取反~、逻辑非! 。如果一个操作数前面有多个前缀,按照离操作数 从近到远的顺序(也就是从右到左)依次运算,比如!~a,先算~a,再求!。

4、乘*、除/、模%运算符。这三个运算符是左结合的。 5、加+、减-运算符。左结合。

6、移位运算符<<和>>。左结合。

7、关系运算符<><= >=。左结合。

8、相等性运算符==和!=。左结合。

9、按位与&。左结合。

10、按位异或^。左结合。

11 、按位或|。左结合。

12、逻辑与&&。左结合。

13、逻辑或||。左结合。

14、条件运算符:?。在第 2 节 “if/else语句”讲过Dangling-else问题,条件运算符也有类似的问 题。例如a ? b : c ? d : e是看成(a ? b : c) ? d : e还是a ? b : (c ? d : e) ? C语言规 定是后者。

15、赋值=和各种复合赋值(*= /= %= += -= <<= >>= &= ^= |=)。右结合。

16、逗号运算符。左结合。

运算符的种类C语言的运算符可分为以下几类:

1.算术运算符

用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

2.关系运算符

用于比较运算。包括大于(>)、小于(<)、等于(==)、

大于等于(>=)、小于等于(<=)和不等于(!=)六种。

3.逻辑运算符

用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

4.位操作运算符

参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

5.赋值运算符

用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

6.条件运算符

这是一个三目运算符,用于条件求值(?:)。

7.逗号运算符

用于把若干表达式组合成一个表达式(,)。

8.指针运算符

用于取内容(*)和取地址(&)二种运算。

9.求字节数运算符

用于计算数据类型所占的字节数(sizeof)。

10.特殊运算符

有括号(),下标[],成员(→,.)等几种。

C语言运算符是说明特定操作的符号,它是构造C语言表达式的工具 。C语言的运算是非常丰富的,除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理。常见的运算符有三大类:算术运算符、关系运算符与逻辑运算符,另外,还有一些用于完成特殊任务的运算符,比如位运算、赋值运算符等等。

算术运算符是指:+、—、*、/、%(求余)、++(自增)、--(自减)七种。

自增(++)和自减(--)都有前缀和后缀之分:

在位运算中,是以输入整形变量的二进制(32位)进行运算的,其中有原码、反码和补码。

位运算符:|、&、~、^、<<、>>六种

赋值运算符有:=、+=、-=、/=、*=、%=、&=、|=、^=、>>=、<<=十一种。

逻辑运算符:&&、||、!三种。

&&:并且,事件一&&事件二,两个事件都成立时,整个事件才成立;

||:或,事件一||事件二,两个事件有一个事件成立,整个事件就成立;

!:非,事件不成立,为真。

关系运算符:<、<=、>、>=、==、!=共六种。

关系运算符所得的结果是一个逻辑值,在计算机中逻辑值分别为0和1,若果这个事实的逻辑是真的,那么逻辑结果为1,反之则为0。

条件?语句1:语句2

功能分析:如果条件成立,就执行语句1,否则执行语句2。

还有一些其他的运算符,比如逗号运算符,括号运算符等等,都是相对简单的,自己看一下都是可以理解,并且能做的,因此在这里也不一一进行解释说明了。