C语言:操作符总结

一、算数运算符

       +加     -减     *乘     /除      %取模

1.除法运算:若两个操作数都为整数则进行整数除法,若两个操作数有一个为浮点数则进行浮点数除法。

2.取模操作符的两个操作数都必须为整数。

二、移位操作符

       <<左移     >>右移

1.<<左移:移动二进制序列,向左移动,左边遗弃,右边补0

2.>>右移:①算数右移:移动二进制序列,向右移动,右边遗弃,左边用原该值的符号位补充

             ②逻辑右移:移动二进制序列,向右移动,右边遗弃,左边补0

      注:①计算机里存放的是数字的补码

                正数的原码,反码,补码都一样。

                00000000000000000000000000000001--数字1

                负数则不同:例如-1

                10000000000000000000000000000001--原码

                11111111111111111111111111111110--反码(原码按位取反就是反码)

                11111111111111111111111111111111--补码(反码加1就是补码)

             ②对于移位操作符,不要移动负数位

三、位操作符

       &按位与     | 按位或      ^按位异或

1.&按位与:按二进制位与,对应的二进制位有一个为0就是0

2.| 按位或:按二进制位或,对应的二进制位有一个为1就是1

3.^按位异或:按二进制位异或,对应的二进制位相同为0,相异为1

四、赋值操作符

       =等于:可连续使用

五、符合赋值符

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

       a=a+3  ==>  a+=3(这样写更加便捷)

六、单目运算符

       !逻辑反操作      -负值      +正值      &取地址      sizeof操作数的类型长度

       ~按位取反      --自减      ++自加      *解引用操作符       (类型)强制类型转换

1.sizeof①表达式里面的表达式不进行计算

            ②int arr[10]--->sizeof(arr)=sizeof(int [10])=10(数组也有类型)

2.++a:先增加,再运算    a++:先运算,再增加(--相同)

3.强制类型转换:int a=(int)3.14;

七、关系运算符

       >大于     <小于     >=大于等于     <=小于等于     !=判断不等于     ==判断等于

     //需要注意在判断等于时是两个等号。

八、逻辑操作符

1.&&逻辑与

    有一个为假,结果为假(如:1&&2-->1     0&&2-->0)

2.|| 逻辑或

    有一个为真,结果为真(如:1||2-->1     0||2-->1)

九、条件操作符

       exp1 ? exp2 : exp3

当exp1为真,结果为exp2;当exp1为假,结果为exp3

十、逗号表达式

       exp1,exp2,exp3,......,expN

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

十一、下标引用、函数调用和结构成员

1.下标引用 []

       操作数:一个数组名+一个索引值(如:int arr[10])

2.函数调用操作符()

       括号()里的操作数为传递给函数的参数

3.结构成员--->   .  结构体     ->结构体指针( (*p).name  相当于  p->name  )

  • 定义一个学生类型struct Stu(没有占据内存空间)。
  • Stu为结构体标签。
  • struct Stu s(这里的s为结构体变量)。
  • 通过struct Stu这个类型创建s变量的这个过程叫做实例化。
  • 若想要给结构体里的成员赋值我们可以采用以下方法:

           strcpy(s.name,“李四”);strcpy(s.sex,“男”);

           s.age=20;(整型变量可以直接放进去)

  • 结构体成员的访问-->s.name   s.age   s.sex
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值