C语言多重循环语句.ppt

上传人:牧羊曲112 文档编号:5426289 上传时间:2023-07-05 格式:PPT 页数:40 大小:1.24MB
返回 下载 相关 举报
C语言多重循环语句.ppt_第1页
第1页 / 共40页
C语言多重循环语句.ppt_第2页
第2页 / 共40页
C语言多重循环语句.ppt_第3页
第3页 / 共40页
C语言多重循环语句.ppt_第4页
第4页 / 共40页
C语言多重循环语句.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《C语言多重循环语句.ppt》由会员分享,可在线阅读,更多相关《C语言多重循环语句.ppt(40页珍藏版)》请在三一办公上搜索。

1、复习循环控制结构,学习内容:,3、while循环,5、for循环,6、循环的嵌套,4、do-while循环,7、几种循环结构的比较,1、循环控制概述,2、goto语句和goto循环,重难点:,1、while语句、do-while语句和for语句及三种循环之间嵌套和区别。,学习目标:,1、熟练掌握while、do-while和for语句及三种循环之间的嵌套和区别。,8、辅助控制语句,9、循环结构程序设计举例,循环控制概述,引例:给出N个儿童的体重,要求计算平均体重,#define N 10#include“stdio.h”main()/*定义变量存放某儿童体重、总体重和 平均体重*/float

