初识运算符
运算符类似于数学计算中的加减乘除符号,用于在对象之间进行计算或比较,参与其中的对象叫做运算对象,一个或多个运算对象构成了表达式。运算符可以沟通起不同的运算对象,进而构成更加复杂的表达式,参与更加复杂的计算。
C++中的运算符大致可以分为三类运算符:一元运算符、二元运算符和三元运算符。
一元运算符作用于一个运算对象,以此类推,二元运算符作用于两个运算对象,三元运算符作用与三个运算符。数学中有运算的先后顺序,C++也不例外,C++也分运算符的优先级,往往运算符优先级是:一元运算符 > 二元运算符 > 三元运算符。同元运算符也有优先级差别,例如乘除优先级大于加减运算符。当运算优先级相同时,采用从左到右顺序计算。
int num = 2 + 3 + 3 * 6 + 12;
// 这里先计算2+3的值为5,再计算3*6的值为18,再计算5+18,最后将结果与12相加作为最后结果。
这里需要注意的是括号可以无视运算优先级,用括号括起来那的部分被当作一个整体(独立部分)参与运算,也就不存在运算优先级(但是在括号内部仍然遵循运算符优先级)。合理运用括号可以大大提高程序可读性,减少错误。
int a = 2 + 3 * 12 / 34 + 5 - 1 / 2 + 23;
// 这里等价于 int a = 2 + ((3 * 12) / 34) + 5 - (1 / 2) + 23;
int b = 2 + 3 * 2;
// 使用括号也需要注意使用的位置,比如下面会得到完全不同的结果
int c = (2 + 3) * 2; // 10
int d = (<