第3章_分支和循环的C程序设计.ppt

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

第三章 分支和循环的C程序设计 问题 一元二次方程根求解算法描述 3.1 程序的基本结构 ⒊循环结构Repetition ⒋复合语句 Compound Statement 3.2选择结构Selection(分支结构) 3.2.1 if结构的三种形式 ⑵ if – else 结构(双分支) ⑶ if –else if结构(多分支) if else if结构举例: 【例3-6】从键盘任意输入一个字符,判断其是数字、大写字母、小写字母或是其它字符 。 switch语句(多分支结构) 语句标号的概念: 情况2: 情况3: 例 举例:求一元二次方程ax2+bx+c=0的根。 例:输出五分制对应的百分制范围。 3.3? 循环结构(Repetition) 例3-12 求1到100的累加和(用do-while循环实现)。 for循环实例 【例3-13】求1到100的累加和(用do-while循环实现)。 【例3-14】几种常见的空循环举例 【例3-14】几种常见的死循环举例 循环的中断(break)和继续(continue) 【例3-16】转移语句举例 无限循环和空循环 3.4 分支和循环的C程序设计 程序分析:此题首先找出2个数中的大数maxf,再将2个数中的大数maxf与第3个数比较,即可得出3个数中的大数 3.4.2 2种程序设计的基本方法 1 枚举法 Enumeration 存在有限状态;其中某些状态满足特定条件。 通过循环产生所有状态(枚举)。 对每一状态,按条件进行状态测试,满足条件的状态,为所求的解。 求100到200内的所有素数。 通过循环使i从101变化到199(枚举所有状态) 对每次循环的i进行是否是素数的测试,如果是素数,输出i。 枚举法举例: 程序如下: ⒉求水仙花数(条件:三位数的个、十、百位的方和等于该数。153==13 +53 +33 )。 ⒊爱因斯坦阶梯问题(不定范围的枚举)。 思考题: 2 迭代法 Iteration 迭代是通过循环不断由旧值推导新值,并最后求解的过程。 迭代法有三个要点: 如人口每年按2%增长,现在人口有12亿,10年后人口有多少? 迭代法举例 ⒉用梯形法求定积分 程序如下: ⒊求s=a+aa+aaa+…+aaa…a。 0a10 共n项,最后一项有n个a。如求s=2+22+222+2222+…+222…222 n、a从键盘输入。 程序如下: ⒋二分法求方程f(x)= x3-6x-1=0,在[0,5]区间的根。 二分法求方程根程序 ⒌通过如下公式求π(精度为10-6) 3.5 结构化程序设计方法 3.5.1 关于goto 3.5.2 结构化程序设计的核心思想 3.5.3 自顶向下、逐步求精的程序设计方法 x1 = -b/(2*a); printf(x1=x2=%f\n,x1); } } else /* 计算实部和虚部 */ { t = sqrt(-temp); printf(x1=%f+%fi\n,-b/(2*a),t/(2*a)); printf(x2=%f-%fi\n,-b/(2*a),t/(2*a)); } } /* example 3-22(b) 求累乘积的和 */ #includestdio.h void main(void) { int i,j; /* 定义整型循环变量 */ float temp; /* 定义累乘积 */ float sum=0.0; /* 定义并初始化累加和 */ int n; printf(n=? ); scanf(%d,n); for(i=1;i=n;i++) /* 外循环求累加和 */ { temp=1.0; /* 初始化累乘积 */ for(j=1;j=i;j++) /* 内循环求累乘积 */ { temp = temp*j; /* 不断累乘积 */ } sum = sum+temp; /* 不断累加累乘积 */ } printf(sum=%f\n ,sum);

文档评论(0)

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

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

1亿VIP精品文档

相关文档