目录
运算符类型
| 运算符类型 | 作用 |
| 算术运算符 | 用于处理四则运算 |
| 赋值运算符 | 用于将表达式的值赋给变量 |
| 关系运算符 | 用于表达式的比较,并返回一个真值或假值 |
| 逻辑运算符 | 用于根据表达式的值返回真值或假值 |
| 位运算符 | 用于处理数据的位运算 |
| 逗号运算符 | 把多个表达式用逗号联接起来(或者说,把这些表分达式用逗号分开),构成 一个更大的表达式 |
| 条件运算符 | 第一个表达式作真/假检测,然后根据结果返回两外两个表达式中的一个 |
| sizeof运算符 | 用于求字节数长度 |
| 指针运算符 (&,*) | &取地址运算符 *间接运算符 |
| 点运算符 (.) | 点运算符 .的左边操作数是一个结果为 结构体的表达式 |
| 箭头运算符 (->) | 箭头运算符 -> 的左边的操作数是一个 指向结构体的指针 |
| [] 下标运算符 | 通过下标访问数组中的元素 |
- 单目运算符:只需要一个操作数
- 双目运算符:需要两个操作数
- 三目运算符:需要三个操作数
运算符的优先级
! > 算术运算符 > 关系运算符 > && > || > 条件运算符 > 赋值运算符 > 逗号运算符
运算符的结合性
运算符的结合性分为:
单目运算符:根据操作数在左还是右分为左结合和右结合
双/三目运算符:从左至右或者从右至左
算术运算符
C语言内置的算术运算符有如下几种:
| 运算符 | 术语 | 结合性 | 示例 | 结果 |
| + | ||||
| - | ||||
| * | ||||
| / | ||||
| % | 取模(取余) | 从左至右 | 10 % 3 | 1 |
| ++ | 前自增 | 右结合 | a=2; b=++a; | a=3; b=3; |
| ++ | 后自增 | 左结合 | a=2; b=a++; | a=3; b=2; |
| -- | 前自减 | 右结合 | a=2; b=--a; | a=1; b=1; |
| -- | 后自减 | 左结合 | a=2; b=a--; | a=1; b=2; |
- % 取模运算符的两个操作数只能为整数
- 前自增/前自减先计算后引用,后自增/后自减先引用后计算
赋值运算符
赋值表达式语句的目的是把值存储到内存上.用于存储值的数据存储区域统称为数据对象。
左值(lvalue):指用于标识一个特定的数据对象的名字或表达式。
- 可修改性,又称为可修改左值
- 是数据对象的标识符,应具有标识符的特性
- 左值不能为常量
右值(rvalue):指的是能赋给可修改的左值的量
- 右值可以是常量可以是变量
- 可以是任何可以产生一个值的表达式(当然任何表达式最终都有一个最终的值)
a=2; b=3;//a=2; b=3;
a=0; a+=2;//a=2;
a=5; a-=3;//a=2;
a=2; a*=2;//a=4;
a=4; a/=2;//a=2;
a=3; a%2;//a=1;
关系运算符
注意:赋值运算符"="和关系运算符“==”的区别
== 相等于 != 不等于 &n

&spm=1001.2101.3001.5002&articleId=144753238&d=1&t=3&u=3877c71e87dd48c089e4c8f85ca1a7f7)
9719

被折叠的 条评论
为什么被折叠?



