第 2 部分 运算成分
我们关于 C++ 的数据和存储就暂且只学这么多。其余的数据类型如指针和结构体将留到后续的章节继续完成。
现在我将开始讲解运算成分。C++ 运算成分的最重要概念是表达式。
表达式
表达式(Expression)是指定计算机进行运算的文本序列。之前我们一直提到的“简单的式子”就是一些简单的表达式。比如:
1 + 1
就是一个表达式。这个表达式指定计算机进行“一加一”这个运算。
表达式由两部分组成:运算符(Operator)和操作数(Operand)。运算符指定进行何种运算,操作符指定运算的对象。比如在上面的 1 + 1
这个表达式中, +
就是运算符,它指定计算机应该 执行加法运算。那么对谁做加法运算呢?这个表达式的操作数是两个 1
,因此就是对两个 1
做加法。
表达式由两部分组成这种说法是不严谨的。变量、字面量等也是表达式,它们被称作初等表达式(Primary expression,又译基本表达式)。只有非初等的表达式才包含运算符和操作数。
操作数可以是一个变量、一个字面量或者另外一个表达式。比如:
int a{0};
1 + 2; // 这里字面量 1 和 2 是操作数
a + 2; // 这里变量 a 和字面量 2 是操作数
1 + 1 + 2; // 这里表达式 1 + 1 和字面量 2 是操作数
// 注:表达式不包含分号;。
还有一点最值得注意:任何非空表达式都拥有一个结果。比如 1 + 1
这个表达式的结果为 2
。当变量 a
的值为 42
时,表达式 a * 2
的值为 84
。我们这一章学到的表达式都是非空表达式,所以他们都拥有一个结果。请在学习本章内容的时候,时刻回想这一点,想想这些表达式的结果是什么。有时候称表达式的结果为表达式的值,或者表达式的返回值。
运算符是表达式的核心。运算符的种类确定了表达式的种类、用法和结果。比如,加法运算符 +
和它的操作数组成的表达式称为加法表达式。因此接下来我们将按照运算符的类型来逐一学习这些表达式。