Fork me on GitHub
打赏

C语言中的运算和运算符

一、运算符的优先级和结合性

1,优先级

运算符一览表中,运算符越靠上,优先级越高。

 

2,结合性

假如用O表示需要两个操作数的双目运算符,那么对于表达式aObOc:

左结合运算符会将表达式解释为  (aOb)Oc      【左结合性】

右结合运算符会将表达式解释为   aO(bOc)     【右结合性】

总结:遇到优先级相同的运算符时,结合性指明了表达式应从左往右运算还是从右往左运算。

 

二、运算符一览表

优先级

运算符

形式

名称

结合性

1

()

x(y)

函数调用运算符

1

[]

X[y]

下标运算符

1

.

x.y

.运算符(句点运算符)

1

->

x->y

->运算符(箭头运算符)

1

++

x++

后置递增运算符

1

--

y--

后置递减运算符

2

++

++x

前置递增运算符

2

--

--y

前置递减运算符

2

sizeof

sizeof x

sizeof运算符

2

&

&x

单目运算符&(取址运算符)

2

*

*x

单目运算符*(指针运算符)

2

+

+x

单目运算符+

2

-

-x

单目运算符-

2

~

~x

~运算符(按位求补运算符)

3

!

!x

逻辑非运算符

3

()

(x)y

类型转换运算符

4

*

x * y

双目运算符*

4

/

x / y

/运算符

4

%

x % y

%运算符

5

+

x + y

双目运算符+

5

-

x - y

双目运算符-

6

<< 

x << y

<<运算符

6

>> 

x >> y

>>运算符

7

x < y

<运算符

7

<=

x <= y

<=运算符

7

x > y

>运算符

7

>=

x >= y

>=运算符

8

==

x == y

==运算符

8

!=

x != y

!=运算符

9

&

x & y

按位与运算符

10

^

x ^ y

按位异或运算符

11

|

x | y

按位或运算符

12

&&

x && y

逻辑与运算符

13

||

x || y

逻辑或运算符

14

? :

x ? y : z

条件运算符

15

=

x = y

基本赋值运算符

15

+= -= *= /= <<= >>= &= ^= |=

 

复合赋值运算符

16

,

x , y

逗号运算符

 

posted @ 2018-03-08 11:19  Zoctopus_Zhang  阅读(1021)  评论(0编辑  收藏  举报
// function btn_donateClick() { var DivPopup = document.getElementById('Div_popup'); var DivMasklayer = document.getElementById('div_masklayer'); DivMasklayer.style.display = 'block'; DivPopup.style.display = 'block'; var h = Div_popup.clientHeight; with (Div_popup.style) { marginTop = -h / 2 + 'px'; } } function MasklayerClick() { var masklayer = document.getElementById('div_masklayer'); var divImg = document.getElementById("Div_popup"); masklayer.style.display = "none"; divImg.style.display = "none"; } setTimeout( function () { document.getElementById('div_masklayer').onclick = MasklayerClick; document.getElementById('btn_donate').onclick = btn_donateClick; var a_gzw = document.getElementById("guanzhuwo"); a_gzw.href = "javascript:void(0);"; $("#guanzhuwo").attr("onclick","follow('33513f9f-ba13-e011-ac81-842b2b196315');"); }, 900);