欢迎来到天天文库
浏览记录
ID:59422303
大小:467.00 KB
页数:37页
时间:2020-09-19
《C第四章 循环结构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章循环结构4.1while语句和do-while语句4.2for语句(重点)4.3循环结构程序设计(重点难点)本章内容(3学时)循环语句在迭代、累计等运算中经常用到,循环语句的使用,能提高程序的代码效率,但要注意“死循环”的问题。实际上循环有好几种方式,如:对于以上的循环,我们将通过具体的例子来阐明。goto和if构成的循环do-while构成的循环while构成的循环for构成的循环(重点)4.1while语句和do-while语句4.1.1while语句(P61)1.一般形式:while(表达式){循环体语句;}表达式循环体
2、语句0(假)非0(真)2.执行流程:先判断表达式的值,非0(真)再执行循环体语句——实现“当型”循环。3.特点:先判断表达式,后执行循环体。4.说明:⑴循环体有可能一次也不执行⑵循环体可为任意类型语句⑶循环如果包含一个以上的语句,要用{}括起来,以复合语句形式出现。否则while语句的范围只到while后面第一个分号处。⑷下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,return⑸无限循环:while(1)循环体;#includeintmain(){inti,sum=0;i=1;whil
3、e(i<=100){sum=sum+i;i++;}printf("%d",sum);return0;}循环初值循环终值循环变量增值循环条件循环体例1:用while循环求#includeintmain(){inti=1;while(i<=10){printf("%d*%d=%d",i,i,i*i);i++;}return0;}运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100例2:显示1~10的平方以下程序段的输出结果。intk,m,
4、n;n=10;m=1;k=1;while(k<=n)m*=2;printf(“%d”,m);课堂小练习:以下程序的输出结果。main(){intx=2;while(x--);printf(“%d”,x);}答案:-1答案:死循环或无结果4.1.2do-while语句(P62)1.一般形式:do{循环体语句;}while(表达式);2.执行流程:先执行循环体语句,后判断表达式——实现“直到型”循环。do循环体表达式假(0)真(非0)whiledo{循环体语句;}while(表达式);3.特点:先执行循环体,后判断表达式。4.说
5、明:⑴do~while至少执行一次循环体,而while语句可以一次都不执行。⑵do~while可转化成while结构表达式循环体假(0)真(非0)循环体While循环#includeintmain(){inti,sum=0;i=1;do{sum+=i;i++;}while(i<=100);printf("%d",sum);return0;}例3:用do-while循环求intmain(){inti,sum=0;scanf("%d",&i);do{sum=sum+I;i++;}While(i<=10);printf(
6、"sum=%d",sum);return0;}intmain(){inti,sum=0;scanf("%d",&i);While(i<=10){sum=sum+I;i++;}Printf("sum=%d",sum);return0;}运行结果:1(回车)sum=5511(回车)sum=0运行结果:1(回车)sum=5511(回车)sum=11例4:while和do-while循环的比较1.一般形式:for(表达式1;表达式2;表达式3)内嵌语句循环前先求解每次执行完循环体后求解非0时执行循环体for(循环初值表达式;循环结束表达式;
7、循环变化表达式){循环体语句;}通常:for语句可用如下易理解的形式来描述4.2for语句4.2.1for语句(P64)for的内嵌语句for语句的流程图求解表达式1表达式2(内嵌)语句求解表达式3for的下一个语句FT2.执行流程:3.说明:⑴for语句中表达式1,表达式2,表达式3类型任意,都可省略,但分号;不可省,否则变成无限循环for(;;)⑵表达式1可以省略,如for(;i<=10;i++)s=s+i;⑶表达式2一般不能省略,否则无法使循环停止,无停止条件。⑷表达式1和3均省略,只有表达式2,如:for(;i<=100;)
8、二者等同while(i<=100){s=s+i;i++;}{s=s+i;i++;}⑸表达式2一般是关系表达式(i<=100)或逻辑表达式(aintmain(){
此文档下载收益归作者所有