就在昨天,我们学习了第一个 C 语言程序,并且运行得到了结果 — “Hello, C!" 。
还记得我们程序的主要结构吗:
#include <stdio.h>
int main() {
/* 我们要做的事情 */
return0;
}
中间的注释部分就是将来我们要实现的功能,这里将要写下实现功能所需要的代码。
问题是,我们要实现什么功能呢?
别忘了,我们正在学习的是计算机科学,计算是必不可少的,所以今天我们的话题就是怎么用 C 语言实现我们日常的计算。
在开始实现之前,我们还需要介绍一个非常重要的概念,让我们从一个小盒子说起:
一个小盒子
要实现计算,我们都知道必须要有数字,那么问题是,我们要把数字放在哪里呢?
我们可以想象出上面那样的一个小盒子,比如我们要计算 1 加上 2 等于几,就先把数字 1 放进这个小盒子。
为了记住这里放的是 1,我们在盒子上做一个标记,比如说是 i:
带有标记 i 的小盒子
那么在 C 语言中,怎么表示这个过程呢,就是一条非常简单的语句:
int i = 1;
同样道理,我们把 2 放进一个名字为 j 的盒子:
int j = 2;
在 C 语言中,我们就把这个用来标记盒子的 i 和 j 称之为变量 variable,而把这个小盒子里的数字称为值,而这个小盒子就是在计算机内存中的一个小小的存储空间。
在大的程序中,通常会定义很多的变量,这样就有了很多的小盒子:
存放不同数据的变量空间
它们在程序运行时,都存放在计算机的随机存取存储器 RAM之中,通常我们称之为内存:
内存条
所以什么是变量呢?
在程序设计中,变量是指一个包含部分已知或未知数值的储存空间,以及相对应的符号名称(变量名)
Wikipedia
通俗的说,变量就是存放各种各样我们需要的数据的标志和对应的空间。
而我们在上面定义的两个变量 i 和 j 前面的 int 又是什么意思呢?
int 是英文单词 integer 整数 的简写,因为我们存放的是 1 和 2 这两个整数,所以把这两个变量定义为 int 类型。
不同的数据有着不用的数据类型 data type,因为存放每一种数据的空间大小是不一样的,就像盒子有大有小一样:
大小不一的盒子存放不同类型的数据
变量是几乎所有高级计算机语言中都有的一个非常重要的概念,在我们将来的任何一段程序中都会有它的存在。
既然我们定义了 i 和 j 两个变量,我们就可以开启计算机强大的计算能力了。
我们现在要求出 1 + 2 的结果,在 C 语言中写一段简单的代码就可以实现:
#include <stdio.h>
int main() {
int i = 1;
int j = 2;
printf("%d", i + j);
}
运行的结果就是 3。
哎呀,这个太简单啦,有同学一定会说,我没上幼儿园就知道 1 + 2 = 3,没什么了不起~
当然这个计算是很简单,但如果要你计算 123 乘以 456 得多少,还能马上说出结果吗?
恐怕绝大多数同学都没法做到了,但计算机可以!
计算机的强大之处就在于它能以极快的速度,及其精准的进行各种各样的计算,而且,不知疲倦。
好了,我们就把这个问题留给聪明的你:
编写代码,计算 123 * 456 的结果。在计算机语言中,乘法用星号 * 表示。