欢迎来到天天文库
浏览记录
ID:50320733
大小:1.07 MB
页数:44页
时间:2020-03-08
《C语言程序设计教程 教学课件 作者 李丽娟 第5章循环结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、*1/44第五章循环结构§5.1for语句§5.2while语句§5.3do~while语句§5.4用于循环中的break和continue语句§5.5循环结构的嵌套§5.6goto语句§5.7程序范例*2/44§5.1for语句循环的意思就是让程序重复地执行某些语句。C语言提供的循环结构有三种:for语句、while语句和do_while语句。for语句既可以用于循环次数已知的情况,也可用于循环次数预先不知道的情况。for语句的一般形式为:for(<初始表达式>);<条件表达式>;<循环表达式>)<循环体语句>*3/44功能:先计算<初始表达式>的值,然后判断<条
2、件表达式>的值,若该值为“假”,则退出循环,执行循环体下面的语句;若该值为“真”,则执行<循环体语句>,然后计算<循环表达式>的值,再判断<条件表达式>的值,重复以上的操作。for语句的流程图如图:一般情况下,<循环体语句>是由一对花括括起来的复合语句。*4/44【例5-1】求1+2+3+…+100的和。几何级数求和问题,其数学表达式为:*5/44/*exam5_1.c简单几何级数的和*/#includemain(){inti,sum;sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("sum=%d",sum)
3、;}程序运行结果:sum=5050*6/44for循环语句注意:①<初始表达式>可以省略,但须保留分号(;),同时在for之前必须给循环变量赋值,形式为:<初始表达式>;for(;<条件表达式>;<循环表达式>)<循环语句体>②<条件表达式>一般不可省略,否则为无限循环。如:for(i=1;;i++)sum=sum+i;相当于条件总为真,程序会一直不停的执行直到“数据溢出”。*7/44③<循环表达式>亦可省略,但在循环语句体中必须有语句来修改循环变量,以使条件表达式的值在某一时刻为0,从而能正常结束循环。如:for(sum=0,i=1;i<=100;){sum=su
4、m+i;i++;}④三个表达式均省略,即for(;;),为无限循环,程序中要避免这种情况的发生。⑤条件表达式可以是关系表达式、数值表达式。只要表达式的值0。就执行循环语句。如:for(i=0;(c=getchar())!=‘’;i+=c);*8/44⑥初始表达式、循环表达式可以是逗号表达式如: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++)su
6、m=sum+i;printf("sum=%d",sum);}*11/44【例5-3】编写一个程序,在屏幕上打印出具有8行7列的如下图案:这是一个很有规律的图案,可采用二重循环嵌套的方式:第1层控制行数,第2层控制列数。算法流程图如下图:*12/44/*exam5_3.c打印图案*/#includemain(){inti,j;for(i=1;i<=8;i++){for(j=1;j<=7;j++)printf("*");printf("");}}*13/44§5.2while语句While语句也是一种用于产生循环动作的语句,一般形式为:whil
7、e(<表达式>)<循环体语句>功能:先计算<表达式>的值,若该值为“假”,则跳出循环,执行循环体后面的语句;若该值为“真”,则执行<循环体语句>,然后回过头来再检查<表达式>的值,重复以上的操作。while语句的流程图*14/44<循环语句体>:是用一对花括号括起来的复合语句。注意:在<循环语句体>中要有使<表达式>的值为假(或<表达式>的值为零)的语句,否则会使程序出现无限循环而发生错误。注意:由于while循环是先判断<表达式>的值,后决定是否执行<循环语句>,因此,有可能一次也不执行<循环语句>。*15/44【例5-4】将例5-1用while语句重写,求简
此文档下载收益归作者所有