资源描述:
《C语言 第4章 程序的控制结构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章程序的控制结构1内容提要算法的描述方法基本控制结构基本控制语句常用算法,如累加、累乘、统计、递推、迭代、穷举等程序的基本版式结构化程序设计的基本思想2算法的概念数据结构+算法=程序算法:为解决一个具体问题而采取的确定的有限的操作步骤,这里仅指计算机能执行的算法算法特性:有穷性确定性有效性没有输入或有多个输入有一个或多个输出3算法的分类数值运算算法:解决的是求数值解的问题,例如用辗转相除法求两个数的最大公约数等非数值运算算法:主要用于解决需要用分析推理、逻辑推理才能解决的问题,例如人工智能中的许多问题,查找、分类等问题4算法的表示方法自然语言表示传统的流程图表示N-S结构化流程图表示伪代
2、码表示5C程序结构C程序源程序文件1源程序文件2源程序文件3编译预处理命令全局变量声明函数1函数n…函数首部函数体局部变量声明执行语句6构成程序的三种基本结构顺序结构选择结构循环结构已经证明,任何程序均可只用这三种结构综合描述只用这三种结构编制的程序,叫结构化程序程序必须符合结构化规则7结构化程序设计的核心思想采用顺序、选择和循环三种基本结构作为程序设计的基本单元只有一个入口;只有一个出口;无死语句,即不存在永远都执行不到的语句;无死循环,即不存在永远都执行不完的循环。采用“自顶向下、逐步求精”和模块化的方法进行结构化程序设计8BANS图传统流程图顺序结构BA9#include3、>main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f",a,b,c);printf("area=%7.2f",area);}求平方根函数例4.1输入三角形的三边长,求三角形面积(假设输入三边长能构成三角形)。设a,b,c为三角形边长,面积area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=(a+b+c)/2.10#include#include4、tdio.h>main(){floata,b,c,disc,x1,x2,p,q;scanf("%f,%f,%f",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%5.2fx2=%5.2f",x1,x2);}例4.2求二次方程ax2+bx+c=0的根。设b2-4ac>0,a不等于零。11BN如果成绩<60那么通知补考否则告知你考试成绩AY条件PABNY条件P分支结构(选择结构)12if语句用来判定给定的条件是否满足,根据判定的结果来决定执行何种操作。if语句的三种形
5、式1.if(表达式)语句;表达式语句假真例如:if(x>y)printf("%d",x);if语句注意:如何表示score在90~100之间?132.if(表达式)语句1else语句2例如:if(x>y)printf("%d",x);elseprintf("%d",y);表达式语句2假真语句1143.if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3..elseif(表达式n)语句nelse语句n+1(else部分可以没有)表达式1语句1假真表达式2语句2真表达式3语句3假真假语句4if(x>1)y=1;elseif(x>0)y=0.5;elseif(x>-1
6、)y=-0.5;elsey=-1;只执行一个(组)语句15if语句中的“表达式”可以是任何数值类型(整型、实型、字符型等),只要“表达式”的值不等于0,就执行后面的“语句”。例如:if(a==b&&x==y)printf("a=b,x=y");if(3)printf("O.K");2.在带有else的if语句中,“语句1”、“语句2”仍然以“;”结束,不可缺少。else是if语句的一部分,else部分不能单独使用,必须与if配对出现。例如:if(x>0)printf("x>0");elseprintf("x<=0");如果if或else后面的“语句”有多个操作语句,此时必须用
7、“{}”将这些语句括起来成为一条语句(即复合语句),但是{}之外不需要加“;”注意:16例考虑下面程序的输出结果:#includemain(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}CompileError!17例4.3输入两个实数,按从小到大的次序输出。main(){flo