1.
2.C语言中的运算符
├── 表达式
│ ├── 定义:由操作数和运算符组成的式子,用于返回一个确定值
│ ├── 操作数:参与运算的数据
│ │ ├── 常量:如3+5
│ │ ├── 变量:如a+5
│ │ └── 表达式:如3 + x*2
│ ├── 运算符:表示某种计算方法的符号
│ ├── 结果为右值
│ ├── 左值和右值
│ │ ├── 右值(rvalue):只能放在等号右侧的值
│ │ ├── 左值(lvalue):既能放在等号左侧也能放在右侧的值
│ └── 支持的运算符种类:单目、算术、关系、逻辑、条件表达式、赋值、逗号
├── 赋值运算符
│ ├── 概念:将右侧的值赋给左侧的变量
│ ├── 注意事项
│ │ ├── 左侧必须为左值
│ │ ├── 右侧可以是左值或右值
│ │ ├── 赋值运算有方向
│ │ ├── 结果为右值
│ │ └── 多个赋值运算由右向左结合
│ ├── 分类
│ │ ├── 普通赋值:=
│ │ └── 复合赋值:+=、-=、*=、/=、%=等
├── 算术运算符
│ ├── 功能:执行算术计算
│ ├── 种类:+、-、*、/、%
│ ├── 优先级:乘除模高于加减,同优先级由左向右结合
│ ├── 除运算
│ │ ├── 无实型数据:结果为商的整数部分
│ │ ├── 有实型数据:结果为小数
│ │ └── 整数除以10:相当于砍掉个位数
│ └── 模运算(%)
│ ├── 取余运算,结果为余数
│ ├── 两侧必须为整数
│ ├── 一个数对N取余结果为[0, N-1]
│ └── 一个数对10取余:得到个位数
├── 关系运算符
│ ├── 功能:判断两个操作数大小关系
│ ├── 种类:>、<、==、>=、<=、!=
│ ├── 结果:关系成立为1,不成立为0
│ └── 多个关系运算由左向右结合
├── 逻辑运算符
│ ├── 概念:表示两个操作数之间的逻辑关系
│ ├── 种类:&&、||、!
│ ├── 结果:逻辑成立返回1,否则返回0
│ ├── 真值表
│ ├── 短路状态
│ │ ├── 逻辑与:全真则真,有假则假
│ │ └── 逻辑或:有真则真,全假则假
│ └── 优先级:逻辑非高优先级
├── 自增和自减运算(++、--)
│ ├── 概念:对变量进行重新赋值
│ ├── 种类:前置和后置
│ ├── 优先级:单目运算符,高优先级
│ └── 注意:只能对左值进行操作
└── 条件表达式
├── 概念:C语言中唯一的三目运算符
├── 使用格式:表达式1 ? 表达式2 : 表达式3
└── 结果:执行的表达式2或表达式3的结果