第六章循环程序设计案例.ppt

上传人:p** 文档编号:183084 上传时间:2023-03-30 格式:PPT 页数:91 大小:1.17MB
下载 相关 举报
第六章循环程序设计案例.ppt_第1页
第1页 / 共91页
第六章循环程序设计案例.ppt_第2页
第2页 / 共91页
第六章循环程序设计案例.ppt_第3页
第3页 / 共91页
第六章循环程序设计案例.ppt_第4页
第4页 / 共91页
第六章循环程序设计案例.ppt_第5页
第5页 / 共91页
第六章循环程序设计案例.ppt_第6页
第6页 / 共91页
第六章循环程序设计案例.ppt_第7页
第7页 / 共91页
第六章循环程序设计案例.ppt_第8页
第8页 / 共91页
第六章循环程序设计案例.ppt_第9页
第9页 / 共91页
第六章循环程序设计案例.ppt_第10页
第10页 / 共91页
亲,该文档总共91页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第六章循环程序设计案例.ppt》由会员分享,可在线阅读,更多相关《第六章循环程序设计案例.ppt(91页珍藏版)》请在第壹文秘上搜索。

1、第六章 循环型程序设计 while语句语句 do_while语句语句 for语句语句 1、第一天晨训,班主任为了提高同学们的斗志,要、第一天晨训,班主任为了提高同学们的斗志,要求大家说一百遍求大家说一百遍“我能行!我能行!” (第第1次说:我能行!次说:我能行!);(第第2次说:我能行!次说:我能行!);(第第100次说:我能行!次说:我能行!);100条条2、第二天,班主任要求说、第二天,班主任要求说10000遍遍“我是最棒的!我是最棒的!”,怎么办?怎么办?一、一、为什么需要为什么需要循环循环一、为什么需要循环(我是最棒的!我是最棒的!);(我是最棒的!我是最棒的!);(我是最棒的!我是最

2、棒的!);(我是最棒的!我是最棒的!);(我是最棒的!我是最棒的!);(我是最棒的!我是最棒的!); (我是最棒的!我是最棒的!);int i = 1;while ( i = 100 )printf(我能行!我能行! );i +;i=10000 我是最棒的!我是最棒的!); 没有使用循环结构没有使用循环结构使用使用while循环循环二、什么是循环 生活中的循环打印打印50份试卷份试卷10000米赛跑米赛跑旋转的车轮旋转的车轮循环结构的特点循环结构的特点循环结构循环结构 循环条件循环条件循环操作循环操作锲而不舍地学习锲而不舍地学习循环结构循环结构也称重复结构重复结构:程序中反复执行的一组指令或程

3、序段。循环体:循环体:被反复执行的程序段。循环变量:循环变量:用来控制循环是否继续进行的变量。二、什么是循环二、什么是循环for 循环循环while 循环循环do.while 循环循环三、循环语句三、循环语句1、while语句 基本格式while ( ( 条件表达式条件表达式) ) 语句语句 ; ; 非 0(真) 0(假) 语句 A 表达式 流程图:流程图: 若表达式(条件)的值为真,则执行内嵌语句若表达式(条件)的值为真,则执行内嵌语句A,再判,再判断表达式(条件)断表达式(条件),当表达式的值为假时,执行,当表达式的值为假时,执行while后后面的语句。面的语句。while语句的语句的说明

4、:说明:(1) while语句属语句属当型循环当型循环,即先即先判断条件(表达式),再执行循环体。判断条件(表达式),再执行循环体。(2) 表达式为一条件,用于控制循表达式为一条件,用于控制循环是否可继续执行,故称控制表达式。环是否可继续执行,故称控制表达式。(3) (3) 语句语句A A为内嵌式语句,是循环结为内嵌式语句,是循环结构的循环体。它可以是单语句也可以构的循环体。它可以是单语句也可以是复合语句,且是复合语句,且该语句中必须包含有该语句中必须包含有对循环条件进行修改的语句对循环条件进行修改的语句。 非0 (真) 0 (假) 语句A 表达式 1 1、whilewhile语句语句whil

