- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 循环结构的C程序设计 第一节 循环的基本概念 第二节 while语句 第三节 do-while语句 第四节 for语句 第五节 break、continue、goto语句 第六节 几种循环语句比较 第七节 循环的嵌套 第八节 程序举例 循环的必要性 int result1,result2,result3; int result4,result5; result1 = 1 * 10; printf(1 × 10 = %d \n,result1); result2 = 2 * 10; printf(2 × 10 = %d \n,result2); result3 = 3 * 10; printf(3 × 10 = %d \n,result3); result4 = 4 * 10; printf(4 × 10 = %d \n,result4); result5 = 5 * 10; printf(5 × 10 = %d \n,result5); 循环的必要性 C 语言中的各种循环 例:分析程序的运行结果 #include stdio.h main ( ) { int i=1,sum=0; while ( i=100 ) printf(“i=%d,sum=%d”,i,sum += i); i++; printf(”Sum=%d\n”,sum); } 结果:程序将不停的打印“i=1,sum=...”。 无法正常终止的程序,称为“死循环”。 结论:在while语句循环体中,一定要有能够对循环控制条件产生影响的语句。避免出现“死循环”现象。 do-while 循环示例 比较 while 和 do-while循环 例3:输入一个正整数,要求以相反的顺序输出该数。例如:输入12345,则输出为54321。 基本思路:可以从个位开始,按位输出整数的每一位 main( ) { unsigned int number; printf (Input the number:); scanf (%d, number); do { printf(%d, number%10); number/=10; /* number缩小10倍 */ } while (number!=0); } for 循环 for 循环示例 for 循环的表达式 for 循环中有三个表达式 for 语句中的各个表达式都可以省略 分号分隔符不能省略 省略表达式1 相当于省去了为循环变量赋初值,此时应在for语句之前给循环变量赋初值 省略表达式2 即不判断循环条件,也就是认为表达式2始终为真, 这时应在循环体内设法结束循环,否则将成为死循环 省略表达式3 即省去修改循环变量的值,但此时应在循环体内设法结束循环 省略三个表达式 即不为循环变量赋初值,不设置循环条件(认为表达式2为真值),不修改循环变量的值,无终止地执行循环体。此时应在循环体内设法结束循环,否则会成为死循环 例:数列1、1、2、3、5、8、13、21、…是著名的菲波那奇数列,其递推通项公式为: F1 = F2 =1 Fn = Fn-1 + Fn-2 (n=3) 为求出第N项的值,请编写程序。 根据递推通项公式,可用递推法编写程序,计算第N项的值。 递推法:由初始的已知条件开始,先计算出第(N-1)步的结果,再利用前面已知的(N-1)项结果,按照递推公式(或遵照递推规则),推出第N步结果。 递推法是程序设计中最常用的方法之一,使用递推法必须有明确的递推初始值和递推规则(递推公式)。 break 语句 continue 语句 continue 语句的作用是跳过循环体中剩余的语句而执行下一次循环 对于while和do-while循环,continue 语句执行之后的动作是条件判断;对于for循环,随后的动作是变量更新 continue 语句 例:求555555的约数中最大的三位数是多少? main( ) { int j; long n=555555; /*所求的约数的可能取值是从999到100,j从大到小*/ for (j=999; j=100; j--) if ( n%j==0 ) /* 若能够整除j,则j是约数 */ { printf(”3 digits in %ld=%d\n”, n, j ); break; /* 控制退出循环 */ } } main ( ) { int i, count=0, j, sum=0; for ( i=1; i=10; i++) { printf
您可能关注的文档
- 第五节、流水句的翻译课件.ppt
- 第五章量值传递与溯源课件.ppt
- 第五章舞台灯光设计课件.ppt
- 第五节狄更斯课件.ppt
- 第五节慢性支气管炎阻塞性肺气肿病人的护理..ppt
- 第五讲 文学常识与名著阅读..ppt
- 第五讲、两个成功案例课件.ppt
- 第五讲网页制作补充内容滚动文字.ppt
- 第五讲评估优化效果传递开放获取课件.ppt
- 第五课劳动者课件.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)