算数运算(适用于double和int类型)
-
运算符
+(加)、-(减)、*(乘)、/(除)、%(取模,整除后的余数) -
注意事项
1、整数进行除法运算时,如果分母为0,则程序异常退出
2、浮点数进行除法运算时,如果分母为0.0,将得到inf(infinite,无穷大)
3、两个整数进行除法运算时,将舍去小数部分,得到一个整数
4、整数与浮点数进行除法运算时,得到的结果是浮点数
5、在整数前面加(float)或(double)可以将整数转换为float或double类型
6、取模运算只能用于整数(分母也不能为0)
自增和自减
++变量名:先将变量值加1,然后再执行表达式
变量名++:先执行表达式,再把变量的值加1
–变量名:先把变量值减1,然后再执行表达式
变量名–:先执行表达式,再把变量的减1
赋值运算
=:将右边操作数的值赋值给左边操作数
+=(加且赋值运算符):把右边的操作数加上左边的操作数的结果赋值给左边的操作数
-=(减且赋值运算符):把左边操作数减去右边操作数的结果赋值给左边操作数。
*=(乘且赋值运算符):把右边的操作数乘以左边操作数的结果赋值给左边操作数。
/=(除且赋值运算符):把左边操作数乘以右边操作数的结果赋值给左边操作数。
%=(求余数且赋值运算符):求两个操作数的模赋值给左边操作数,浮点数不适用取余数。
初始化赋值
- 等效的几种赋值方式(不同的方式有助于提升效率):
- int a=10;
- int b=(10);
- int c(10);
- int e={10};
- int f{10};
- 注意:在Linux平台下,编译需要加-std=c++11参数
关系运算
==(等于)、!=(不等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)
- 注意:
关系运算符的两边可以是数值,也可以表达式;
用std::cout输出关系运算表达式时,关系表达式要加括号;
关系运算也适用于字符串(string),字符串常用的关系运算是==和!=,其他基本上不用。
逻辑运算
- &&(逻辑与):如果a和b都为真,则结果为真,否则为假
- ||(逻辑或):如果a和b有一个为真,则结果为真,二者都为假时,结果为假
- !(逻辑非):如果a为假,则!a为真;如果a为真,则!a为假
逗号运算
把一行语句中的多个表达式连接起来,程序将从左到右执行表达式。
-
语法:
表达式一,表达式二,……,表达式n; -
逗号运算常用于声明多个变量。
int a,b;
int a=10,b=20; -
也可用于其他语句中,但是,逗号运算符是所有运算符中级别最低的,以下两个表达式的效果是不同的。
int a,b;
b=a=2,a * 2;
b=(a=2,a * 2);//括号的优先级高于其他
运算符优先级
-
操作符优先级相同时,根据结合律决定执行顺序
a/b%c :从左到右
a=b=c :从右到左 -
各类运算符的优先级