c语言中的操作符详解

一、操作符的分类

1. 操作符的分类?

• 算术操作符: + 、- 、* 、/ 、%

• 移位操作符:? << >> ?

• 位操作符:???? & | ^ ?

• 赋值操作符:? = 、+= 、 -= 、 *= 、 /= 、%= 、<<= 、>>= 、&= 、|= 、^= ?

• 单⽬操作符: !、++、--、&、*、+、-、~ 、sizeof、(类型)

• 关系操作符:? > 、>= 、< 、<= 、 == 、 != ?

• 逻辑操作符: && 、||

• 条件操作符: ? :

• 逗号表达式: ,

• 下标引⽤: []

• 函数调⽤: ()

• 结构成员访问: . 、->

二、进制之间的转换

1.其他进制转十进制

我们通常使用“权位展开求和法”,什么意思呢?例如我想要将一个二进制转化为十进制,现有二进制1010,将他展开1 0 1 0,从右往左开始数,第一个乘以2的0次方,第二个乘以二的1次方,所以0*2的0次方+1*2的1次方+0*2的2次方+1*2的3次方,最终的结果为10,以此类推,八进制和十六进制也是一样,这里小编就不一一举例了

2.其他进制转二进制

---十进制转二进制

这里我们一般使用“除2取余法”,将十进制的数一直除2,最后将得到的余数倒着列出来就是这个数的二进制表现形式,就以上面的10来举例,10除以二余0得5,5/2=2……1,2/2=1……0,1/2=0……1,最后倒着列出来1010,就是10的二进制表现形式。

---八进制和十六进制转二进制

这两个的转化有相同之处,所以我放在一起说,首先是八进制,因为0~7都可以用二进制来表示,所以我们只需要将八进制展开,找到对应的二进制然后组合就行了,我这里的说法是为了方便大家理解,并不是专业的说法,我来举个例子,17把他展开就是1和 7 ,1对应的二进制是001,7对应的二进制是111,所以17的二进制是111001,注意这里的17是八进制而不是十进制,十六进制也是一样的,不过十六进制要转化成四位,也就是这里的1要对应成0001,7对应0111,组合就是01110001。

三、原码,反码,补码

整数的2进制表⽰⽅法有三种,即原码、反码和补码。

有符号整数的三种表⽰⽅法均有符号位和数值位两部分,2进制序列中,最⾼位的1位是被当做符号

位,剩余的都是数值位。

符号位都是⽤0表⽰“正”,⽤1表⽰“负”。?

正整数的原、反、补码都相同。

负整数的三种表⽰⽅法各不相同。

原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。

反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。

补码:反码加1得到补码

注意:从补码变回原码有两种途径,一是原路返回,二十取反加1

四、移位操作符

1.左移操作符

批注其实这里和十进制转二进制也有一定的关系,想了解的可以自己去问一下ai

2.右移操作符

向右移动一位,往左边补,这里有两种补法,一般是负数就补1,正数就补0,第二种就是只补0,一般看编译器,正常是第一种

注意:操作数只能是整数

五、位操作符

下面我直接用代码给大家解释

1.按位与(&)

2.按位或

 

三.按位异或 

4.按位取反 

六、单目操作符


单⽬操作符有这些:
!、++、--、&、*、+、-、~ 、sizeof、(类型) 

七、逗号表达式

逗号表达式,就是⽤逗号隔开的多个表达式。
逗号表达式,从左向右依次执⾏。整个表达式的结果是最后⼀个表达式的结果。

 八、下标访问和函数调用操作符

下标引⽤操作符[ ]


操作数:⼀个数组名+⼀个索引值(下标)   例如arr[1],arr是数组名,1是下标

函数调用操作符()

接受⼀个或者多个操作数:第⼀个操作数是函数名,剩余的操作数就是传递给函数的参数。

九、结构体访问操作符

 

十、操作符的运算优先级

注意:我这里只给大家说一下常见的,罕见的遇到了就去查表,千万不要想着背

运算符的优先级顺序很多,下⾯是部分运算符的优先级顺序(按照优先级从⾼到低排列),建议⼤概
记住这些操作符的优先级就⾏,其他操作符在使⽤的时候查看下⾯表格就可以了。
• 圆括号( () )
• ⾃增运算符( ++ ),⾃减运算符( -- )
• 单⽬运算符( + 和 - )
• 乘法( * ),除法( / )
• 加法( + ),减法( - )
• 关系运算符( < 、 > 等)
• 赋值运算符( = )

到这里c语言中的操作符基本都介绍了,至于怎么运用小编过一两天后会再次编写,这里只介绍操作符和他的作用,例题会写到下一篇博客 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值