第5章 循环结构程序设计课件.ppt

上传人:春哥&#****71; 文档编号:15303731 上传时间:2022-05-12 格式:PPT 页数:24 大小:386KB
返回 下载 相关 举报
第5章 循环结构程序设计课件.ppt_第1页
第1页 / 共24页
第5章 循环结构程序设计课件.ppt_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《第5章 循环结构程序设计课件.ppt》由会员分享,可在线阅读,更多相关《第5章 循环结构程序设计课件.ppt(24页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第5章循环结构程序设计循环结构程序设计-2- while 语句语句 do-while 语句语句 for 语句语句 循环的嵌套循环的嵌套 break 与与 continue 语句语句 循环结构的综合编程循环结构的综合编程本章教学内容本章教学内容-3-本章教学目标本章教学目标 通过本部分的学习,使学生理解并掌握程序设计中构成循环通过本部分的学习,使学生理解并掌握程序设计中构成循环的方法。的方法。 掌握掌握 for 、 while 、 do-while 语句的用法语句的用法 。 掌握掌握 break 、 continue 在循环语句中的作用。在循环语句中的作用。 能熟练运用循环的嵌套编程。能熟练运用

2、循环的嵌套编程。 在实际应用中,能熟练地运用循环结构编程。在实际应用中,能熟练地运用循环结构编程。-4-5.1 while5.1 while循环循环 whilewhile循环的一般形式为:循环的一般形式为: while(while(表达式表达式) ) 循环语句;循环语句; while while后的表达式是逻辑表达式,又称为循环控制条件;循后的表达式是逻辑表达式,又称为循环控制条件;循环语句又称为循环体。环语句又称为循环体。 说明:不管说明:不管whilewhile后的表达式为何种类型,只要不是后的表达式为何种类型,只要不是0 0,循环,循环条件即为真,循环就进行。条件即为真,循环就进行。 不

3、管不管whilewhile后的表达式为何种类型,后的表达式为何种类型,只要不是只要不是0 0,循环条件即为真,循环条件即为真,循环就进行循环就进行-5-5.1 while5.1 while循环循环【例题【例题5-1】从键盘输入】从键盘输入50个学生的成绩,输出其总分。个学生的成绩,输出其总分。 #include int main( ) int i; float score, sum; i=1; sum=0; printf(“请输入学生成绩:”); while(i=50) scanf(“%f”, &score); sum=sum+score; i=i+1; printf(“50个学生的成绩之和为

4、:”+sum); return 0; -6-5.1 while5.1 while循环循环【例题例题5-2】用while语句求sum=1+3+5+7+.+99的和。 #include /包含头文件 int main( ) int i, sum; i=1, sum=0; while(i=99) /循环控制条件 sum=sum+i; /循环体语句 i=i+2; /循环每进行一次,变量i的值增加2 printf(“sum=%dn”,sum); return 0; 运行结果-7-5.1 while5.1 while循环循环【例题例题5-3】编写程序求sum=1!+2!+3!+10!的值。 #includ

5、e int main( ) long sum=0,s=1; int i=1; while(i=10) s=s*i; sum=sum+s; i=i+1; 运行结果运行结果 printf(“1!+2!+3!+10!=%ldn”, sum); -8-5.2 dowhile循环 dowhile循环的一般形式为: do 循环体语句 while(表达式); 注意: while表达式后必须加分号,表示该语句的结束。 dowhile循环先执行循环体语句,然后判断表达式的值, 所以dowhile循环至少执行一次。 while后的表达式常常是关系表达式或逻辑表达式,也可以是任意类型的表达式。-9-5.2 dowh

6、ile循环【例题例题5-4】用dowhile循环编程,求sum=2+4+6+8+100的值。 #include int main( ) int i, sum; i=2; sum=0; do sum=sum+i; i=i+2; while(i=100); 运行结果 printf(sum=%dn,sum); return 0; -10-5.3 for循环 C语言中的for循环语句使用最灵活, for循环语句既可以用于循环次数已知的情况,又可以用于循环次数未知而只给出了循环结束条件的情况,它可以取代前面学过的while循环和dowhile循环。 for循环语句的一般形式为: for(表达式1; 表达

7、式2; 表达式3) 循环体语句; 给循环变量赋初值,给循环变量赋初值,在整个循环过程中在整个循环过程中只执行一次只执行一次循环控制条件循环控制条件表达式表达式循环每进行一次循环每进行一次,循环变量的改变值循环变量的改变值-11-5.3 for循环 for(循环变量赋初值; 循环进行的条件; 循环变量的变化) 循环体语句; 这样,for循环语句的执行过程可以用下图表示:-12-5.3 for循环【例题5-5】用for循环编程,求sum=2+4+6+8+100的值。 #include int main() int i, sum; sum=0; for(i=2; i=100; i=i+2) sum=

