资源描述:
《C第6章循环控制.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章循环控制6.1概述6.2goto语句6.3循环语句6.4循环的嵌套6.5break和continue语句6.6循环程序举例8/12/20211第6章循环控制6.1概述如:sum=1+2+3+…+100;实际问题:一组重复执行的语句。则用循环结构解决。8/12/20212第6章循环控制C语言用四种形式循环2.while语句3.do…while语句4.for语句1.if语句与goto语句8/12/20213第6章循环控制6.2goto语句及其构成的循环1.goto语句2.与if构成循环.形式:goto标号;功能:无条件转向标号处。标号:用标识符命名。8
2、/12/20214第6章循环控制#includevoidmain(){inti,sum=0;i=1;loop:if(i<=100){sum=sum+i;i++;gotoloop;}printf("%d",sum);}运行结果如下:5050例6.1:求8/12/20215第6章循环控制使用goto语句的几点注意:1、结构化程序设计方法主张限制使用goto语句,因为滥用goto语句将使程序流程无规则、可读性差。2、使用goto语句的两个用途:1)可与if语句一起构成循环结构。2)从循环体中跳转到循环体外。8/12/20216第6章循环控制6
3、.3循环语句1.while语句2.do…while语句3.for语句4.几种循环的比较8/12/20217第6章循环控制1.While语句为了使程序的结构化功能强,应尽量少用goto语句。(1)形式:while(表达式)语句(2)执行过程:先判断表达式的值。若0.则执行其后面的语句,否则while执行完毕。专门的当型循环语句––while语句8/12/20218第6章循环控制(3)流程图:0=0表达式语句下一语句将上述例子用while语句写出例6.2while(i<=100){sum+=i;//sum=sum+ii++;}loop:if(i<=100)
4、{sum=sum+i;i++;gotoloop;}8/12/20219第6章循环控制语句中应有使表达式=0的语句。否则会出现无限循环–––"死"循环。注:while后面的语句一般为复合语句,即:加{}8/12/202110第6章循环控制2.do…while语句一种专门的“直到型”循环语句。(2)执行过程:先执行语句,再判表达式的值,若0,再执行语句,否则结束循环(3)流程:语句表达式0=0(1)形式:do语句while(表达式);注,其后有分号8/12/202111第6章循环控制voidmain(){inti,sum=0;i=1;do{sum=su
5、m+i;i++;}while(i<=100);printf("%d",sum);}例6.3while语句与do…while语句的区别:当第一次执行时,若表达式=0时,则while语句与do…while有所不同,do…while执行一次后面的语句,而while不执行。因此,do…while语句又叫做非0次循环语句。见课本117页例题6.48/12/202112第6章循环控制3.for语句(1)形式首先计算表达式1,接着执行表达式2,若表达式2的值0,则执行语句,接着计算表达式3,再判断表达式2的值.依此重复下去,直到表达式2的值=0(假)。一种形式更为灵
6、活的循环语句。(2)执行过程for(表达式1;表达式2;表达式3)语句8/12/202113第6章循环控制(3)流程:=0(假)0(真)计算表达式1求表达式2值语句计算表达式3结束for语句8/12/202114第6章循环控制用for语句写出上述例子for用while代替的流程表达式1;while(表达式2){语句表达式3;}for(i=1;i<=100;i++)sum+=i;for语句完全可以用while代替,但for直观、简单、方便8/12/202115第6章循环控制(4)for语句的几种特例可以省略表达式1,但须保留分号;这时在for之前就得赋值
7、给循环变量;i=1;for(;i<=100;i++)sum+=i;表达式2一般不可省略,否则为无限循环例:for(i=1;;i++)sum=sum+i;相当于条件永真、永不为08/12/202116第6章循环控制(count)<-循环次数循环体(count)<-(count)-1(count)=0?思考:同FOR语句控制的循环的差异8/12/202117第6章循环控制表达式3亦可省略,但在循环体中须有语句修改循环变量;以使表达式2在某一时刻为0而正常结束循环。例:for(sum=0,i=1;i<=100;){sum=sum+i;i++;}8/12/20
8、2118第6章循环控制若同时省略表达式1,表达式3,则相当于wh