C语言程序基本控制结构及其应用

C语言程序基本控制结构及其应用

ID:45034579

大小:1.08 MB

页数:110页

时间:2019-11-08

C语言程序基本控制结构及其应用_第1页
C语言程序基本控制结构及其应用_第2页
C语言程序基本控制结构及其应用_第3页
C语言程序基本控制结构及其应用_第4页
C语言程序基本控制结构及其应用_第5页
资源描述:

《C语言程序基本控制结构及其应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章C语言程序基本控制结构及其应用3.1算法及结构化程序设计3.1.1算法及其特征算法,程序的灵魂。一个完整的算法应具有如下特征:●有穷性●确定性●可执行性●0个或多个输入;1个或多个输出什么是程序?一个程序应包括两个方面的内容:对数据的描述:数据结构(datastructure)对操作的描述:算法(algorithm)著名计算机科学家沃思提出一个公式:程序=数据结构+算法完整的程序设计是:数据结构+算法+程序设计方法+语言工具什么是算法?为解决一个问题而采取的方法和步骤,称为算法。1、计算机算法对于计算机算法应该有一个正确的定位。既不能认为计算机是万能的,如“替我理发

2、”计算机目前是无法做到的,也不能认为计算机只能进行数值运算。2、算法的特性有穷性:有限的操作步骤,不能是无限的。确定性:每一步所执行的操作是唯一确定的,不能有歧义。有零个或多个输入:可以没有输入。有一个或多个输出:算法目的是为了求解,解就是输出。至少有一个输出。没有输出的算法是没有意义的。有效性:可操作,可执行。每一步操作都能有效执行,并得到确定结果。如:除数为0,则不能有效的执行。算法的描述:1、自然语言2、传统流程图3、N-S结构图4、伪代码5、计算机语言计算机语言:严格遵循计算机语言的语法规则所表示的算法。从而完成实际工作到计算机语言的转化。1、用自然语言表示算法自然语

3、言就是人们日常使用的语言,可以是汉语或英语或其它语言。用自然语言表示通俗易懂,但文字冗长,容易出现“歧义性”。自然语言表示的含义往往不大严格,要根据上下文才能判断其正确含义,描述包含分支和循环的算法时也不很方便。因此,除了那些很简单的问题外,一般不用自然语言描述算法。2、用流程图表示算法美国国家标准化协会ANSI(AmericanNationalStandardInstitute)规定了一些常用的流程图符号:起止框判断框处理框输入/输出框注释框流向线连接点3.1.2算法的类型与结构计算机可处理的算法,一般归纳为“数值算法”和“非数值算法”两类。“数值算法”常用于科学计算,而“

4、非数值算法”则广泛用于各类数据的数据处理,它常常要涉及大数据量和复杂的数据结构。三种基本结构:Bohra和Jacopini提出了以下三种基本结构:顺序结构、选择结构、循环结构用这三种基本结构作为表示一个良好算法的基本单元。三种基本结构的图示:顺序结构选择结构循环结构的图示:当型循环结构直到型循环三种基本结构的共同特点:(1)只有一个入口;(2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。)(3)结构内的每一部分都有机会被执行到;(4)结构内不存在“死循环”(无终止的循环)。不正确的流程表示:图中没有

5、一条从入口到出口的路径通过A框。流程内的死循环扩展:只要具有上述四个特点的都可以作为基本结构。可以自己定义基本结构,并由这些基本结构组成结构化程序。此图符合基本结构的特点这是一个多分支选择结构,根据表达式的值决定执行路线。虚线框内的结构是一个入口一个出口,并且有上述全部的四个特点。由此构成的算法结构也是结构化的算法。可以认为这是由三种基本结构所派生出来的。小结流程图是表示算法的较好的工具。一个流程图包括以下几部分:(1)表示相应操作的框;(2)带箭头的流程线;(3)框内外必要的文字说明。由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构

6、化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。用N--S流程图表示算法1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其它的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图又称N--S结构化流程图。N--S流程图用以下的流程图符号:(1)顺序结构(2)选择结构(3)循环结构N--S图表示算法的优点比文字描述直观、形象、易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺

7、序组成的,N--S流程图中的上下顺序就是执行时的顺序。用N--S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。题目一将变量a和b中的数交换。(a和b的初值为:a=3b=4)题目二计算z的值。z=

8、a-b

9、(输入a、b的值)题目三求1到5的累加和。算法举例这三个例题分别是顺序、选择和循环结构的举例。 明确一点:计算机只能完成我们告诉它的工作,其他的不会主动去执行。很傻,它没有智能。题目一S1:a=3S2:b=4S3:t=aS4:a=bS5:b=tS6:输出a和b

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。