C语言的运算符的优先级:逻辑运算符、条件运算符、赋值运算符、关系运算符、算术运算符。它们之间的优先级

2024-11-11 03:51:53
推荐回答(5个)
回答1:

1、最高级:出现同级别运算符时的结合方向是从左往右(下面级别没写结合顺序时,默认是从左往右)。

( )圆括号

[ ]下标运算符号

->指向结构体成员运算符

.结构体成员运算符

2、第二级:!、~、++、--、-、(类型)、*、&、sizeof。

这一级都是单目运算符号,这一级的结合方向是从右向左。

比如出现*p++,这时*和++同级别,先算右边,再左边。

所以*p++等价于*(p++),而不是(*p)++。

3、第三级:+、-、*、/、%

这一级都是算术运算符,结合顺序和数学学习中一致的,先乘除取余数,后加减。

4、第四级:<<、>>

这是左移、右移运算符,位运算时可能需要用到。

5、第五级:<、<=、>、>=、!=、==

这些运算符也称为关系运算符,其中<、<=、>、>=高于!=、==。

6、第六级:&、^、|

这三个符号也是位运算符号,其中内优先级,&>^>|。

7、第七级:&&、||

逻辑与&&优先级大于逻辑或||。

8、第八级:?  :

也称为条件运算符号,是C语言中唯一的一个三目运算符,结合顺序是从右往左。

9、第九级:=、+=、-+、*=、/=、%=

这些运算符也叫做赋值运算符,除此之外,>>=、<<=、&=、^=、|=这些赋值运算符也在这一级别内,结合顺序是从右往左。

10、最低级:,

逗号运算符也称为顺序求值运算符,在C语言中,运算级别最低。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在vb2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。

回答2:

逻辑——算数——关系——条件判断——赋值

回答3:

这个可以找一本c++的书看一下,上面有一章就是专门介绍这个的,有个表,一目了然,便于记忆,希望你能多看看书!

回答4:

逻辑>算数>关系>条件判断>赋值

回答5:

一般而言,单目运算符优先级较高,赋值运算符优先级低。算术运算符优先级较高,关系和逻辑运算符优先级较低。多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。

恩,问这个问题的人太多了,懒得继续回答,直接贴上来自己看。。。

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[常量表达式]

左到右

()

圆括号

(表达式)/函数名(形参表)

.

成员选择(对象)

对象.成员名

->

成员选择(指针)

对象指针->成员名

2

-

负号运算符

-表达式

右到左

单目运算符

(类型)

强制类型转换

(数据类型)表达式

++

自增运算符

++变量名/变量名++

单目运算符

--

自减运算符

--变量名/变量名--

单目运算符

*

取值运算符

*指针变量

单目运算符

&

取地址运算符

&变量名

单目运算符

!

逻辑非运算符

!表达式

单目运算符

~

按位取反运算符

~表达式

单目运算符

sizeof

长度运算符

sizeof(表达式)

3

/



表达式/表达式

左到右

双目运算符

*



表达式*表达式

双目运算符

%

余数(取模)

整型表达式/整型表达式

双目运算符

4

+



表达式+表达式

左到右

双目运算符

-



表达式-表达式

双目运算符

5

<<

左移

变量<<表达式

左到右

双目运算符

>>

右移

变量>>表达式

双目运算符

6

>

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

双目运算符

<

小于

表达式<表达式

双目运算符

<=

小于等于

表达式<=表达式

双目运算符

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

双目运算符

8

&

按位与

表达式&表达式

左到右

双目运算符

9

^

按位异或

表达式^表达式

左到右

双目运算符

10

|

按位或

表达式|表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1? 表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左

/=

除后赋值

变量/=表达式

*=

乘后赋值

变量*=表达式

%=

取模后赋值

变量%=表达式

+=

加后赋值

变量+=表达式

-=

减后赋值

变量-=表达式

<<=

左移后赋值

变量<<=表达式

>>=

右移后赋值

变量>>=表达式

&=

按位与后赋值

变量&=表达式

^=

按位异或后赋值

变量^=表达式

|=

按位或后赋值

变量|=表达式

15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算

说明:

同一优先级的运算符,运算次序由结合方向所决定。

简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符