2、Weight,total=0,aver;*输入N个儿童的体重并计算总体重*/scanf(“%f”,/*前2个儿童的总体重*/,scanf(“%f”,/*前7个儿童的总体重*/,scanf(“%f”,#define N 10#include“stdio.h”main()/*定义变量存放某儿童体重、总体重和平均体重*/int i;float Weight,total=0,aver;*输入N个儿童的体重并计算总体重*/for(i=1;i=N;i+)scanf(“%f”,循环结构是结构化程序设计的基本结构之一。,C语言中的循环结构可以用以下语句实现:1.while 循环 2.do-while 循环 3

3、.for 循环,while循环,一、while语句的语法格式:,while(表达式)循环体,二、执行过程:,1.计算while后圆括号内表达式的值,为非0则执行第步,否则执行第步;,2.执行循环体,然后返回第步;,3.结束循环,执行while语句的下一语句。,例6-2:从键盘输入正整数n,求 1+2+3+.+n。,#include void main()int n,i,sum=0;scanf(“%u”,#include main()unsigned n,i=1;long factorial=1;scanf(“%u”,例:从键盘输入正整数n,求n!,三、while语句的功能:,当表达式为非0时重

4、复执行循环体。,四、注意事项:,1.while 语句的特征是”先判断后执行”;允许0次循环。,2.如果循环体包含一个以上的语句,那么应该用复合语句“”的形式。,例如,程序段1:sum=i=0;while(i10)+i;sum+=i;,程序段2:sum=i=0;while(i10)+i;sum+=i;想一想执行程序段1和程序段2后i、sum的值?,3.在循环体中应有使循环趋于结束的语句。,考虑以下while循环的执行情况:i=1;sum=0;while(i10)sum+=i;,i=1;sum=0;while(i10)sum+=i;+i;,do-while循环,一、do-while语句的语法格式:

5、,do循环体while(表达式);,do-while循环控制流程图,二、执行过程:,1.执行循环体;,2.求解while后圆括号内的表达式,若为非0则返回第1步;否则执行第3步;,3.结束循环,执行do-while语句的下一语句。,例6-4:从键盘输入正整数n,求 1+2+3+.+n。,#include void main()int i=1;unsigned n,sum=0;scanf(“%u”,4、do-while语句的功能:,执行循环体,直到表达式为0。,#include main()unsigned n,i=1;long factorial=1;scanf(“%u”,例:从键盘输入正整数

6、n,求n!,注意事项:,1.do-while 语句的特征是“先执行,后判断”;循环体最少执行一次。,2.对于同一个问题,既可以用 while语句,也可以用do-while语句处理。,3.特别要注意while后加分号;,4.while和do-while循环的比较:,unsigned n,i=1,sum=0;scanf(“%u”,unsigned n,i=1,sum=0;scanf(“%u”,while(i=n);,for循环,一、for语句的语法格式:,for(表达式1;表达式2;表达式3)循环体,二、说明:,2.循环体由语句构成,以实现某种功能。,1.表达式1和表达式3是算式表达式,表达式2是

7、条件;,for(i=1,sum=0;i=100;i+)sum=sum+i;,for循环控制流程图,三、执行过程:,1.求解表达式1;,2.求解表达式2,若为非0则执行第3步;否则执行第5步;,3.执行循环体;,4.求解表达式3,然后返回第2步;,5.结束循环,执行for语句的下一语句。,例:从键盘输入正整数n,求 1+2+3+.+n。,#include void main()int i;unsigned n,sum=0;scanf(“%u”,#includemain()unsigned n,i;long factorial=1;scanf(“%u”,例:从键盘输入正整数n求n!,四、for语句

8、的功能:,当表达式2为非0时重复执行循环体。,五、使用for语句的注意事项:,1.任意表达式都可省略,但表达式后的分号必须保留:,例:求1100之内偶数和。,main()int i,sum=0;for(i=1;i100;i+)if(i%2=0)sum+=i;printf(“1-100之内偶数=%d”,sum);,省略“表达式1”时,应在for语句之前给循环变量赋初值;,i=1;for(;i=100;i+)sum+=i;,省略“表达式2”时,编译系统默认表达式2为非0;,省略“表达式3”时,应在循环体中修改循环控制变量,以保证循环正常结束.,for(i=1;i+)sum+=i;,for(i=1;

9、i=100;)sum+=i;i+;,2.表达式2可以是任何类型,其值理解为逻辑量;,3.若表达式2从一开始就为0,那么循环体一次也不执行;,4.表达式1可以包含除给循环变量赋初值之外的其他操作;,5.表达式3可以做属于循环体的操作;,6.逗号表达式的最主要的用处:,让程序员使用多个初始化表达式和多个值递增表达式,这在for语句中表现为表达式1和表达式3都是逗号表达式。,for(i=1,j=100,sum=0;ij;i+,j-)sum+=i+j;,for(i=1,sum=0;i=n;sum+=i+);,for(i=1,sum=0;i=n;i+)sum+=i;,六、循环语句的使用要点:,1.循环体

10、含一个以上语句时,必须以复合语句的形式出现;当循环体为空时不要掉了分号(;)。,2.注意循环控制变量的初值及其修改,以保证循环正常执行和正常结束。,3.可以在循环体中安排使表达式变为”0”的语句,也可以通过表达式本身实现这种控制功能。,for(i=1;i=n;i+)if(!(i%2)sum=sum+i;,for(i=1;i=n;)if(!(i%2)sum=sum+i;i+;,4.应避免无限循环、永不执行的循环、执行次数不正确的循环等情况.,5.对于嵌套的循环语句,应写成缩进对齐格式,以增加程序结构的清晰感和美感.,循环的嵌套,当一个循环体内又包含另一个完整的循环结构时,就称为循环的嵌套,whi

11、le(条件1)while(条件2),do do while(条件2);while(条件1);,for(表达式1;表达式2;表达式3)for(表达式1;表达式2;表达式3),while(条件1)do while(条件2);,while(条件)for(表达式1;表达式2;表达式3),do while(条件2)while(条件1);,do for(表达式1;表达式2;表达式3)while(条件);,for(表达式1;表达式2;表达式3)while(条件),for(表达式1;表达式2;表达式3)do while(条件);,(1).内层循环出现在外层循环的循环体中;并且每次从外层进入内层时,内层循环控制

12、变量必须重新赋值。,1.注意事项:,例6-11:编写程序显示“九九乘法表”。,#includemain()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(“%d*%d=%-4d”,i,j,i*j);printf(“n”);,(2).根据具体问题分析内外层循环控制变量的关系。,几种循环的比较,1.四种循环都可以处理同一问题,一般情况下可以互换,但是尽量不用if-goto型循环。,3.while 和do-while 循环,在while后面只指定循环的条件,而使循环趋于结束的语句包含在循环体中。而for 循环可以在“表达式3”中包含使循环趋于结束的操作。,2

13、.用while 和 do-while循环时,循环变量的赋值应在while 和 do-while之前;而for 循环可以在“表达式1”中实现。,4.while循环和for循环:先判断后执行;do-while循环:先执行后判断。,5.对 while循环、do-while循环、for循环,用 break 语句跳出循环,可以用 continue 语句结束本次循环。,例如:求 1+2+3+.+100?,void main()int i,sum=0;i=1;loop:if(i=100)sum=sum+i;i+;goto loop;printf(%d,sum);,void main()int i,sum=0

14、;i=1;while(i=100)sum=sum+i;i+;printf(%d,sum);,goto 语句构成的循环,while语句构成的循环,void main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(%d,sum);,do-while语句构成的循环,void main()int i,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(%d,sum);,for语句构成的循环,控制转移语句,一、C中控制转移语句的种类:,1.break语句,continue语句,goto语句:用于改变控制结构预定的程序

15、流程。,2.return语句:用于从函数返回到函数的调用处。,二、break语句,1.语法格式:,break;,2.作用:,终止switch、for、while、do-while语句的执行,而转去执行相应的下一语句.,阅读以下程序,分析其功能:void main()int i;unsigned factorial;factorial=1;for(i=1;132768)break;printf(%d!=%dn,i,factorial);,3.使用break语句的注意事项:,(1).break语句只能用于循环语句或switch语句;,例:输出100以内的素数。void main()int n,i;for(n=2;n=n)printf(t%d,n);,(2).在多层嵌套结构中,break语句终止并跳出它所在的那一层。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号