欢迎来到天天文库
浏览记录
ID:59422244
大小:1.65 MB
页数:35页
时间:2020-09-19
《C语言 第5章+循环控制结构程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章循环结构程序设计《C程序设计》2021/7/3115.1while语句5.2do…while语句5.3for语句5.4循环的嵌套5.5几种循环的比较5.6break和continue语句5.7程序举例2021/7/312循环结构是结构化程序设计的基本结构之一,它的特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种实现循环的语句,可以组成各种不同形式的循环结构。用while语句用do-while语句用for语句2021/7/313while语句可以用来实现“当
2、型”循环结构。1)格式:while(表达式)语句2)执行过程其特点是:先判断表达式,后执行语句。§5.1while语句2021/7/314【例5-1】用while语句求1~100的累计和。#include"stdio.h"main(){inti=1,sum=0;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}程序运行结果如下:5050§5.1while语句2021/7/315使用while语句应注意以下几点:(1)while循环结构的特点是“先判断,后执行”。如果表达式的值一开始为“假”,则循环体一次
3、也不执行。(2)while语句中的表达式一般是关系表达式或逻辑表达式,只要表达式的值为真(非0)即可继续循环。(3)为使循环能够正确开始运行,需要对循环控制变量初始化。(4)循环体中,如果包含一个以上的语句,则应用花括号括起来,构成复合语句,否则while语句的范围只到while后面第1个分号处。(5)循环体内中应有使循环趋向于结束的语句。§5.1while语句2021/7/316【例5-2】从键盘输入30个学生的成绩,对其进行处理;如果成绩及格,则输出“Passed”,否则输出“Failed”。#include"stdio.h"main(){int
4、n=1;floatscore;while(n<=30)§5.1while语句2021/7/317{printf("enterascore:");scanf("%f",&score);if(score>=60.0)printf("Passed");elseprintf("Failed");n++;}}§5.1while语句2021/7/318do…while语句可以用来实现“直到型”循环结构。1)格式:do语句while(表达式);2)执行过程这个循环与while循环的区别在于,它先执行后判断,因此,do-while循环至少要执行一次循环体
5、。而while循环是先判断后执行,如果条件不满足,则循环体语句一次也不执行。§5.2do…while语句2021/7/319【例5-3】用do-while语句求1~100的累计和。#include"stdio.h"main(){inti=1,sum=0;do{sum=sum+i;i++;}while(i<=100);printf("%d",sum);}程序运行结果如下:5050§5.2do…while语句2021/7/3110使用do-while语句应注意以下几点:(1)do是C语言的关键字,必须与while联合使用。(2)在if语句、while
6、语句中,表达式后面都不能加分号,而在do-while语句的表达式后面必须加分号,它表示do-while语句的结束,否则将产生语法错误。(3)while后面一对圆括号中的表达式,可以是C语言中任意合法的表达式。由它控制循环是否执行。(4)和while语句一样,在使用do-while语句时,不要忘记初始化循环控制变量,否则执行的结果将是不可预知的。(5)要在do-while语句的某处(表达式或循环体内)改变循环控制变量的值,否则极易构成死循环。(6)按照语法规则,在do和while之间的循环体只能是一条可执行语句。若循环体内需要多个语句,应该用花括号括起
7、来,组成复合语句。§5.2do…while语句2021/7/3111【例5-4】将输入的一串字符显示在屏幕上,遇到空格时停止。#include"stdio.h"main(){charc;printf("Pleaseinputastring:");do{c=getchar();putchar(c);}while(c!='');}程序运行结果如下:Pleaseinputastring:Homeworkintheschool↙Homework§5.2do…while语句2021/7/3112【例5-5】while语句和do-while语句的比较。mai
8、n(){ints=0,n;scanf("%d",&n);while(n<=10){s=s+n; n++;}p
此文档下载收益归作者所有