目录
一、算数运算符
| 运算符 | 功能 |
| + | 加法。1+2; a+b; a+1; |
| - | 减法。1-2; a-b; a-1; |
| * | 乘法。1*2; a*b; a*1; |
| / | 除法。1/2; a/b; a/2; |
| % | 求余。10%3; a%3; |
| ++ | 自加1。a++:先用后加;++a:先加后用。 可以是整数或浮点 |
| -- | 自减1。a--:先用后减;--a:先减在用。 可以是整数或浮点 |
- 除法中除数不能为0 ,否则Floating point exception (core dumped)
- 获得除法运算中的余数时,注意只能是整数:int, short, char, long
二、赋值运算符
| 运算符 | 等价表达式 | 功能 |
| = | 把右值的的内容,复制到左值的内存中的单元 | |
| += | a = a + b | 将 a 与 b 的和赋给 a |
| -= | a = a - b | 将 a 与 b 的差赋给 a |
| *= | a = a * b | 将 a 与 b 的积赋给 a |
| /= | a = a / b | 将 a 除以 b 的商赋给 a(整数除法取整) |
| %= | a = a % b | 将 a 除以 b 的余数赋给 a(仅用于整数) |
- 能够放在等号右边的值称为右值,右值可以是变量、常量、表达式
- 能够放在等号左边的值称为左值,左值只能是变量,不能为常量或者表达式
- 赋值运算符左右两端类型不一致,处理方式如下:
- 浮点数类型赋值给整数类型,舍弃小数点后的精度
- 整数类型赋值给浮点数类型,小数点扩0
- 如果左右两边空间大小一致,则直接完成空间拷贝
- 如果小数据放入大空间,需要补位,有符号数补符号位,无符号补0
- 如果大数据放入小空间,直接截取数据低位
- 右值是一个unsigned short ,左值是一个short,左值有可能是负值
short a = 0;
a =10;
unsigned short b = 49152;
a = b; // 注意,这个时候a的值 就是一个负值了
三、逗号运算符
由逗号运算符连接的式子称为逗号表达式
int num = 0;
int a = 10;
int b = 5;
int c = 3;
num = (a+b, a-b, a+c, c+b); // num = 8
从左到右依次执行,将最后一部分逗号表达式的结果作为整体的结果。
四、sizeof运算符
- 作用:获得表达式、变量、类型等在内存中占用内存的大小。单位是字节。
- 使用:sizeof(变量);sizeof(类型);sizeof(表达式);
五、运算符优先级


规则:
- 括号 > 单目 > 双目 > 三目 > 赋值 > 逗号
- 算数运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符

1万+

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



