C语言学习笔记之操作符篇

目录

算术运算符

移位操作符

整型在内存中的存储(补充知识)

​编辑左移操作符

右移操作符

位操作符

赋值操作符

复合赋值操作符

单目操作符

关系操作符

逻辑操作符

&& 与 || 的计算特点

条件操作符

逗号表达式

下标引用操作符

函数调用操作符

结构体访问操作符


算术运算符

        +        -        *        /        %

        1. % 操作符的两个操作数必须为整型。返回的是整除之后的余数。

        2.除了 % 操作符之外,其他的几个操作符可以作用于整型和浮点型。

        3.对于 / 操作符如果两个操作数都为整型,执行整数除法(舍弃余数返回整数)。而只要有浮点型执行的就是浮点数除法。

        4.剩余算术操作符用法与数学上相同。

移位操作符

        移位操作符移动的是变量的二进制位,因为整型在内存中存储的是补码,因此移动的是补码的二进制位

整型在内存中的存储(补充知识)

        整型数据在内存中以二进制存储,且存储的是补码。对于有符号整型数据来说,最高位是符号位,并不是有效数据,0表示正数,1表示负数。

        无符号整型数据的每一位都是有效数据。

        正数的原码,反码,补码相同。

        负数的反码是原码除了符号位外,其它位按位取反获得,补码是反码加1获得。

左移操作符

        左边抛弃、右边补0。

右移操作符

        C语言的右移运算规则有两种:

        1. 逻辑右移:左边用0填充,右边丢弃。
        2. 算术右移:左边用原该值的符号位填充,右边丢弃。

        至于要采用哪种右移规则,C语言并没有严格规定,具体取决于编译器的选择。

        C语言并没有定义移动负数位的规则,因此不要移动负数位!

位操作符

        顾名思义,位操作符操作的是整型数据存储在内存的二进制位(补码)。

        &:比较的两个整型数据的二进制位都为1则为1,否则为0。示例如下:

        |:比较的两个整型数据的二进制位有一个为1则为1,否则为0。示例如下:

        ^:比较的两个整型数据的二进制位相异为1,相同为0。示例如下:

赋值操作符

        =:可以给变量赋值的操作符。

复合赋值操作符

单目操作符

        只需要一个操作数的操作符。

        在C语言中,非0为真,0为假。 ! 的作用是逆转真假,真变假(0),假变真(1)。

        “-”和“+”分别表示值的正负,因为默认为正,因此“+”的应用场景有限。

        &可以取出数据的地址(第一个字节的地址(低地址))

        sizeof是一个操作符而不是函数,作用是计算数据类型的大小(字节)。

        ~ 用于将数据存储在内存中的二进制位(补码)的1置0,0置1。

        前置--(++)是先 -1(+1) 再使用,后置--(++)先使用再-1(+1)

        * 间接访问操作符(解引用操作符):

        (类型):强制类型转换。

关系操作符

        新手为避免将 == 写成 =,可以采用如下方法:

逻辑操作符

        && 两侧的表达式或变量或常量都为真,则表达式结果为真,否则为假。

         || 两侧的表达式或变量或常量只要有一侧为真,则表达式结果为真,否则为假。

注意与位操作符 & 和 | 做区分!

&& 与 || 的计算特点

        当&& 左侧计算结果为0时,右侧便不会运算,整个表达式结果为假。

        当|| 左侧计算结果为非0时,右侧便不会运算,整个表达式结果为真(1)。

条件操作符

        当exp1的值为真时,exp2的结果作为整个表达式的结果;反之exp3的结果作为整个表达式的结果。

逗号表达式

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

下标引用操作符

       [ ]  操作数:一个数组名 + 一个索引值

函数调用操作符

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

结构体访问操作符

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值