- 1、本文档共137页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言第三章
第三章 基本控制结构 3.1 结构化程序设计 早期的计算机存储器容量非常小,人们设计程序时首先考虑的问题是如何减少存储器开销,硬件的限制不容许人们考虑如何组织数据与逻辑,程序本身短小,逻辑简单,也无需人们考虑程序设计方法问题。但是,随着大容量存储器的出现及计算机技术的广泛应用,程序编写越来越困难,程序的大小以算术基数递增,而程序的逻辑控制难度则以几何基数递增,人们不得不考虑程序设计的方法。 3.1.1 结构化程序设计方法 结构化程序设计(Structure Programming,即SP)方法,其核心是模块化。这里的结构化主要体现在以下三个方面。 自顶向下、逐步求精 模块化 语句结构化 3.1.1 结构化程序设计方法 C是支持结构化程序设计的典范。它以函数作为程序的基本单元,在每个函数中仅使用顺序、分支(选择)和循环这三种流程结构的语句,因此,又将这类程序设计语言称为过程式语言。 用过程式语言编写的程序的主要特征可以用下面的公式形象地表达出来: 程序=过程+过程调用 3.1.1 结构化程序设计方法 在SP中,划分模块不能随心所欲地把整个程序简单地分解成一个个程序段,而必须按照一定的方法进行。 模块的根本特征是“相对独立,功能单一”。 模块划分中应当做到“耦合度尽量小,内聚度尽量大”。 3.1.2 结构化程序设计过程 程序设计的一般过程可以分为以下四个步骤: 1.针对具体问题建立相应的数学模型。 2.设计相应的算法。 3.编程实现算法。 4.测试与调试。 下面通过一个例子说明结构化程序设计的过程。 3.1.2 结构化程序设计过程 【例3.1】 编程实现求解一元二次方程ax2+bx+c=0的根。 第一步:首先要确定求解问题的数学模型,这个可以根据已有的数学知识或通过分析得到。一元二次方程的两个根可以用求根公式得到: 3.1.2 结构化程序设计过程 第二步:设计算法,根据数学模型设计算法是关键的一步。 算法描述了解决问题的具体步骤,是程序设计的基础和精髓。算法的描述通常有以下几种方式: (1)自然语言方式 以自然语言方式描述的算法风格不定,但符合人的自然习惯,每一步都很容易理解,但大型的程序不宜采用此方法,因为它描述的层次结构不清晰。 (2)伪代码方式 用接近某种高级计算机语言的方式来描述算法。它的优点是:贴近于自然语言描述,易于理解;表达方式简洁;由于接近于某种计算机语言,因此比较容易将算法直接转化为程序。 3.1.2 结构化程序设计过程 [begin] input number to a,b,c; s=b*b-4*a*c; if (s=0) p=-b/(2*a); q=sqrt(s)/(2*a); x1=p+q;x2=p-q; print(x1,x2); else print(error); endif; [end] 3.1.2 结构化程序设计过程 (3)程序流程图方式 程序流程图由多个结点和有向边构成。程序流程图描述了算法中所进行的操作以及这些操作执行的逻辑顺序,构成程序流程图的常用图形符号如图3-1所示。 上述图例中各结点的意义如下所述: ?端点符:表示算法由此开始或结束。 ?处理:表示一些操作,应在方框中对该操作作简要的标记和说明。 3.1.2 结构化程序设计过程 ?判断:表示判断操作,应该在框中表明判断条件。此框具有两个或两个以上出口,在每个出口处应标明条件的真值(真或假)。 ?预定义处理:代表未详细说明的一个或一组操作,通常用来表示调用一个已知的算法或函数,框中标明这个算法或函数的名字或入口地址。 ?连接符:框中标有数字或字母。当程序流程图较复杂或分布在多个页面时,用连接符表示各图之间的联系,相同符号的连接符表示相互连接。 图3-2是采用流程图方式描述例3.1中算法的示意。 3.1.2 结构化程序设计过程 第三步:根据算法用某种计算机语言编写出相应的程序,使得非形式化的算法转变为形式化的由程序设计语言表达的算法,这个过程称为编码。程序编写过程中需要经过反复调试,
文档评论(0)