资源描述:
《C语言教案ch6循环结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C程序设计(第二版)---------------教学课件制作人:黄荧制作人单位:河师大数学与信息科学学院第六章循环控制本章主要内容:1三种循环语句:for、while、do-while(重点!!!)2两种中断语句:break、continue3几种关于循环的经典算法(重点!!!)§6.1概述1什么是循环结构?根据条件P成立与否,决定是否重复执行某部分操作2循环结构的程序设计能解决什么样的实际问题?用来解决包含有重复操作的实际问题.如,求和:1+2+3+4+…+100输入全班同学的成绩…等等3循环结构的问题要素:1)哪一
2、部分操作在重复---循环体2)循环什么时候要重复---循环控制条件!!!(循环在循环控制条件不成立的时候结束)4实现循环结构的四种方法:1)goto-if语句(不提倡)2)while语句(主要实现当型循环)3)do—while语句(主要实现直到型循环)4)for语句(多功能)表达式语句非00§6.2goto-if语句实现的循环。1无条件转移语句:一般格式:goto标号;语句标号必须是合法的标识符,不能用整数!格式1标号:if(表达式){<循环体>goto标号;}2实现循环的格式:格式2标号:<循环体>if(表达式)got
3、o标号;例6.1求=1+2+3+4+……+100#includevoidmain(){intsum=0,i=1;loop:/*标号*/if(i<=100){sum=sum+i;i++;gotoloop;}printf("sum=%d",sum);}§6.3while语句(主要用于实现当型循环)当满足条件表达式P时A块一般格式:while(表达式)语句表达式语句非00执行过程一般格式:while(表达式)语句例6.2求(用while语句)#includevoidmain(){ints
4、um=0,i=1;while(i<=100){sum=sum+i;i++;}printf("sum=%d",sum);}表达式语句非00执行过程思考:sum不赋初值行不行?sum赋成1行不行?去掉i++;行不行?去掉了会发生什么情况?§6.4do-while语句(主要用实现直到型循环)一般格式:do语句while(表达式);表达式语句非00执行过程A块直到条件P为假时停止例6.3求(用do-while语句)一般格式:do语句while(表达式);#includevoidmain(){intsum=0
5、,i=1;do{sum+=i;i++;}while(i<=100);printf("sum=%d",sum);}表达式语句非00执行过程分析两程序作用是否相同?为什么?程序1:#includevoidmain(){intsum=0,i=11;while(i<=10){sum=sum+i;i++;}printf("sum=%d",sum);}程序2:#includevoidmain(){intsum=0,i=11;do{sum=sum+i;i++;}while(i<=10);pr
6、intf("sum=%d",sum);}输出结果:sum=11输出结果:sum=0§6.5for语句一般格式:for(表达式1;表达式2;表达式3)语句执行过程:表达式2语句非00求解表达式1求解表达式3语句求解表达式3表达式2为真求解表达式1给循环变量赋初值循环控制条件给循环变量加增量循环体例6.4求(用for语句)#includevoidmain(){intsum,i;sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("sum=%d",sum);}考虑:求,
7、S=5+10+15+…+100,,20!一般格式:for(表达式1;表达式2;表达式3)语句例6.4a求(用for语句可以代替while)#includevoidmain(){intsum,i;sum=0;for(i=0;i<=100;i++)sum=sum+i;printf("sum=%d",sum);}i=0;while(i<=100){sum=sum+i;i++;}一般地,对一般格式:for(表达式1;表达式2;表达式3)语句表达式1;while(表达式2){语句表达式3;}表达式2语句非
8、00求解表达式1求解表达式3注意到:for语句中的三个表达式都是可以省略的。如:for(i=1;i<=100;i++)sum=sum+i;for(i=1;;i++){if(i>100)break;sum=sum+i;}i=1;for(;i<=100;i++)sum=sum+i;for(i=1;i<=100;){sum