啊哈C语言编程-第6课-让计算机做加法-少儿编程教育网

通过之前的学习,我们了解到让计算机说话是用“printf”,运用“printf”我们就可以让计算机想说什么就说什么了。在学会了“说话”之后,我们来看如何让计算机做数学运算,首先我们先让计算机做“加法”,就先算 1+2 吧。

回想一下小时候爸爸妈妈是如何教我们算 1+2 的呢?

妈妈说:“左手给你一个苹果,右手给你两个苹果,现在一共有几个苹果?”我们迅速地思考了一下,脱口而出:“3 个苹果”。没错!我们首先用大脑记住左手有几个苹果,再用大脑记住右手有几个苹果,妈妈问我们一共有几个时,我们的大脑进行了非常快速的计算,将刚才记住的两个数进行相加,得到结果,最后将计算出的结果说出来。我们仔细分析一下,大致分为以下 5 个步骤。

(1)用大脑记住左手的苹果数量;

(2)用大脑记住右手的苹果数量;

(3)我们的大脑将两个数字进行相加;

(4)得到结果;

(5)将结果输出。

在这期间,我们大脑一共进行了以下 4 个动作。

(1)两次输入:分别是记录左手和右手中苹果的数量;

(2)存储了 3 个值:分别是记录左手和右手中苹果的数量和相加的结果;

(3)进行了一次计算:相加;

(4)进行了一次输出:把相加的结果输出。

那我们如何让计算机做加法呢?同样也需要做以上几步。

首先我们来解决如何让计算机像我们的大脑一样记住一个数字。其实计算机的大脑就像一个“摩天大厦”,有很多一间一间的“小房子”,计算机就把需要记住的数放在“小房子”里面,一个“小房子”里只能放一个数,这样计算机就可以记住很多数。好,我们来看一看,具体怎样操作。

“=”赋值符号的作用就相当于一只手,把数字放到小房子中。

int a,b,c;

这句话就代表在计算机的“摩天大厦”中申请三间分别叫作 a、b 和 c 的小房子(注意:int和 a 之间有一个空格,a、b 与 c 之间分别用逗号隔开,末尾有一个分号表示结束)。

接下来,我们让小房子 a 和小房子 b 分别去记录两个数字 1 和 2,具体如下:

a=1;

b=2;

说明:此处有一个“=”,这可不是等于号,它叫作给予号(也称为赋值号),类似于一个箭头“”,意思是把“=”右边的内容,给了“=”左边的。例如,把 1 这个数给小房子 a,这样一来计算机就知道小房子 a 里面存储的是数字 1 了。

然后,把小房子 a 和小房子 b 里面的数相加,再将其结果放到小房子 c 中。

c=a+b;

计算机会将这个式子分两步执行:第一步先将 a+b 算出来,第二步再将 a+b 的值给“=”右边的 c。

至此,就差不多完成了,我们总结一下:

int a, b, c;

a=1;

b=2;

c=a+b;

很多同学是不是以为,现在已经全部完成了?你忘记了最重要的一步,先别急着往下看,想一想忘记了什么?

啊!你忘记了把答案输出。想一想妈妈问你一加二等于多少时,你说:“我算出来了,但是不想告诉你!”这个时候估计你少不了挨一顿揍了,不要啊!

好,那我们回忆一下,应该如何让计算机把结果输出呢。

对,使用 printf 语句。那怎么把小房子 c 里面存储的数输出呢?根据我们在本章第 2 节学到的知识,只要把要输出的内容放在双引号里面就可以了,代码如下:

printf("c");

那你猜此时计算机会输出什么? 对,无情地输出了一个 c。那怎样输出 c 里面的值呢? 这时我们要让另外一个角色出场了。

%d

“%d”其实一个“讨债的”,或者也可以说是“要饭的”。它的专职工作就是向别人“要钱”!那我们应该怎么使用它呢?

printf("%d",c)

将“%d”放在双引号之间,把小房子 c 放在双引号后面,并且用逗号隔开。这时 printf 发现双引号里面是个“讨债的”,就知道此时需要输出一个具体的数值,而不是符号,就会向双引号后面的小房子 c 索取具体的数值了。 

好了,最后加上 C 语言的代码框架,计算机进行加法运算的完整代码如下:

#include <stdio.h>

#include <stdlib.h>

int main()
{

int a,b,c;

a=1;

b=2;

c=a+b;

printf("%d",c);

system("pause");

return 0;

}

现在赶紧去试一试吧。

·一起来找茬

1.下面这段代码是让计算机计算 321123 的结果。其中有 6 个错误,快来改正吧!

#include <stdio.h>

#include <stdlib.h>

int mian( )

{

int a,b,c;

a=321

b=123

c=b-a

print("%d",c)

system("pause");

return 0;

}

·动手试一试

1.如果要进行 3 个数相加的运算,该怎样做呢?例如:5+3+1=?

我们可以把上面的程序进行简单地改变,申请 4 个小房子分别叫作 a、b、c 和 d。用 a、b、c 分别存放 3 个加数,用 d 存放它们的和。代码如下:

#include <stdio.h>

#include <stdlib.h>

int main()
{

int a,b,c,d;

a=5;

b=3;

c=1;

d=a+b+c;

printf("%d",d);

system("pause");

return 0;

}

如果要 10 个数相加岂不是得定义 11 个小房子?那也太麻烦了吧。对,目前我们只能这样,但是在后面的学习中,会有更为简单的方法。

2.用计算机算出下面 3 个算式。

123456789+43214321

7078*8712

321*(123456+54321)