欢迎来到天天文库
浏览记录
ID:56430710
大小:542.50 KB
页数:41页
时间:2020-06-18
《C语言循环结构一章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章循环结构1、用goto语句和if语句构成循环。2、用while语句。3、用do-while语句。4、用for语句。If语句和goto语句构成的循环一般形式:goto语句标号;作用:无条件转向语句标号处执行语句标号:合法的标识符后面加个冒号”:”语句标号必须于此goto语句在同一个函数中goto语句不符合结构化程序设计准则,因为无条件转向使程序结构无规律、可读性差。一般应避免使用goto语句,但如果能大大提高程序的执行效率,也可以使用。Example5_1#includemain(){int
2、x;x=3;ab:x+=2;/*ab:语句标号只能写在语句行的最左边*/if(x<20)gotoab;printf("%d",x);}while语句一般形式:while(表达式)语句作用:实现“当型”循环。当“表达式”非0(真)时,执行“语句”。“语句”是被循环执行的程序,称为“循环体”。特点:先判“表达式(条件)”。注意事项while后面的”()”不能少表达式的可以使任意合法的表达式语句的位置上只能有一条语句,while语句范围只到while后面第一个分号处。超过一条用“{}”括起来while语句的循环体可
3、能一次都不执行循环体中必须有使循环趋于结束的语句,否则程序进入“死循环”(不结束)。求1~100的累计和。根据已有的知识,可以用“1+2+……+100”来求解,但显然很繁琐。现在换个思路来考虑:首先设置一个累计器sum,其初值为0,利用sum+=n来计算(n依次取1、2、……、100),只要解决以下3个问题即可:(1)将n的初值置为1;(2)每执行1次“sum+=n”后,n增1;(3)当n增到101时,停止计算。此时,sum的值就是1~100的累计和。Example5_2计算#include4、>main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}Example5_3输入两个整数x和y,计算x和y之间所有的偶数之和main(){intx,y,sun,t;printf(”请输入两个整数(前大后小):”);scanf(”%d%d”,&x,&y);printf(”%d和%d之间所有的偶数的和是:”,x,y);while(x5、e语句一般格式:do语句(循环体)while(表达式);特点:“直到型”循环结构。先执行一次“语句”,判“表达式”,当“表达式”非0,再执行“语句”,直到“表达式”为0,循环结束。dowhile注意点do后面没有分号;语句的位置上只能到第一个分号处,也就是只能有一条语句,超过用{}构成复合语句表达式可以是任意表达式Example5_4计算n以内所有能被3整除或者能被7整除的自然数之和/*从3开始,各个自然数i逐个进行比较,直到自然数i不小于n则循环结束*/#include"stdio.h"main(){intn,6、i,s;printf("请输入一个整数:");scanf("%d",&n);/*输入一个整数给n*/s=0;/*s用来存放满足条件的自然数之和,和的初值为0*/i=3;/*从3开始*/do{if(i%3==07、8、i%7==0)/*余数为0表示整除*/s+=i;i++;/*准备判断下一个自然数*/}while(i9、+;}while(i<=10);printf(“s=%d”,s);}运行情况如下:main(){inti,s=0;scanf(“%d”,&i);while(i<=10){s=s+i;i++;}printf(“s=%d”,s);}运行情况如下:说明在一般情况下,用while和do-while语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当while后面的“表达式”一开始就为“假”时,两种循环的结果不同。这是因为此时while循环的循环不被执行,而do-while循环的循环体被执行一次10、。for语句一般格式for(表达式1;表达式2;表达式3)语句循环变量赋初值循环条件循环变量增量循环体部分执行过程:(1)求表达式1;(2)求表达式2,若为“真”,执行“语句”;若为假,转第(5)步。(3)求表达式3。(4)转第(2)步。(5)执行for语句下面的语句。Example5_5计算n以内所有自然数之和#include"stdio.h"main(){intn,i
4、>main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}Example5_3输入两个整数x和y,计算x和y之间所有的偶数之和main(){intx,y,sun,t;printf(”请输入两个整数(前大后小):”);scanf(”%d%d”,&x,&y);printf(”%d和%d之间所有的偶数的和是:”,x,y);while(x5、e语句一般格式:do语句(循环体)while(表达式);特点:“直到型”循环结构。先执行一次“语句”,判“表达式”,当“表达式”非0,再执行“语句”,直到“表达式”为0,循环结束。dowhile注意点do后面没有分号;语句的位置上只能到第一个分号处,也就是只能有一条语句,超过用{}构成复合语句表达式可以是任意表达式Example5_4计算n以内所有能被3整除或者能被7整除的自然数之和/*从3开始,各个自然数i逐个进行比较,直到自然数i不小于n则循环结束*/#include"stdio.h"main(){intn,6、i,s;printf("请输入一个整数:");scanf("%d",&n);/*输入一个整数给n*/s=0;/*s用来存放满足条件的自然数之和,和的初值为0*/i=3;/*从3开始*/do{if(i%3==07、8、i%7==0)/*余数为0表示整除*/s+=i;i++;/*准备判断下一个自然数*/}while(i9、+;}while(i<=10);printf(“s=%d”,s);}运行情况如下:main(){inti,s=0;scanf(“%d”,&i);while(i<=10){s=s+i;i++;}printf(“s=%d”,s);}运行情况如下:说明在一般情况下,用while和do-while语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当while后面的“表达式”一开始就为“假”时,两种循环的结果不同。这是因为此时while循环的循环不被执行,而do-while循环的循环体被执行一次10、。for语句一般格式for(表达式1;表达式2;表达式3)语句循环变量赋初值循环条件循环变量增量循环体部分执行过程:(1)求表达式1;(2)求表达式2,若为“真”,执行“语句”;若为假,转第(5)步。(3)求表达式3。(4)转第(2)步。(5)执行for语句下面的语句。Example5_5计算n以内所有自然数之和#include"stdio.h"main(){intn,i
5、e语句一般格式:do语句(循环体)while(表达式);特点:“直到型”循环结构。先执行一次“语句”,判“表达式”,当“表达式”非0,再执行“语句”,直到“表达式”为0,循环结束。dowhile注意点do后面没有分号;语句的位置上只能到第一个分号处,也就是只能有一条语句,超过用{}构成复合语句表达式可以是任意表达式Example5_4计算n以内所有能被3整除或者能被7整除的自然数之和/*从3开始,各个自然数i逐个进行比较,直到自然数i不小于n则循环结束*/#include"stdio.h"main(){intn,
6、i,s;printf("请输入一个整数:");scanf("%d",&n);/*输入一个整数给n*/s=0;/*s用来存放满足条件的自然数之和,和的初值为0*/i=3;/*从3开始*/do{if(i%3==0
7、
8、i%7==0)/*余数为0表示整除*/s+=i;i++;/*准备判断下一个自然数*/}while(i9、+;}while(i<=10);printf(“s=%d”,s);}运行情况如下:main(){inti,s=0;scanf(“%d”,&i);while(i<=10){s=s+i;i++;}printf(“s=%d”,s);}运行情况如下:说明在一般情况下,用while和do-while语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当while后面的“表达式”一开始就为“假”时,两种循环的结果不同。这是因为此时while循环的循环不被执行,而do-while循环的循环体被执行一次10、。for语句一般格式for(表达式1;表达式2;表达式3)语句循环变量赋初值循环条件循环变量增量循环体部分执行过程:(1)求表达式1;(2)求表达式2,若为“真”,执行“语句”;若为假,转第(5)步。(3)求表达式3。(4)转第(2)步。(5)执行for语句下面的语句。Example5_5计算n以内所有自然数之和#include"stdio.h"main(){intn,i
9、+;}while(i<=10);printf(“s=%d”,s);}运行情况如下:main(){inti,s=0;scanf(“%d”,&i);while(i<=10){s=s+i;i++;}printf(“s=%d”,s);}运行情况如下:说明在一般情况下,用while和do-while语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当while后面的“表达式”一开始就为“假”时,两种循环的结果不同。这是因为此时while循环的循环不被执行,而do-while循环的循环体被执行一次
10、。for语句一般格式for(表达式1;表达式2;表达式3)语句循环变量赋初值循环条件循环变量增量循环体部分执行过程:(1)求表达式1;(2)求表达式2,若为“真”,执行“语句”;若为假,转第(5)步。(3)求表达式3。(4)转第(2)步。(5)执行for语句下面的语句。Example5_5计算n以内所有自然数之和#include"stdio.h"main(){intn,i
此文档下载收益归作者所有