算法——程序的灵魂,基础入门,要点讲解

前面我们讲了什么是计算机语言,什么是C语言和一些相关概念性的知识,前面那些东西我们可以只做了解,不必刻意去记忆。

接下来我要讲的就是算法——程序的灵魂,一个好程序的背后一定会有一个思路清晰简洁的算法,程序=算法+数据结构,其中算法和数据结构可以说是一个程序员的内功,所以算法和数据结构固然重要。

1、什么是算法?
广义的说,为解决一个问题而采取的方法和步骤就称为算法。

简单的算法举例:
T:求12345
①用最原始的方法进行:
S1:先求1乘以2,得到结果2
S2:将步骤1得到的乘积2再乘以3,得到结果6
S3:将6再乘以4,得到24
S4:将24再乘以5,得120。这就是最后的结果
虽然这样的算法是正确的,但是太繁琐了,如果要求100!,则要写99个步骤,果断不用这种算法。所以我们可以把算法改为下面这个

S1:令t=1(表示将1存放在变量t中)
S2:令i=2(表示将2存放在变量i中)
S3:使t与i相乘,乘积仍放在变量t中,可表示为:t=t*i
S4:使i的值加1,即i=i+1
S5:如果i不大于5,返回重新执行S3及其后的步骤S4和S5;否则,算法结束。最后得到的结果就是5!的值了。
很显然下面这种算法就比较灵活。

2、算法的特性
①有穷性:一个算法应包含有限的操作步骤,而不能是无限的。
②确定性:算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。
③有零个或多个输入。
④有一个或多个输出。
⑤有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果。例如,若b=0,则执行a/b是不能有效执行的。

3、怎样表示一个算法
算法可以用多种方式来表示,具体有以下几种方法:
①用自然语言表示算法
②用流程图表示算法
③三种基本结构和改进的流程图
④用N-S流程图表示算法
⑤用伪代码来表示算法
⑥用计算机语言表示算法

4、结构化程序设计方法
①自顶向下
②逐步细化
③模块化设计
④结构化编码

猜你喜欢

转载自blog.csdn.net/gghhhnnn/article/details/107363786