C语言与程序的算法(8)

时间:2025-02-21

C语言与程序的算法

1.3 程序的算法

1.3.1 算法的概念与特性

1.算法的概念

什么是程序?程序就是一组计算机能识别和执行的指令(其中指令表示计算机能执行的特定操作)。对于初学者来说,这个描述往往让人一头雾水而不得要领。实际上,程序就是使用某一种计算机语言,根据问题的要求而编写出来的文档,如实例1-4所示。

编写程序的目的是对问题中的数据进行分析或计算,最终得到我们想要的结果。对于一个复杂的问题,往往从两个方面入手解决:一是明确要解决的问题是什么,它隐含了哪些数据;二是针对这些复杂的数据,该使用何种方法完成计算(即算法)。因此,一个程序也应该包括两方面的内容:一方面对数据进行描述,指定数据的类型和数据之间的关系(即数据结构),如在实例1-4中的“int a,b,c;”;另一方面对数据的操作进行描述,根据操作步骤书写出能实现操作的语句序列,如在实例1-3中的“a=1219; b=23; money=a*b; printf("应付款是%d元\n",money);”。

可见,作为程序设计人员,必须认真考虑和设计数据结构和操作步骤(即算法)。著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:

数据结构+算法=程序

综上所述,对于人来说,算法是为解决一个问题而采取的方法;而对于计算机来说,算法是具体的实实在在的操作序列或语句序列。C程序就是根据C语言的语法规则而编写的语句序列,语句的先后序列就体现了C程序的算法。

2.算法的特性

一个算法应该具有以下特性:

(1)有穷性

一个算法包含有限的操作步骤,而不能是无限的,否则意味着执行程序时永远不会 停止。

(2)确定性

算法中的每一步骤操作应当是确定的,而不应当是含糊的、模棱两可的。如果算法中具有不确定的操作描述,则算法无法通过编译,也就无法得到目标程序。例如,在实例1-3的“a=1219; b=23; money=a*b;”中,如果去掉前面的“a=1219; b=23;”,则操作“money=a*b;”就是不确定的。

(3)有零个或多个输入

如果运算所依赖的对象在程序设计时无法确定,则需要在程序执行时指定。这就意味着在执行程序时需要输入数据。一个算法可以没有输入,也可以有多个输入。例如在实例

C语言与程序的算法(8).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219