运算、程序
运算符与表达式
一、常用
类型 | 作用 |
---|---|
算术 | 四则运算 |
赋值 | 幅值 |
比较 | 比较表达式,返回真或假 |
逻辑 | 据表达式的值返回真假 |
位 | 数据位运算 |
sizeof | 求字节数长度 |
1.算术运算符
自增自减
可能会出现二义性:b = ++a + --a + a++?
a++;//后自增是在表达式之后再++
++b;//前自增是在表达式之前进行++
b = ++a * 10;//先自增再乘10(10(a + 1))
b = a++ * 10;//先乘10再自增(10a + 1)
2.赋值运算符
加号在前是因为怕误解成正负号
//a = a + 5,减法一样
a += 5
//a = a % 5,乘除一样
a %= 5
3.比较运算符
==,!=,这里右边优先级大于左边<,>,<=,>=
4.逻辑运算符
!,&&,|| 非,与,或
非运算高于与高于或
5.逗号运算符
取最后一个值
c = (a,b);//最终c = b
6.运算符优先级别
单目(!,++)运算符高于双目运算符,双目运算符即有两个运算对象(&&)
二、类型转换
1.自动转换
由编译器自动完成
2.强制转换
高类型向低类型转换,会精度降低,不会四舍五入
sum = (int)p * w;