!第04 05 06章(续) 程序的三种结构程序设计及举例.ppt

!第04 05 06章(续) 程序的三种结构程序设计及举例.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
!第04 05 06章(续) 程序的三种结构程序设计及举例

第四章(续) C语言基本结构程序设计及举例 内容提要 算法的描述方法 基本控制结构 基本控制语句 常用算法,如累加、累乘、统计、递推、迭代、穷举等 程序的基本版式 结构化程序设计的基本思想 算法的概念 数据结构+算法=程序 算法:为解决一个具体问题而采取的确定的有限的操作步骤,这里仅指计算机能执行的算法 算法特性: 有穷性 确定性 有效性 没有输入或有多个输入 有一个或多个输出 算法的分类 数值运算算法: 解决的是求数值解的问题,例如用辗转相除法求两个数的最大公约数等 非数值运算算法: 主要用于解决需要用分析推理、逻辑推理才能解决的问题,例如人工智能中的许多问题,查找、分类等问题 算法的表示方法 自然语言表示 传统的流程图表示 N-S结构化流程图表示 伪代码表示 C程序结构 构成程序的三种基本结构 顺序结构 选择结构 循环结构 已经证明,任何程序均可只用这三种结构综合描述 只用这三种结构编制的程序,叫结构化程序 程序必须符合结构化规则 结构化程序设计的核心思想 采用顺序、选择和循环三种基本结构作为程序设计的基本单元 只有一个入口; 只有一个出口; 无死语句,即不存在永远都执行不到的语句; 无死循环,即不存在永远都执行不完的循环。 采用“自顶向下、逐步求精”和模块化的方法进行结构化程序设计 选择三种循环的一般原则 如果循环次数已知,用for 如果循环次数未知,用while 如果循环体至少要执行一次,用do-while 这只是“一般”原则,不是“原则” 死循环 永远不会退出的循环为死循环 for (;;) {} while (1) {} do { }while (1) 一般情况下,要极力避免死循环 绝大多数程序不需要死循环。如果出现,往往都是bug 时间过长的循环会造成“假死”效果,也要考虑解决 现场编程完成例 国王的许诺。相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。 这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。 舍罕王让人扛来一袋麦子,他要兑现他的许诺。 国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米? (已知1立方米麦子约1.42e8粒) 总粒数为:sum=1+2+22+23+…+263 方法1 #define CONST 1.42e8 #include <stdio.h> #include <math.h> main() { int n; double term, sum = 0; /*累加求和变量赋初值*/ for (n=1; n<=64; n++) { term = pow(2, n-1); /*根据累加项的规律计算累加项 */ sum = sum + term; /*作累加运算*/ } printf("sum = %e\n", sum); /*打印总麦粒数*/ printf("volum = %e\n", sum/CONST);/*打印折合的总麦粒体积数*/ } 方法2 #define CONST 1.42e8 /*定义符号常量CONST值为1.42e8 */ #include <stdio.h> main() { int n; double term = 1, sum = 1; /*累乘求积、累加求和变量赋初值*/ for (n=2; n<=64; n++) { term = term * 2; /*根据后项总是前项的2倍计算累加项*/ sum = sum + term; /*作累加运算*/ } printf("sum = %e\n", sum); /*打印总麦粒数*/ printf("volum = %e\n", sum/CONST); /*打印折合的总麦粒体积数*/ } 现场编程完成例4.14 编程输出如下形式的乘法九九表 #include <stdio.h> main() { int m, n; for (m=1; m<10; m++) printf("%4d", m); /*打印表头*/ printf("\n"); for (m=1; m<10; m++) printf(" -")

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档