C语言第5章循环结构.ppt

C语言第5章循环结构.ppt

ID:52266794

大小:895.50 KB

页数:49页

时间:2020-04-03

C语言第5章循环结构.ppt_第1页
C语言第5章循环结构.ppt_第2页
C语言第5章循环结构.ppt_第3页
C语言第5章循环结构.ppt_第4页
C语言第5章循环结构.ppt_第5页
资源描述:

《C语言第5章循环结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章循环结构1.§5.1~§5.52学时2.§5.62学时问题的提出:对于这样的一类问题:问题1.从键盘输入10个学生的成绩,求总成绩。问题2.求100以内的素数问题3.求1!+2!+3!+…+10!用前面所学知识来解决这些问题是非常麻烦的对于问题1的一个笨办法:设一个变量,每次输入一个学生成绩,累加后再输入下一个学生成绩,如下:scanf(“%f”,&a);s=s+a;scanf(“%f”,&a);s=s+a;………….这样重复10次,然后输出s的值。是否可用一种语句,使这两句话能自动的重复执行10次,以简化

2、书写的麻烦呢?这就是循环语句的任务。5.1goto循环结构概述C语言可实现循环的语句:用goto和if构成循环while语句do~while语句for语句goto语句及用goto构成循环goto语句一般格式:goto语句标号;….…..标号:语句;功能:无条件转移语句说明:不能用整数作标号只能出现在goto所在函数内,且唯一只能加在可执行语句前面限制使用goto语句例用if和goto语句构成循环,求/*ch5_1.c*/#includemain(){inti,sum=0;i=1;loop:if(

3、i<=100){sum+=i;i++;gotoloop;}printf("%d",sum);}sum=0+1sum=1+2=3sum=3+3=6sum=6+4……sum=4950+100=5050循环初值循环终值循环变量增值循环条件循环体5.2while循环结构一般形式:while(表达式)循环体语句;执行流程:expr循环体假(0)真(非0)while特点:先判断表达式,后执行循环体说明:循环体有可能一次也不执行循环体可为任意类型语句下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,re

4、turn,goto无限循环:while(1)循环体;例用while循环求/*ch5_2.c*/#includemain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循环初值循环终值循环变量增值循环条件循环体【例】问题1的解决方法1:采用while循环结构main(){intcount=1,total=0,grade;while(count<=10){printf("inputthegrade:");scanf("

5、%d",&grade);total=total+grade;count++;}printf("%d",total);}应注意:1、计数器和累加器的初值;2、一次循环后,循环控制变量的变化情况。3、跳出循环时循环控制变量的值应为多少?如果count初值为10,20时呢?111098765432count10987654321次数每次循环后,控制变量count的变化情况例显示1~10的平方/*ch5_21.c*/#includemain(){inti=1;while(i<=10){printf(

6、"%d*%d=%d",i,i,i*i);i++;}}运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100注意:循环控制变量值在循环体内必须有所改变。例如:请问下例中循环结束时i值为多少?i=1;while(i<=100)putchar(‘*’);i++;这个循环永远不会结束,因为循环控制变量i没有在循环体内被改变,i++;不属于循环语句。i++应该在循环体内改变:{}do循环体语句;while(表达式);执行流程:do循环体expr

7、假(0)真(非0)while5.3do…while循环结构一般形式:特点:先执行循环体,后判断表达式说明:至少执行一次循环体do~while可转化成while结构expr循环体假(0)真(非0)循环体While循环例用do~while循环求/*ch5_3.c*/#includemain(){inti,sum=0;i=1;do{sum+=i;i++;}while(i<=100);printf("%d",sum);}【例】问题1的解决方法2:采用do-while循环结构【源程序】main(){int

8、count=1,total=0,grade;do{printf("inputthegrade:");scanf("%d",&grade);total=total+grade;count++;}while(count<=10);printf("%d",total);}应注意:1、一次循环后,循环控制变量的变化情况。2、跳出循环时循环控制变量的值应为多少?如果count初

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。