欢迎来到天天文库
浏览记录
ID:51308889
大小:1.09 MB
页数:53页
时间:2020-03-21
《《C语言循环结构》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、*第1页循环语句概述问题:求1~100的累计和。根据已有的知识,可以用“1+2+……+100”来求解,但显然很繁琐。现在换个思路来考虑:首先设置一个累计器sum,其初值为0,利用sum=sum+i来计算(i依次取1、2、……、100),只要解决以下3个问题即可:(1)将i的初值置为1;(2)每执行1次“sum=sum+i”后,i增1;(3)当n增到101时,停止计算。此时,sum的值就是1~100的累计和。*第2页根据已有的知识,单独实现每一步都不难。但是,由于需要经常使用这种重复计算结构(称为循环结构),C语言提供了循环语句来实现,以简化、并规范循环结构程序设计。在C语言中,可
2、用以下语句实现循环:(1)用for语句。(2)用do-while语句。(3)用while语句。*第3页§5.1for语句循环的意思就是让程序重复地执行某些语句。C语言提供的循环结构有三种:for语句、while语句和do_while语句。for语句既可以用于循环次数已知的情况,也可用于循环次数预先不知道的情况。for语句的一般形式为:for(<初始表达式>);<条件表达式>;<循环表达式>)<循环体语句>*第4页功能:先计算<初始表达式>的值,然后判断<条件表达式>的值,若该值为“假”,则退出循环,执行循环体下面的语句;若该值为“真”,则执行<循环体语句>,然后计算<循环表达式>的值
3、,再判断<条件表达式>的值,重复以上的操作。for语句的流程图如图:一般情况下,<循环体语句>是由一对花括括起来的复合语句。*第5页for循环语句注意:①<初始表达式>可以省略,但须保留分号(;),同时在for之前必须给循环变量赋值,如:i=1;for(;i<=100;i++)sum=sum+i;②<条件表达式>一般不可省略,否则为无限循环。如:for(i=1;;i++)sum=sum+i;相当于条件总为真,程序会一直不停的执行直到“数据溢出”。*第6页③<循环表达式>亦可省略,但在循环语句体中必须有语句来修改循环变量,以使条件表达式的值在某一时刻为0,从而能正常结束循环。如:for
4、(sum=0,i=1;i<=100;){sum=sum+i;i++;}④三个表达式均省略,即for(;;),为无限循环,程序中要避免这种情况的发生。⑤条件表达式可以是关系表达式、数值表达式。只要表达式的值0。就执行循环语句。如:for(i=0;(c=getchar())!=‘’;i+=c);*第7页⑥初始表达式、循环表达式可以是逗号表达式如:for(sum=0,i=1;i<=100;i++,i++)相当于:sum=0;for(i=1;i<=100;i=i+2)⑦for循环也可以嵌套,执行时是由外向里,逐层进行,先执行外层循环,再进入内层循环;退出时相反,由里向外逐层退出,先退出
5、内层循环,然后退到上一层循环。【例5-2】任意从键盘输入两个整数a、b(amain(){inti,j,a,b,sum=0;printf("Pleaseinputtwonumber:");scanf("a=%d,b=%d",&a,&b);i=a;j=b;if(a>b){i=b;j=a;}for(;i<=j;i+
6、+)sum=sum+i;printf("sum=%d",sum);}*第10页【例5-3】编写一个程序,在屏幕上打印出具有8行7列的如下图案:这是一个很有规律的图案,可采用二重循环嵌套的方式:第1层控制行数,第2层控制列数。算法流程图如下图:*第11页/*exam5_3.c打印图案*/#includemain(){inti,j;for(i=1;i<=8;i++){for(j=1;j<=7;j++)printf("*");printf("");}}*第12页§5.2while语句While语句也是一种用于产生循环动作的语句,一般形式为:while(<表达式>)
7、<循环体语句>功能:先计算<表达式>的值,若该值为“假”,则跳出循环,执行循环体后面的语句;若该值为“真”,则执行<循环体语句>,然后回过头来再检查<表达式>的值,重复以上的操作。while语句的流程图*第13页<循环语句体>:是用一对花括号括起来的复合语句。注意:在<循环语句体>中要有使<表达式>的值为假(或<表达式>的值为零)的语句,否则会使程序出现无限循环而发生错误。注意:由于while循环是先判断<表达式>的值,后决定是否执行<循环语句>,因此,有
此文档下载收益归作者所有