首页 > 代码库 > C语言的算法

C语言的算法

什么是算法|算法的概念

  一个程序应包括:

  • 对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure)。
  • 对操作的描述:即操作步骤,也就是算法(algorithm)。

  Nikiklaus Wirth提出的公式:程序=数据结构+算法

  这三个方面是一个程序涉及人员所应具备的知识。本教程的目的是使同学知道怎样编写一个C程序,进行编写程序的初步训练,因此,只介绍算法的初步知识。

  做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。

 

  简单的C语言算法举例

  【例1-1】求1×2×3×4×5。

最原始方法:步骤1:先求1×2,得到结果2。步骤2:将步骤1得到的乘积2乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。这样的算法虽然正确,但太繁。改进后的算法S1:t=1S2:i=2S3:t*1,乘积仍然放在变量t中,可以表示为t*i->tS4:使i的值+1,即i+1->iS5:如果i<=5返回重新执行S3以及后面的S4,S5,否者算法结束。如果使计算100,只需要改变S5即i<=100即可。

 

  C语言算法有如下特性:

  • 有穷性:一个算法应包含有限的操作步骤而不能是无限的。
  • 确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。
  • 有零个或多个输入。
  • 有一个或多个输出。
  • 有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。

对于程序设计人员,必须会设计算法,并根据算法写出程序。