第14课【操作符】定义 规则

本文详细介绍了C语言中的算术和位操作符,包括除法、取模、移位、位操作及赋值操作符的使用规则。特别强调了整型提升的概念,即在运算中较小的整型数据会被提升为int或unsigned int类型。此外,还讲解了条件操作符和逻辑操作符的短路现象。
摘要由CSDN通过智能技术生成

基本知识框架

在这里插入图片描述
在这里插入图片描述

课堂笔记

  • 关于算术操作符
    • 在进行除法时,/ 除法操作符得到的是商,% 取模操作符得到的是余数
    • % 取模操作符只能用于整型数据,其他的算术操作符既可以用于整型数据也可以用于浮点型数据
    • / 除法操作符使用时,两个操作数如果是整数,则结果为整数,如果其中一个数为浮点数,则结果为浮点数
  • 关于移位操作符
    • 移位操作符是对一个数的二进制形式进行操作
    • 使用左移操作符进行左移操作时,左边舍弃,右边直接补0;使用右移操作符进行右移操作时,有两种右移方式:1、算术右移:左边以符号位补齐,右边直接舍弃。2、逻辑右移:左边直接补0,右边舍弃
    • 一个数左移一位相当于自乘以2,一个数右移相当于自除以2
    • 左右移负数个位是未定义的危险行为
  • 关于位操作符
    • 位操作符只能用于整型数据
  • 关于赋值操作符
    • 赋值操作符可以连续赋值,但是一般不推荐使用
    • 复合赋值操作符可以使得代码更简洁
    • 赋值操作符的左侧不能是表达式
  • 关于单目操作符
    • ! 逻辑反操作符的操作数非0时,得到的的结果为0,操作数是0时,得到的结果是1
    • sizeof操作符可以用于求变量的大小,数据类型的大小,数组的大小
    • 注意自加++和自减–操作符在前置时是先进行变量自加自减,再执行之后的操作,后置时是先执行操作,变量再自加或自减
  • 关于条件操作符
    • 注意!=不等于操作符和==等等操作符是用于判断不相等和相等的
  • 关于逻辑操作符
    • 逻辑与和逻辑或操作符最后的判断结果是0或1
    • 逻辑与和逻辑或操作符存在短路现象,具体表现是,当逻辑与左侧表达式结果为0时,不计算右侧表达式,直接得出结果为0;当逻辑或左侧表达式结果为1时,不计算右侧表达式,直接得出结果为1
  • 关于条件操作符
    • 用法:exp1?exp2:exp3,根据exp1表达式的真假进行输出,真输出exp2,假输出exp3
  • 关于逗号表达式
    • 用法:exp1,exp2,exp3…expN,表达式由1 到N顺序执行,整个逗号表达式的结果为expN的计算结果
  • 关于下标引用,函数调用和结构成员
    • 函数调用时,实参传递给形参的结果会根据形参的数据类型进行隐式类型转换
    • 在进行结构体成员调用时,有两种方法:1、通过 . 操作符。2、通过结构体指针,并配合->操作符
  • 关于问题表达式
    • 在写代码时,要确保写出的的表达式,有唯一确定的计算路径,从而确保得到想要的结果,否则就是问题表达式
  • 关于其它
    • 整型提升的意义:表达式的整型运算要在CPU的相应运算器件内进行,CPU内的整型运算器ALU的操作数的字节长度一般就是int类型的字节长度,同时也是CPU通用寄存器的储存长度。因此当两个char类型的数据相加时,在CPU执行时实际上也要先转换成CPU内整型操作数的标准长度。通用CPU是难以实现两个8比特的数据直接相加运算。所以表达式中各种长度的可能小于int长度的整型值,都必须先转换为int或unsigned int,然后才能送到CPU去执行运算的

基本知识框架Xmind资源下载

链接: 资源下载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值