欢迎来到天天文库
浏览记录
ID:50351273
大小:625.50 KB
页数:31页
时间:2020-03-08
《C语言程序设计 教学课件 作者 曹玲焕 孙萍主编 第五章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章循环结构程序设计一、while循环语句二、do-while循环语句格式输出和输入三、for循环语句四、break语句和continue语句五、循环结构的嵌套六、循环结构程序设计举例主要内容一、while循环语句while语句的一般形式如下:while(表达式)语句(即循环体部分)表达式语句循环条件(表达式)循环体语句(a)流程图(b)N-S图图5-1while语句说明:1.while语句的特点是先判断表达式的值,然后执行循环体中的语句,因此如果表达式的值一开始就为“假”,则循环体将一次也不执行。2.当循环体由多个语句组成时,必须用左、右花括号括起来,使其形成
2、复合语句。3.为了使循环最终能够结束,而不至于产生“死循环”,在循环体中应有使循环趋向于结束的语句。例【5.1】求1+2+3+…+100的和。#includemain(){inti,sum;i=1;sum=0;while(i<=100){sum+=i;i++;}printf("sum=%d",sum);}i=1,sum=0当i≤100sum+=ii++要素一要素二要素三图5-2例5.1的N-S图输出sum程序运行结果:back二、do-while循环语句do-while语句的一般形式如下:do语句(即循环体部分)while(表达式);表达式语
3、句非00循环体语句循环条件(表达式)(a)流程图(b)N-S图图5-3do—while语句说明:1.由于do-while语句是先执行循环体,然后再判断表达式的值,所以,无论一开始表达式的值为“真”还是为“假”,循环体中的语句都至少被执行一次,这一点同while语句是有区别的。2.如果do-while语句的循环体部分是由多个语句组成的话,则必须用左、右花括号括起来,使其形成复合语句。3.C语言中的do-while语句是在表达式的值为“真”时重复执行循环体,这一点同别的语言中的类似语句有区别,在程序设计时应引起注意。例【5.2】:用do-while语句,编程求解例5.
4、1题(求1+2+3+…+100的和)。#includemain(){inti,sum;i=1;sum=0;do{sum+=i;i++;}while(i<=100);printf(”sum=%d”,sum);}要素三i=1,sum=0sum+=ii++直到i>100输出sum要素一要素二图5-4例5.3程序流程图程序运行结果:back三、for循环语句for循环语句的一般形式如下所示:for(表达式1;表达式2;表达式3)语句(即循环体部分)表达式2语句求解表达式1求解表达式30非0循环变量←初值,始值,步长循环体语句(a)流程图(b)N-S图
5、图5-5for语句说明:1.for语句中的任何一个表达式都可以省略,但其中的分号一定要保留,当省略表达式2时,相当于“无限循环”(循环条件总为“真”),这时就需要在for语句的循环体中设置相应的语句来结束循环。2.如果for语句的循环体部分是由多个语句组成的,则必须写成复合语句的形式。3.for语句中的表达式1和表达式3既要中是一个简单表达式,也可以是由逗号连接的多个表达式。如:for(i=1,sum=0;i<=50;i++,i++)sum+=i;4.表达式1可以只有设置循环变量初值的赋值表达式,也可以还有与循环变量无关的其它表达式。表达式3也类似。例【5.3】用
6、for语句编程统计50名学生成绩的平均值。程序如下:#includemain(){inti,score;floatsum=0,ave;printf(“Inputscore:”);for(i=1;i<=50;i++){scanf(“%d”,&score);sum+=score;}ave=sum/50;printf(”ave=%f”,ave);}back四、break语句和continue语句5.4.1break语句break语句的一般形式如下所示:break;说明:1.break语句只能用于循环语句或switch语句中,如果在程序中有下列语
7、句:if(…)break;2.由于循环语句的循环体部分还可以是循环语句,这样,循环语句就可以嵌套使用。在循环语句嵌套使用的情况下,break语句只能跳出(或终止)它所在的循环,而不能同时跳出(或终止)多层循环,如:for(…){for(…){…break;}…}例【5.4】从键盘上连续输入字符,并统计其中大写字母的个数,直到输入“换行”字符时结束。程序如下:#includevoidmain(){charch;intsum;sum=0;while(1){ch=getchar();if(ch=='')break;if(ch>='A'&&ch<='
8、Z')su
此文档下载收益归作者所有