C语言运算符

目录

算术运算符

关系运算符

逻辑运算符

位运算符

赋值运算符

特殊运算符

运算符的优先级

 


算术运算符

运算符

描述

实例

+

加法运算符

int a = 5 + 5;

int b = a + 5;

-

减法运算符,负值运算符

int a = 10 -5;

int b = -5;

*

乘法

int a = 3 * 5;

int b = a * 2;

/

除法(得到商)

float a = 10.0 / 4;

float b = 10 / 4;

%

取余(得到余数)

int a = 5 % 2;

int b = 2 % 5;

++

自增

int a = 2;

int b = a ++;

int c = ++ a;

--

自减

int a = 5;

int b = a --;

int c = -- a;

关系运算符

运算符

描述

实例

==

检查两个操作数的值是否相等,如果相等则表达式的值为真。

a == b

!=

检查两个操作数的值是否不相等,如果不相等则表达式的值为真。

a != b

>

检查左操作数的值是否大于右操作数的值,如果是则表达式的值为真。

a > b

<

检查左操作数的值是否小于右操作数的值,如果是则表达式的值为真。

a < b

>=

检查左操作数的值是否大于或者等于右操作数的值,如果是则表达式的值为真。

a >= b

<=

检查左操作数的值是否小于或等于右操作数的值,如果是则表达式的值为真。

a <= b

逻辑运算符

运算符

描述

实例

&&

逻辑与运算符。如果两个操作数都为真,则表达式的值为真。

a && b

||

逻辑或运算符。两个操作数中有一个为真,则表达式的值为真。

a || b

!

逻辑非运算符。如果操作数为真,则表达式的值为假;如果操作数为假,则表达式的值为真。

!a

 

说明:

利用!!作用于一个操作数,可以得到取值只有0和1的表达式的值。

位运算符

运算符

描述

实例

&

按位与运算符

a & b

|

按位或运算符

a | b

~

按位取反运算符

~ a

^

异或运算符

a ^ b

<<

左移运算符。将左操作数的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。

a << n

>>

右移运算符。将左操作数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。

a >> n

 

说明:

<<和>>运算符作用于整数相当于乘以或者除以2^n,不能作用于浮点数。

赋值运算符

运算符

描述

实例

=

把右操作数的值赋给左操作数

a = 2;

+=

把右操作数加上左操作数的结果赋值给左操作数

a += 2;

-=

把左操作数减去右操作数的结果赋值给左操作数

a -= 2;

*=

把右操作数乘以左操作数的结果赋值给左操作数

a *= 2;

/=

把左操作数除以右操作数的结果赋值给左操作数

a /= 2;

%=

把左操作数除以右操作数的余数赋值给左操作数

a %= 2;

<<=

把左操作数左移右操作数的位数的结果赋值给左边操作数

a <<= 2;

>>=

把左操作数右移右操作数的位数的结果赋值给左边操作数

a >>= 2;

&=

把左右操作数按位与的结果赋值给左操作数

a &= b;

|=

把左右操作数按位或的结果赋值给左操作数

a |= b;

^=

把左右操作数按异或的结果赋值给左操作数

a ^= b;

特殊运算符

运算符

描述

实例

sizeof()

获取变量或类型所占用的内存字节数

sizeof(a);//返回变量a的字节数

sizeof(int);//返回类型int的字节数

&

取地址运算符

&a;//返回变量a的内存地址

*

取值运算符

*a;//返回变量a的内存地址存储的值

? :

条件运算符

(a > 0 )? (b = 1) : (b = 0);//如果a大于0则b赋值1,否则b赋值0

运算符的优先级

优先级

运算符

描述

结合方向

1

[ ]

数组下标

 

从左到右

( )

圆括号。(表达式);函数名(形参)

.

成员选择(结构体变量)

->

成员选择(结构体指针)

2

-

负号运算符

从右到左

( )

强制类型转换

++

自增运算符

--

自减运算符

*

取值运算符

&

取地址运算符

逻辑非运算符

~

按位取反运算符

sizeof( )

获取变量或者类型占用的字节数

3

*

乘法运算符

从左到右

/

除法运算符

%

取余运算符

4

+

加法运算符

从左到右

-

减法运算符

5

<<

左移运算符

从左到右

>>

右移运算符

6

>

大于

从左到右

>=

大于等于

<

小于

<=

小于等于

7

==

等于

从左到右

!=

不等于

8

&

按位与

从左到右

9

^

异或

从左到右

10

|

按位或

从左到右

11

&&

逻辑与

从左到右

12

||

逻辑或

从左到右

13

? :

条件运算符

从右到左

14

=

赋值运算符

从右到左

+=

加后赋值

-=

减后赋值

*=

乘后赋值

/=

除后赋值

%=

取余后赋值

<<=

左移后赋值

>>=

右移后赋值

&=

按位与后赋值

^=

异或后赋值

|=

按位或后赋值

15

,

逗号运算符

从左到右

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值