欢迎来到天天文库
浏览记录
ID:48731319
大小:258.00 KB
页数:29页
时间:2020-01-26
《第4章 循环控制.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章循环控制本章要点:建立循环程序设计的基本概念和逻辑思维掌握C语言循环程序设计的方法4.1概述1.引入循环控制语句的作用当满足一定条件时,重复执行一段程序.2.设置循环需要考虑的问题循环初值;循环条件的设置;循环体应包括的语句;循环条件的修改。3.C语言中可用以下语句实现循环循环结构主要有:(1)用goto语句和if语句构成循环;(2)用while语句;(3)用do-while语句;(4)用for语句。4.2goto语句以及用goto语句构成循环一般形式:goto标号;标号:语句其中:标号用标识符表示,即由字母、数字和下划线组成,且首字符必须为字
2、母或下划线。不能用整数来作标号。用途:1.与if语句一起构成循环结构。2.从循环体中跳到循环体外(一般指最深层)。3.改变程序自上而下的执行顺序。缺点:滥用goto语句,可使程序无规律、可读性差。例4.1用if语句和goto语句构成循环,求和s=1+2+······+100main(){inti,sum=0;i=1;loop:if(i<=100){sum=sum+i;i++;gotoloop;}printf(“%d”,sum);}4.3while语句一般形式:while(表达式)语句功能:当表达式为非0值时,执行while语句中的内嵌语句。特点:先判
3、断表达式,后执行语句。流程图:表达式语句非00说明:(1)执行while循环语句时,如果表达式的值第一次计算就等于0,则循环体一次也不执行。(2)发生下列情况之一时,while循环结束执行:表达式的值为0;循环体内遇到break语句;循环体内遇到goto语句,且与该goto语句配合使用的标号所指定的语句在本循环体外;循环体内遇到return语句,此时退出while循环后,执行的流程从包含该while语句的函数返回到调用函数。例4.2求main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf(“
4、%d”,sum);}i=1,sum=0i<=100?sum=sum+ii=i+1零非零说明:1)循环体中如果包含一个以上的语句,应该用花括号括起来;2)在循环体中应有使循环趋于结束的语句,避免进入死循环;在本例中,设置循环条件为i<100,然后语句中有i++,这样就不会出现死循环。4.4do-while语句一般形式:do循环体语句while(表达式);特点:先执行循环体,然后判断条件是否成立,成立继续执行,否则退出循环;流程图:循环体语句表达式非00例4.3用do-while语句求main(){inti,sum=0;i=1;do{sum=sum+i;
5、i++;}while(i<=100);printf(“%d”,sum);}}表达式=0?语句零非零i<=100?sum=sum+ii=i+1i=1while语句与do-while语句之间的区别和相同点1)do-while语句结构可以转换成while结构,可以认为do-while结构是由一个语句加一个while结构构成;2)当while后的表达式为真时,while语句和do—while语句的结果相同,但是对于while后面的表达式一开始就为0值,两种循环的结果不同;main(){inti,s=0;scanf(“%d”,&i);while(i<=10){
6、s=s+i;i++;}printf(“s=%d”,s);}输入:1打印:55输入:11打印:0main(){inti,s=0;scanf(“%d”,&i);do{s=s+i;i++;}while(i<=10);printf(“s=%d”,s);}输入:1打印:55输入:11打印:114.5for语句for语句的一般形式为:for(表达式1;表达式2;表达式3)语句执行过程流程图:表达式1表达式2真语句表达式3假for语句的下一语句例:for(i=1;i<=100;i++)sum=sum+i;i=1i<=100真sum=sum+ii++假它相当
7、于i=1;while(i<=100){sum=sum+i;i++;}说明:(1)for语句的一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。比如:for(i=1;i<=100;i++)sum=sum+i;可写为:i=1;for(;i<=100;i++)sum=sum+i;(2)表达式2不能省略,否则会导致死循环;(3)表达式3可以省略,但此时应另外设法保证循环能正常结束。比如:for(i=1;i<=100;i++)sum=sum+i;可写为:for(i=1;i<=100;){sum=sum+i;i++;}(4)表达式1可以为
8、设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他变量表达式。此外表达式1和表达式3还可以是逗号表达
此文档下载收益归作者所有