C语言程序设计(第二版)任正云 第3章顺序程序设计

C语言程序设计(第二版)任正云 第3章顺序程序设计

ID:40238649

大小:1.07 MB

页数:41页

时间:2019-07-28

C语言程序设计(第二版)任正云 第3章顺序程序设计_第1页
C语言程序设计(第二版)任正云 第3章顺序程序设计_第2页
C语言程序设计(第二版)任正云 第3章顺序程序设计_第3页
C语言程序设计(第二版)任正云 第3章顺序程序设计_第4页
C语言程序设计(第二版)任正云 第3章顺序程序设计_第5页
资源描述:

《C语言程序设计(第二版)任正云 第3章顺序程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章顺序结构程序设计算法C语言概述标准的输入与输出函数标准输出/输入函数字符输入/输出函数3.1算法算法的特性:有穷性确定性有0个或多个输入有1个或多个输出有效性程序包含两个方面的内容:一个是对数据的描述,一个是对操作的描述。程序=算法+数据结构程序=算法+数据结构+程序设计方法+语言工具和环境3.1算法算法的组成要素操作每个操作的确定不仅取决于问题的需求,还取决于它们来自哪个操作集,它还与使用的工具系统有关。购买电视机报考大学结构控制⑴顺序结构⑵选择结构(分支结构)⑶循环结构(重复结构)3.1算法判断框连接点流程线起止框处理框输出输入框算法的表示方法用自然语言表示算法自然语

2、言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言表示通俗易懂,但文字冗长,容易出现歧义的算法。自然语言表示的含义往往不太严格,要根据上下文才能准确判断。此外,用自然语言描述分支和循环的算法,不是很直观。用流程图表示算法3.1算法用流程图表示算法只有一个入口:不得从结构外随意转入结构中某点。只有一个出口:不得从结构内某个位置随意转出(跳出)。结构中的每一部分都有机会被执行到(没有“死语句”)。结构内不存在“死循环”(无终止的循环)。共同特点:例如:计算半径为r的圆的面积s例如:判断两个输入数据的大小,并输出其中的大数。用流程图表示的算法直观形象,比较清楚地显示出各

3、个框之间的逻辑关系,因此得到广泛使用。算法的表示方法用N-S流程图表示算法美国学者I.Nassi,B.Shneiderman提出了一种新的流程图——N-S流程图。在这种流程图中,完全去掉了带箭头的流程线,每种结构用一个矩形框表示,流程图如下图所示。例如:计算半径为r的圆的面积s例如:判断两个输入数据的大小,并输出其中的大数。N-S流程图表示算法有以下优点:比文字描述更加直观、形象,易于理解。比传统的流程图紧凑易画。废除流程线,整个算法结构是由各个基本结构按顺序组成。N-S流程图的上下顺序就是执行时的顺序,表示的算法都是结构化的算法。算法的表示方法用伪代码表示算法:伪代码是用介于

4、自然语言和计算机语言之间的文字和符号来描述算法。伪代码不用图形符号,书写方便,格式紧凑,便于向计算机语言算法过渡。下面就是从a、b、c中找出最大数的伪代码描述。输入a、b、c;if(a>=b)max=a;elsemax=b;if(max>=c)输出max;else输出c;算法的表示方法用计算机语言表示算法用计算机语言表示算法实际上就是实际的程序。用计算机语言表示算法必须严格遵守所使用的语言的语法规则。自顶向下、逐步细化的设计过程包括以下几个方面:⑴将一个复杂问题的解法分解和细化成由若干模块组成的层次结构。⑵将一个模块的功能逐步分解细化为一系列的处理步骤,直到某种程序设计语言的语

5、句和某种机器指令。具有以下两个优点:⑴自顶向下、逐步细化的方法符合人们解决复杂问题的普遍规律,可以显著提高程序设计的效率。⑵用先全局后局部,先整体后细节、先抽象后具体的逐步细化过程设计出的程序具有清晰的层次结构,容易阅读和理解。用自顶向下、逐步细化的方法设计3个数中取最大数算法。例3.1(1)首先,分析问题需求S1:输入三个数a、b、c;S2:从a、b、c中找出最大数赋给max;S3:输出max。(2)在前一阶段的基础上考虑各个“做什么”的实现途径,把算法细化如下。S1:调用scanf()函数输入三个数a、b、c;S2:调用一个求三个数中最大数函数max3(a、b、c);S3:

6、调用printf()函数,将最大数输出。(3)编写主程序main(){floata,b,c,max;floatmax3(floatx,floaty,floatz);printf("Input3numberabc:");scanf("%f%f%f",&a,&b,&c);max=max3(a,b,c);}(4)设计max3()。仍然采用逐步细化的方法,概要算法如下:S2.1:从x与y中取较大数送入m中;S2.2:从m与z中取较大数送入m中;S2.3:返回m给主调函数。s2.1:if(x>y)m=x;elsem=y;s2.2:if(m

7、atmax3(floatx,floaty,floatz){floatm;if(x>y)m=x;elsem=y;if(m

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

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

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