操作符与表达式 part 1

  • 表达式是C语言的主体,在C语言中表达式由“操作符”与“操作数”两部分构成。而操作数可以是一个,也可以是多个。操作符则可划分为“算数操作符、位移操作符、位操作符、赋值操作符、复合赋值操作符、单目操作符、关系操作符、逻辑操作符、条件(三目)操作符、以及逗号、下标引用、函数调用和结构成员等。

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

注意: ‘%’取模(余)操作符的两端操作数必须都是int型(整数)


  •                            二 、位移操作符:<<(左移)、>>(右移)

在学位移操作符时,必须简单了解数据的存储方式,如:整数在计算机中是以其补码存储的。

正整数原码、反码、补码均相同;而负整数反码是在其原码的基础上,符号位不变,其余各位按位取反,补码则是在反码的基础上加1.

1.<<(左移):丢弃高位,低位补零

 

例如:1和-1在内存中的分布(补码)

1:  00000000 00000000 00000000 00000001        -1:  11111111 11111111 11111111 11111111

     00000000 00000000 00000000 00010000              11111111 11111111 11111111 11110000

2.>>(右移):正数:丢弃低位,高位补零

                         负数 : 1>:算术右移,丢弃低位,高位补壹

                                      2>:逻辑右移,丢弃低位,高位补零

 例如:1和-1在内存中的分布(补码)

1:  00000000 00000000 00000000 00000001        -1:  11111111 11111111 11111111 11111111

     00000000 00000000 00000000 00000000              11111111 11111111 11111111 11111111


  •                    三、位操作符:&(按位与)、|(按位或)、^(按位异或)

1. &(按位与):只有当对应位都为‘1’时,按位与的结果才是‘1’;否则为‘0’。(清零效果)

2. |(按位或):对应位只要有‘1’时,按位或的结果就是‘1’;否则为‘0’。

3. ^(按位异或):对应位相同为‘0’;相异则为‘1’。(在不借助中间变量的情况下实现交换)

 


  • 四、赋值操作符: =(注意:区分‘=’与‘==’)与复合赋值操作符:+=、-=、*=、/=、%=

 此外还有:<<=、>>=、&=、|=、^=


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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值