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

C语言程序设计教程(杨路明)第5章 循环结构程序设计.ppt

C语言程序设计教程(杨路明)第5章 循环结构程序设计.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1 while语句 5.2 do-while语句 5.3 for 语句 5.4 break、continue和goto语句 5.5 循环的嵌套 5.6 复合结构程序举例 C语言有while、 do - while和for语句三种循环结构语句。 前两个称为条件循环,即根据条件来决定是否继续循环; 后一个称为计数循环,即根据设定的执行次数来执行循环。 5.1 while语句 例5.1 写一个程序,输入一个班学生的成绩,求全班的平均成绩。 分析:考虑到成绩没有负数,这就可以把循环条件定为每当输入的分数大于等于0时就继续输入成绩,输入的分数小于0时就停止输入。 解题步骤如下: 1 输入一个分数。 2 当“分数 =0”时,做下列工作。 ① 累计总分; ② 人数加一; ③ 输入下一分数。 3 重复第 2 步,直到“分数 0”。 5.2 do—while语句 想想这样的一段循环语句的执行结果: i 1; while i 100 putchar ‘*’ ; i++; 5.4 break、continue和goto语句 此类语句的功能是使程序从其所在的位置转向另一处。 goto语句使程序的结构性和可读性都变差,要求尽量避免使用,此处不做介绍。 5.4.1 break语句 它的作用是把流程转向所在结构之后。 在switch分支结构中,使用break语句可以使流程跳出switch分支结构。 同样的,在循环结构中,使用break语句使流程跳出当前的循环层,转向执行该循环结构后面的语句。 分析:多个正数的和用变量sum存放,初始值sum=0。每次输入的数据存入x,如果x =0 则sum += x,否则终止。 5.4.2 continue语句 #include main long int I,s 0; for I 10;I 130;I++ s s+I*I; printf “\n%d”,s ; 注意:i一定要是 long int 型。 #include main long int I, s 0; for I 10;I 150;I++ if I%2! 0 s s+I*I; printf “\n%ld”,s ; #include main long int I,s 0; for I 10;I 150;I++ if I%3 0||I%7 0 s s+I*I; printf “\n%ld”,s ; #include main int I,n 0; for I 1;I 800;I++ if I%3 0I%8 0 n++; printf “\n%d”,n ; #include main int I; float s 0; for I 1;I 50;I++ s s+1.0/ I*I printf “\n%.4f”,s ; #include main int n 1,s 0; do s s+n*n; n n+1; while s 5500 ; printf “\nn %d”,n-1 ; #include main int I; float a 1; for I 2;I 25;I++ a 1/ 1+a ; printf “\n%.10f”,a ; #include main int I; long int a 1; float s 0; for I 1;I 10;I++ a a*I; s s+1.0/a; printf “\n%.10f”,s ; main float s 1; int n; long int a 1,b 1; for n 1;n 40;n++ a a*n; b b* 2*n+1 ; s s+ float a/b; printf “\ns %.10f”,s ; #include main long int f1 1,f2 1,f,n; for n 3;n 40;n++ f f1+f2; f1 f2; f2 f; printf “\nf %ld”,f ; 思考:求14万之内的最大的f(n). #include main int n; float s 0; for n 1;n 100;n++ if n%2! 0 s s+1.0/ 2*n-1 else s s-1.0/ 2*n-1 ; printf “\n%.4f”,s ; main int a,s 0,I 1, j; for a 1000;a 1;a-- for j 2;j a;j++ if a%j 0 break; if j aI 20 s s+a; I++; if I 20 break; printf “\n%d”,s ; main int a,b,n 0,I; for a 200;a

文档评论(0)

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

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

1亿VIP精品文档

相关文档