- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序的控制结构.ppt
第4章 程序的控制结构 内容提要 算法的描述方法 基本控制结构 基本控制语句 常用算法,如累加、累乘、统计、递推、迭代、穷举等 程序的基本版式 结构化程序设计的基本思想 算法的概念 数据结构+算法=程序 算法:为解决一个具体问题而采取的确定的有限的操作步骤,这里仅指计算机能执行的算法 算法特性: 有穷性 确定性 有效性 没有输入或有多个输入 有一个或多个输出 算法的分类 数值运算算法: 解决的是求数值解的问题,例如用辗转相除法求两个数的最大公约数等 非数值运算算法: 主要用于解决需要用分析推理、逻辑推理才能解决的问题,例如人工智能中的许多问题,查找、分类等问题 算法的表示方法 自然语言表示 传统的流程图表示 N-S结构化流程图表示 伪代码表示 C程序结构 构成程序的三种基本结构 顺序结构 选择结构 循环结构 已经证明,任何程序均可只用这三种结构综合描述 只用这三种结构编制的程序,叫结构化程序 程序必须符合结构化规则 结构化程序设计的核心思想 采用顺序、选择和循环三种基本结构作为程序设计的基本单元 只有一个入口; 只有一个出口; 无死语句,即不存在永远都执行不到的语句; 无死循环,即不存在永远都执行不完的循环。 采用“自顶向下、逐步求精”和模块化的方法进行结构化程序设计 例4.1 输入三角形的三边长,求三角形面积(假设输入三边长能构成三角形)。 设a,b,c为三角形边长,面积 area= sqrt(s*(s-a)*(s-b)*(s-c)),其中s=(a+b+c)/2. if 语句 if 语句用来判定给定的条件是否满足,根据判定的结果来决定执行何种操作。 if 语句的三种形式 1. if (表达式) 语句; 例 4.3 输入两个实数,按从小到大的次序输出 。 main() { float a,b,t; printf(Input a and b:); scanf(%f,%f,a,b); if (ab) { t=a; a=b; b=t; } printf(%f,%f\n,a,b); } main() { int x,y; scanf(%d,x); if (x0) y=-1; else if (x==0) y=0; else y=1; printf(x=%d, y=%d\n,x,y); } 4.3.4 switch 语句 switch 语句是多分支选择语句。 if 语句只有两个分支,当遇到多分支选择时,可以用嵌套 if 语句来处理,但是由于需要嵌套的 if 语句层次多,因此程序的可读性降低。C语言中的 switch 语句可直接处理多分支选择,它的一般形式是: 例4.8 编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2 然后,计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/) #includestdio.h void main(){ int data1, data2; char op; printf(please input the expression:); scanf(%d%c%d,data1,op,data2); switch(op) { case +: printf(%d + %d = %d ,data1,data2,data1+data2); break; case -: printf(%d - %d = %d ,data1,data2,data1-data2); break; case *: printf(%d * %d = %d ,data1,data2,data1*-data2); break; case /: if (data2 == 0) printf(division by zero!\n); else printf(%d / %d = %d ,data1,data2,data1-data2); break; default: printf(unkonwn operator!\n); } } 4.4 循环控制 4.4.1 概 述 C语言中的循环结构可以用以下语句实现: 1.用 while 语
文档评论(0)