学习操作符笔记

正数:原码=反码=补码

负数:原码—按位取反(符号位不变)à反码—加一—>补码

在内存中,是以补码的形式储存的。

1.操作符分类

算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员

2.算数操作符(+ - * / %)

(1)除了%操作符至海外,其他几个操作符可以作用于整数和浮点数

(2)对于/,如果两个操作数都为整数,执行整数除法。只要有浮点数就执行浮点数除法。

(3)%操作符,两个操作数必须是整数。

3.位移操作符(对补码进行操作)

<<左移操作符:左边抛弃,右边补0。

>>右移操作符:(1)逻辑位移—左边用0填充,右边丢弃

              (2)算数位移—左边用原该值得符号位填充,右边丢弃

注意:(1)若操作数没有被赋值,单纯的位移不会发生变化。

     (2)不可移动负位数。如>>-1

4.位操作符(两个操作数)

按位与:&,有0则为0,双方同时为1才取1.

按位或:|,有1则为1,双方同时为0才为0.

按位异或:^,相同为0,相异为1.(1)a^a=0  (2)0^a=a   (3)异或是支持交换律的只针对整数。                       a^a^b==a    b^a^b=a.(这种方法不提倡)

5.赋值操作符

6.复合赋值负

7.单目操作符(只有一个操作数)

!逻辑反操作符  +  -  &  sizeof  ~  --  ++  *  (类型)

sizeof后面的()可以省略。     

8.关系操作符

9.逻辑操作符

&& 逻辑与    ||逻辑或

#include

int main()

{  

 int i = 0,a=0,b=2,c =3,d=4;

   i = a++ && ++b && d++;  

  //i = a++||++b||d++;  

 printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);  

  return 0;

}  结果为1 2 3 4.。      因为a==0,后面的就不执行了,因此只有a++。

10.条件操作符(三目操作符)

exp1 ? exp2 : exp3

真    计算   不计算

假    不计算  计算

11.逗号表达式

exp1 , exp2 , exp3,……..

逗号表达式,就是用逗号隔开的多个表达式。

逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。

12.

1.下标引用操作符[ ],

2.函数调用操作符( )

3.访问一个结构的成员   .    结构体.成员名         ->    结构体指针->成员名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值