《程序的控制结构》PPT课件

《程序的控制结构》PPT课件

ID:41265470

大小:968.01 KB

页数:94页

时间:2019-08-20

《程序的控制结构》PPT课件_第1页
《程序的控制结构》PPT课件_第2页
《程序的控制结构》PPT课件_第3页
《程序的控制结构》PPT课件_第4页
《程序的控制结构》PPT课件_第5页
资源描述:

《《程序的控制结构》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、大学实用教程C语言算法及其描述顺序结构选择结构循环结构流程的转移控制程序的设计风格第4章程序的控制结构§4.1算法及其描述数据结构+算法=程序数据结构:即数据的描述和组织形式。算法:为解决一个具体问题而采取的确定的有限的操作步骤。这里仅指计算机能执行的算法§4.1.1算法的概念1、算法的概念2、算法的验证1.有穷性。2.确定性。3.有效性。4.没有输入或有多个输入。5.有一个或多个输出。即算法包含的操作步骤应是有限的,每一步都应在合理的时间内完成。即算法的每个步骤都应是确定的,不允许有歧义性。如果x≥0,则输出Yes;如果x≤0,则输出No;算法中的每个步骤都应是能有效

2、执行的;而且能得到确定的结果。如:负数开平方3、算法的分类数值运算算法:解决的是求数值解的问题,例如用辗转相除法求两个数的最大公约数等。非数值运算算法:主要用于解决需要用分析推理、逻辑推理才能解决的问题。例如人工智能中的许多问题,查找、分类等问题。§4.1.2算法的表示方法自然语言表示传统的流程图表示NS结构化流程图表示伪代码表示B:当p=0则n为最大公约数否则:A:m/n的余数pC:mn,np,转A。求任意两个数m、n(m>n)的最大公约数。1、算法的自然语言表示法2、传统流程图表示法表示顺序执行语句表示输入输出语句表示条件判断语句表示循环判断语句传统流程图图素(1)

3、传统流程图图素(2)表示起始、结束框表示连接点表示程序的走向传统流程图举例输入m,nWhileR≠0Mod(m,n)→Rn→m,R→nMod(m,n)→R输出n结束yes开始no3、NS结构化流程图表示特点最重要的特点就是完全取消了流程线,这样算法被迫只能从上到下顺序执行,从而避免了算法流程的任意转向,保证了程序的质量。优点与传统的流程图相比,NS图的另一个优点就是既形象直观,画出来后又比较节省篇幅,尤其适合于结构化程序的设计。NS流程图举例输入正整数m,nMod(m,n)→R当R不为01111n→mR→nMod(m,n)→R输出n4、伪码表示是介于自然语言和计算机语言

4、之间的一种代码,是帮助程序员制定算法的智能化语言。inputm,nr=mod(m,n)loop:if(r≠0)thenm=nn=rr=mod(m,n)gotoloopendifprintnC语言的三种基本结构顺序结构、选择结构、循环结构已经证明,任何程序均可只用这三种结构实现只用这三种结构编写的程序,叫结构化程序结构化程序设计的核心思想采用顺序、选择和循环三种基本结构作为程序设计的基本单元只有一个入口;只有一个出口;无死语句,即不存在永远都执行不到的语句;无死循环,即不存在永远都执行不完的循环。采用“自顶向下、逐步求精”和模块化的方法进行结构化程序设计§4.2程序结构(

5、1):顺序结构开始第1条语句第n条语句结束顺序结构的特点是按照语句出现的先后顺序执行程序,如c语言中的输入输出操作和赋值操作。#includemain(){intn;doublem,r=0.0225,total;printf(“pleaseentern,m:”);scanf(“%d,%lf”,&n,&m);total=m*pow(1+r,n);printf(“total=%lf”,total);}例如:设银行定期存款的年利率r是2.25%,且存款期为n年,存款本金为m元,编程计算n年之后的本利之和。常用函数及其对应的头文件常用函数头文件名数学函数ma

6、th.h输入输出函数stdio.h字符函数ctype.h字符串函数string.h动态存储分配函数stdlib.h/malloc.h时间函数time.h§4.3程序结构(2):选择结构程序设计(分支)条件语句(if)开关语句(switch)BN如果成绩<60那么通知补考否则告知你考试成绩AY条件PABNY条件P分支结构(选择结构)一、if语句的三种形式1.简单分支(单分支)格式:if(表达式)语句;工作过程图:main(){inta,b,max;printf("inputtwonumbers:");scanf("%d%d",&a,&b);max=a;if(max

7、)max=b;printf("max=%d",max);}例:格式:if(表达式)语句1;else语句2;2.双分支——选择结构的一种最常用形式工作过程图:main(){inta,b;printf("inputtwonumbers:");scanf("%d%d",&a,&b);if(a>b)printf("max=%d",a);elseprintf("max=%d",b);}例:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;……elseif(表达式m)语句m;else语句n;3.多分支——

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

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

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