5、e范例 在屏幕上打印5次hello#include “stdio.h”void main()int i=1;while (i=5)printf(“hellon);i+;初值初值(从什么情况开始)条件(结束值条件(结束值,什么情况结束)循环体循环体(重复什么)循环体循环体中改变循环条件的语句)例例 求求 1 + 2 + + 100分析:分析: 求和的过程为:求和的过程为: 1) S=1 S = S + 1 2) S=1+2 S = S + 2 3) S=1+2+3 S = S+ 3 100) S=1+2+ +100 S= S+100S = 0求和表达式:求和表达式: S = S + i初值:初值

6、: S = 0循环次数循环次数 i :1100定 义 变 量 s , is =0 , i=1 ;i1 0 0s +=i;i+;输 出 sNY流程图:流程图:程序:程序:main ( ) int s, i; s = 0,i = 1; while ( i = 100 ) s=s+i; i+; printf(s=%ldn, s); 循环条件循环条件循环终值循环终值循环条件改变语句循环条件改变语句循环初值循环初值循环初值循环初值while语句注意事项1、计数变量要有初始值2、计数变量在执行语句中要有变化3、条件最后必须为假,来结束语句。否则 为死循环4、如果循环体中包含多个语句,应用括号括起来。如果不

7、加括号,则while语句只负责它后面的第一个语句 5、在循环体中应该有使循环趋向结束的语句,、在循环体中应该有使循环趋向结束的语句,否则会导致死循环。否则会导致死循环。如上例中的语句改写如上例中的语句改写成如下形式:成如下形式: i=1; while ( i = 100 ) s+=i; i+; 则则while语句的循环体语句为:语句的循环体语句为: s+=i;循环变量循环变量i的值没有改变,循的值没有改变,循环不能终止,陷入死循环环不能终止,陷入死循环下列情况,退出下列情况,退出while循环:循环:条件表达式不成立(为零);条件表达式不成立(为零);循环体内遇循环体内遇break,retur

8、n, goto无限循环无限循环: while(1) 循环体循环体;作业1、输出110十个整数。2、求10!(10的阶层)。3、输出100内所有的偶数。4、输出100内所有的偶数个数。5、计算1100之间所有奇数的和。6、求1-100内不能被3整除的数之和。7、1100之间可以被7整除,但不能被13整除的数据的和8、1n之间所有整数的和,用户输入n求10!(10的阶层)#include stdio.hvoid main() long int i=1,s=1; while(i=10) s=s*i; i+; printf(%ld,s);#include stdio.hvoid main()int i

9、=1,j=0;while(i=100)if(i%2=0)j+;printf(%d ,i); i+;printf(n总个数:%d,j);例:输出100内所有的偶数及偶数个数。作业 1100之间所有的偶数 1100之间所有的奇数 1100之间所有偶数的和 1100之间所有奇数的和n1100之间所有的偶数(倒序输出)之间所有的偶数(倒序输出)n1100之间所有的奇数(倒序输出)之间所有的奇数(倒序输出)从键盘输入 n值,输出n行每行6个*号。例:输入 n=4,输出的图形如下:* * * * * * * * * * * * * * * * * * * * *#include stdio.hvoid m

10、ain() int i=1,n; scanf(%d,&n); while(i=n) printf(*n); i+;例:求 12+22+32+42+52+1002include stdio.hvoid main( )int k;long int result=0;while(k=100)result=result+k*k; k+;printf(result=%ldn,result);拓展题:例例2:统计从键盘输入一行字符的个数。统计从键盘输入一行字符的个数。#include main() int n=0; printf(输入一个字符:n); while(getchar()!=n) n+; pri

