我觉得这是开始C / C ++编程教程的好时机,因为显然,在开始之前,我们需要对要达到的目标有所了解。 我最近在网上发现了这个定义,我很喜欢
“编程是在计划如何解决问题。无论使用什么方法-铅笔和纸,滑尺,添加机器或计算机,问题的解决都需要进行编程。当然,一个程序如何取决于问题所用的设备解决。”这是从
ROPAL PRECISION, LGP-30的电子计算机编程手册 。 对于那些从未听说过LPG-30的人来说,您可能会被原谅,因为它最早是1956年制造的,已经停产很长时间了。 但是它颇具吉祥意义,声称它是爱德华·洛伦兹 ( Edward Lorenz )第一次注意到天气系统的混乱本质时所使用的计算机类型。无论如何,回到编程……“计划如何解决问题”,注意我们实际上并没有解决问题,计算机将为我们做到这一点。 如果我们可以自己解决问题,则无需编写程序。 程序的前提是我们没有时间,精力或记忆能力来解决问题,但是我们知道如何解决问题,因此可以指示计算机为我们解决问题。
一个简单的例子是1-10,000中所有整数的总和。 如果您愿意的话,可以坐下来用铅笔,纸或计算器坐下来,解决这个问题,但是所花费的时间以及在某个时候您可能会犯错的可能性使它成为不受欢迎的选择。 但是,我可以编写并运行程序以在不到5分钟的时间内计算出该总和
#include "stdio.h"
#define MAX (10000UL)
int main(int argc, char **argp)
{
unsigned long sum = 0;
unsigned long number;
for(number=1; number<=MAX; number++)
{
sum += number;
}
printf("The sum of all integers from 1 - %lu is: %lu\n", MAX, sum);
return 0;
}
这样得出的结果为50005000。碰巧我可以验证这一点,因为我知道1-N的整数之和可以计算为
(N + 1)*(N / 2)
(10000 + 1)*(10000/2)= 10001 * 5000 = 50005000
因此,我已经解决了如何计算1到10000中所有整数之和的问题,计算机也解决了计算1到10000中所有整数之和的问题。
这是所有计算机程序的关键。 除非您知道如何解决该问题,否则无法对计算机进行编程以解决问题。 直到您了解了如何着手解决问题之前,甚至没有必要坐在计算机旁进行编程,除非是从教科书或设计文档中的公式或从网页上打印出来的公式问题。
因此,编程就是产生一组描述如何解决问题的指令。 这些说明可能用多种语言编写,例如,在一瓶洗发水的背面,您经常会找到说明,说明如何解决使头发变脏的问题:
- 湿的头发
- 用香波擦洗以产生泡沫。
- 冲洗头发
- 重复
这是人与计算机之间的主要区别之一。 人类具有判断力和自由意志,并且不会运行任何他们认为不需要或毫无意义的指令,因为计算机可以完全执行所告诉的内容,而无需判断该指令的必要性或合理性。 将上述说明提供给您的计算机,它永远不会冲凉。
教程2: 如何编程From: https://bytes.com/topic/c/insights/641516-tutorial-1-what-programming