第一节 · 简单的数学课 · 初识表达式

首先我们来看一道极为简单的计算题:

1 + 1 = ?

我相信你读完这行算式的瞬间,就知道它等于 2 了。

那么,计算机是否也能做到瞬间算出它的结果呢?

当然能了!我们来试试用 C++ 让计算机算一算:

#include <iostream>
using namespace std;
int main()
{
    cout << 1 + 1 << endl;
    return 0;
}

我们在之前学到过,cout用于向控制台窗口写上你想写的内容,endl用于换行与刷新内容。如果你成功地执行了这道程序,可以看到控制台窗口中写了个 2。

是不是觉得太简单了?那就稍微复杂点吧:

(147 + 258) × 369 - (550 + 233) ÷ 29 = ?

这种人类算起来颇为费事的式子,交给计算机仍然是轻而易举:

#include <iostream>
using namespace std;
int main()
{
    cout << (147 + 258) * 369 - (550 + 233) / 29 << endl;
    return 0;
}

当你将这行程序敲进计算机时,也许会发现乘号和除号有那么点不同——乘号用星号(*)表达,除号则用斜杠(/)表达。

为什么会这样呢?其实是因为你的键盘上没有所谓的乘号与除号,哈哈~几十年前设计键盘的工程师们脑洞大开,将星号作为乘号使用。而使用斜杠作为除号的原因还有一个:在数学中,除法还可以用分数的形式表示,所以这个斜杠其实就是横着写的分数线——左侧的被除数相当于分子,右侧的除数也就相当于分母。

好了,如果你成功地运行了这段代码,可以看到结果是 149437。

我们再深入些,尝试让计算机先接收我们输入的值,再根据我们提供的公式算出结果。

举个例子,要计算一个立方体的体积,我们可以用公式:

长 × 宽 × 高

设长为a,宽为b,高为c。我们可以写这样一道程序解决问题:

#include <iostream>
using namespace std;
int main()
{
    int a, b, c;                // 定义表达长宽高的三个整数类型的变量
    cin >> a >> b >> c;            // 输入三个变量的值
    cout << a * b * c << endl;    // 输出三个变量的乘积
    return 0;
}

这一次我们可以自己定义想使用的数字了。随便输入两组数字试试:

> 1 2 3

< 6

> 23 3 3

< 207

我们可以看到,计算机忠实地按照给定的数字与公式,算出了我们想要的结果。

1 + 1a + b + c2 * (a * b + b * c + a * c)(立方体表面积公式)这样的式子,我们可以统一称呼它们为表达式。表达式可以看作一个计算单元,包含若干个参与运算的对象(如数字、变量)和若干个运算符(如加号、乘号、小括号),对它求职会产生一个结果(如数字)。

表达式其实就是我们所熟知的算式、方程等再计算机学中的专用名称。实际上,就连cout << ... << endl这样的内容页同样是表达式,coutendl同样是对象,<<也同样是运算符,我们将在后续的章节中深入学习。

习题

  • 写一份用于求立方体表面积的程序,要求接收的三个数字分别存储在变量abc中。

Last updated