8、sum+i; printf(“2+4+6+8+100=%dn”,sum); 运行结果-13-5.4 break语句和continue语句5.4.1 break语句 break语句可以使流程跳出switch结构,还可以用于从循环体内跳出循环体,提前结束循环。下面介绍break语句的第二种用法。 break语句的一般形式为: break; break语句的功能:从循环体内跳到循环体外,提前终止循环的进行,接着执行循环体后的语句。-14-5.4.1 break语句【例题例题5-6】用for循环语句编程,从键盘输入若干个数,当输入零时结束,分别统计其中输入正数和负数的个数。 #include int

9、main( ) int x,n1,n2; n1=n2=0; printf(请输入若干个数:); while(1) scanf(%d,&x); if(x0) n1=n1+1; else if(x0) n2=n2+1; else break; 程序运行结果 printf(正数的个数=%d,负数的个数=%dn,n1,n2); return 0; 非非0的数即可,表示的数即可,表示循环条件恒为真循环条件恒为真。-15-5.4.2 continue语句 continue语句的一般形式为: continue; continue语句的功能:提前结束本次循环,即跳过循环体中continue语句后面尚未执行的循

10、环体语句,接着进行下一次循环条件的判断。-16-5.4.2 continue语句【例题例题5-7】输出100以内(不含100)能被3整除且个位数为6的所有整数。 #include int main( ) int i, j; for(i=0;i=9;i+) j=i*10+6; if(j%3!=0) continue; printf(“%d ”,j); 运行结果 -17-5.5 循环的嵌套 在一个循环体内嵌套另一个完整的循环体结构,称为循环的嵌套。下面以双重循环为例,来看嵌套循环的执行过程: (1) 外层判断循环条件,满足进入外层循环体 (2) 内层判断循环条件 (3) 内层循环体执行 (4) 内

11、层循环变量累加,回到2执行,直到不满足内层条件,内循环退出 (5)外层循环变量累加,回到1执行,依次循环下去,直到不满足外层循环条件,循环彻底退出。-18-5.5 循环的嵌套 #include int main( ) int i, j; for(i=1;i=9;i+) /外循环控制行 for(j=1;j=i;j+) /内循环控制列 printf(%d*%d=%-5d,j,i,i*j); printf( n); return 0;【例题【例题5-8】用循环的嵌套编程,输出如下所示的九九乘法表。】用循环的嵌套编程,输出如下所示的九九乘法表。-19-5.5 循环的嵌套【例题例题5-9】“白鸡百钱”问

12、题:用100元钱,买100只鸡,已知公鸡每只5元,母鸡每只3元,小鸡1元钱买三只,现用100元钱买100只鸡,公鸡、母鸡、小鸡各可以买多少只? #include int main( ) int x,y,z; for(x=0;x=20;x+) for(y=0; y=33;y+) for(z=0;z=100;z+) if(x+y+z=100&5*x+3*y+z/3.0=100) printf(“公鸡%d只,母鸡%d只,小鸡%d只n”, x,y,z); -20-5.6 循环程序举例循环程序举例 #include int main() int i,n; printf(“3-100中的素数为:n”);

13、for(n=3;n=100;n+) for(i=2;i=n) printf(“%dt”,n); printf(“n”); return 0; 【例题【例题5-10】输出】输出3100中的所有素数。中的所有素数。-21-5.6 循环程序举例循环程序举例#includeint main() int letter,space,number,other; char c; letter=space=number=other=0; while(c=getchar()!=n) if(c=a&c=A &c=0&c=9) number+; else other+; printf(“字母%d个,空格%d个,数字%

14、d个, 其他字符%d个n”,letter,space,number,other); return 0;【例题【例题5-11】输入一行字符串,分别统计出其中英文字母、空格、数字和】输入一行字符串,分别统计出其中英文字母、空格、数字和其他字符其他字符 的个数。的个数。-22-【例题例题5-12】打印如下的图 形。 * * * * * #include int main() int i,j; for(i=1;i=3;i+) for(j=1;j=3-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(*); printf(n); for(i=4;i=5;i+) fo

15、r(j=1;j=i-3;j+) printf( ); for(j=1;j=2*(5-i)+1;j+) printf(*); printf(n); return 0; 5.6 循环程序举例循环程序举例-23-#include int main( ) int i; long int f1=1,f2=1,f3; printf(“n”); printf(“%-12Ld%-12ld”,f1,f2)for(i=3;i=20;i+) f3=f1+f2; f1=f2; f2=f3; printf(“%-12ld”,f3); if(i%5=0) printf(“n”); return 0;5.6 循环程序举例循环程序举例【例题【例题5-13】求】求Fibonacci数列的前数列的前20项。项。Fibonacci数列的特点如下:前数列的特点如下:前2项项的值均为的值均为1,从第,从第3项开始,每一项是其前项开始,每一项是其前2项之和。项之和。这是一个有趣的古代数学问题,由意大利的著名数学家这是一个有趣的古代数学问题,由意大利的著名数学家Fibonacci提出。提出。 谢 谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com