网站大量收购闲置独家精品文档,联系QQ:2885784924

ETempC程序设计1第六讲-循环结构.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环结构程序设计 程序的三种基本结构 顺序结构 程序的基本结构 若连续求和的次数确定,即循环次数确定的循环 若循环次数不确定 若循环次数不确定(续) goto语句构成的循环 本节要点 while循环 do-while循环 for循环 循环的嵌套 break语句和continue语句 while循环 语句一般格式 while (表达式) 语句 功能: 计算表达式的值,为非0(逻辑真)时,重复执行内嵌语句,每执行一次,就判断一次表达式的值,直到表达式的值为0 时结束循环,转去执行while后面的语句。 求累加和 【例】编写程序,求100个自然数的和 即: s=1+2+3+ … +100 求累加和(续) 求累加和(续) for循环 语句一般格式 for (表达式1;表达式2;表达式3) 语句 说明: 所有用 while 语句实现的循环都可以用for 语句实现。 几种for语句中表达式的省略情况 ⑴ 表达式1、2、3全省略,即: for ( ; ; ) 就等同于:while (1),会无限循环(死循环) 课堂练习 1+3+5+7+……+99 1-2+3-4+5+……+99-100 1+1/2+1/3+1/4+……+1/100 1-1/2+1/3-1/4+……+1/99-1/100 一个典型的错误 求5! do-while循环 语句一般格式 do 语句 while (表达式); 功能: 先执行内嵌语句(循环体),之后计算表达式的值,不为0(逻辑真)时,再执行循环体并判断条件,直到表达式的值为 0 结束循环,转去执行while下面的语句。 While循环和do while 循环 说明: while和do-while都能实现循环控制,while结构程序通常都可以转换成do-while结构 经典实例 判断几位数,并逆序输出 混合运算 素数 最小公倍数和最大公约数 a+aa+aaa+aaaa+…… Fibonacci数列 输出图形 输出一个乘法口诀表 分解质因数 实例1 判断一个不多于五位的非负整数的位数,并逆序输出,如12345,输出为54321 实例1(续) 若用循环先找规律(12345): 实例2 (1)求1-2+3-4+5-6+7+…+99-100 (2)利用循环语句求1-1/32+1/52-1/72+......+ 1/(2n-1) 2的值。(本题求前50项的和) 实例2(续) 实例2(续) 几种循环语句的比较 while和do-while语句的表达式只有一个,for语句有三个。 while 和for先判断循环条件后执行循环体,do-while语句先执行循环体后判断循环条件。 实例3 判断一个数是否是素数 实例3(续) 将100-200之间的素数按5个一行输出 实例4 判断两个正整数的最小公倍数和最大公约数 实例4(续) 实例5 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 实例6 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? ??? 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 实例6(续) 按每行输出5个数的形式输出Fibonacci数列的前20项 。 算法和程序 #define N 20 main( ) { int i,f1,f2,f3; f1=f2=1; printf(\n%8d%8d,f1,f2); for (i=3; i=N; i++) { f3=f1+f2; f1=f2; f2=f3; printf(%8d,f3); if (i%5==0) printf(\n); } } 循环结构中的跳转语句 有如下三种语句实现跳转: continue语句 break语句 在循环语句的循环体中使用,可以进行循环的流程控制 continue语句及应用 功能: 中断循环体的本次执行(即跳过循环体中尚未执行的语句),立即开始执行下一次循环。 例如: ⑴ int x,n=0,s=0; while (n10) { scanf(%d,x); if (x0) continue; s+=x; n++; }; 循环中break的应用 功能: 利用break语句能够强迫终止本层循环,转到后续语句执行。 例如: ⑴ int x,n=0,s=0; while (n10) { scanf(%d,x);

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档