11、ntf(%d,n);输入数据,-1结束并显示求和结果。#include stdio.hvoid main() int i,s=0; scanf(%d,&i); while(i!=-1) s=s+i; scanf(%d,&i); printf(%d,s);v 一般形式:一般形式:do 循环体语句;循环体语句; while(表达式表达式);v执行流程执行流程:假假(0)whiledo循环体循环体expr真真(非非0)dowhile语句执行过程:执行过程:先执行一次循环先执行一次循环体语句,然后判别表达式,体语句,然后判别表达式,当表达式的值为真时,返回当表达式的值为真时,返回重新执行循环体语句,如

12、此重新执行循环体语句,如此反复,直到表达式的值等于反复,直到表达式的值等于0 0为止,此时循环结束。为止,此时循环结束。特点特点: :先执行循环体,然后判断循环条件是否成立。先执行循环体,然后判断循环条件是否成立。dowhile范例 在屏幕上打印5次hello#include void main()int i=1;doprintf(“hellon);i+;while (i=5);dowhile语句特点和说明v特点:先执行循环体,后判断表达式特点:先执行循环体,后判断表达式v说明:至少执行一次循环体说明:至少执行一次循环体例6.3 求1到100的和#include void main() int

13、 i,sum=0; i=1; do sum=sum+i; i+; while(i=100); printf(%dn,sum); 运行结果:50501001nn举例 如果我国当前人口是13亿,假设我国的人口每年增长的速度是千分之三,问经过多少年我国人口将达到60亿?main()int n=0;double renkou=13;while (renkou60)renkou=renkou*(1+0.003);n+;printf(%ldn,n);作业1、输出110十个整数。2、计算1+2+3+99+100的和3、求5!4、求1100之间5的倍数的个数。do-while、while的区别while语句和

14、用do-while语句的比较:在一般情况下,用while语句和用do-while语句处理同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但是如果while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。运行结果:1 sum=55 再运行一次: 11sum=0运行结果:1 sum=55 再运行一次: 11sum=11forfor语句使用最为灵活,不仅可以用于循环次数已经确语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替环结束条件的情况,它完全可以代替whi

15、lewhile语句。语句。forfor语句语句v一般形式:一般形式:for(表达式表达式1;表达式;表达式2;表达式;表达式3) 循环体语句;循环体语句;v执行流程:执行流程:表达式表达式2循环体循环体假假(0)真真(非非0)for表达式表达式1表达式表达式3forfor语句语句forfor语句的执行过程:语句的执行过程: (1) (1) 先求解表达式先求解表达式1 1。 (2) (2) 求解表达式求解表达式2 2,若其值为真,则,若其值为真,则执行执行forfor语句中指定的内嵌语句,然语句中指定的内嵌语句,然后执行下面第后执行下面第(3)(3)步。若为假,则结步。若为假,则结束循环,转到第

16、束循环,转到第(5)(5)步。步。 (3) (3) 求解表达式求解表达式3 3。 (4) (4) 转回上面第转回上面第(2)(2)步骤继续执行。步骤继续执行。 (5) (5) 循环结束,执行循环结束,执行forfor语句下面的语句下面的一个语句一个语句 for for语句最简单的形式:语句最简单的形式:for(for(循环变量赋初值;循环条件;循环变量增值循环变量赋初值;循环条件;循环变量增值) ) 例如例如: for(i=1;i=100;i+): for(i=1;i=100;i+) sum=sum+i; sum=sum+i; 用用forfor语句语句简单、方便。简单、方便。 main() int i,sum=0; for(i=1;i=100;i+) sum=sum+i; printf(“%d”,sum);例:在屏幕上打印5次hello。#include “stdio.h”void main()int i;for (i=1;i=5;i+)printf(“hellon);例:求例:求1100之间之间5的倍数的个数。的倍数的个数。例:例: 求求12+22+32+42+52+1002incl

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

当前位置:首页 > IT计算机 > C/C++资料

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!