《循环嵌套》PPT课件.ppt

上传人:小飞机 文档编号:5507969 上传时间:2023-07-15 格式:PPT 页数:25 大小:310.49KB
返回 下载 相关 举报
《循环嵌套》PPT课件.ppt_第1页
第1页 / 共25页
《循环嵌套》PPT课件.ppt_第2页
第2页 / 共25页
《循环嵌套》PPT课件.ppt_第3页
第3页 / 共25页
《循环嵌套》PPT课件.ppt_第4页
第4页 / 共25页
《循环嵌套》PPT课件.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《《循环嵌套》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《循环嵌套》PPT课件.ppt(25页珍藏版)》请在三一办公上搜索。

1、第4章 循环控制,C语言程序设计,课程讲义,上一章节课程回顾,1、break、continue语句,Break 结束整个循环,并退出。Continue结束当次循环,继续下一次循环。,本次课内容:,循环的嵌套(多重循环),4.6 循环嵌套,当循环体中又包含了另一个完整的循环语句时称为循环的嵌套。,for循环,while 循环,do-while 循环,注意:1、三种循环可互相嵌套,层数不限。2、外层循环可包含两个以上内循环,但不能相互交叉。,这种在一个循环体内又包含循环结构称为循环嵌套。内层循环体中再包含新循环结构称为多重循环嵌套。,i=1;while(i=1000)k=1;while(k=5)p

2、rinf(“w”);k+;i+;,(2)do do while();.while();,(3)while()do do while();while();.,(4)for(;)do while();while().,但以下循环:,while()while(),for(;)for(;),不能理解为正确的形式。要注意语句的包含关系。,例1 编写程序:在一行内输出整数1到20,并连续输出5行。#include stdio.hmain()int i,j;for(i=1;i=5;i+)/*一共五行*/for(j=1;j=20;j+)/*每一行输出的内容*/printf(%d,j);printf(“n”);

3、/*输完一行,换另一行*/,4.6 多重循环,例2 编写程序输出下列图形:122333444455555666666777777788888888999999999,#include stdio.hmain()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d,i);printf(n);,【例3】在屏幕上输出下三角九九乘法表。程序如下:main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%d,i,j,i*j);printf(n);,运行结果如下:1*1=12*1=2 2*2=43*1=3

4、3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4+165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=498*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=649*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81,真,真,外循环初始条件,内循环初始条件,内循环体,外循环

5、条件,假,内循环条件,假,内循环循环条件,外循环循环条件,循环结束,二重循环嵌套结构执行流程,例4:输出图形:,*,编程分析:,采用双重循环,一行一行输出。,图形题目,输出步骤:一般3步。1)确定行数 for(k=1;k=4;k+),3)每输完一行光标换行(n),2)输出每行的图形。主要是确定每行中的图形个数i与行号k的关系。例如本题:共4行,若行号用k表示,则每一行有2*k-1个*号。for(i=1;i=2*k-1;i+)printf(“*”);,#include stdio.h main()int k,i;for(k=1;k=4;k+)for(i=1;i=4-k;i+)putchar();

6、for(i=1;i=2*k-1;i+)printf(“*”);printf(“n”);,【例5】使用二重for循环编程打印下列图形。,main()int i,j,k;for(i=1;i=i;j-)printf();/*打印一个空格*/for(k=1;k=2*i-1;k+)printf();printf(n);,打印由“*”号组成的三角形。,main()int k=1,j;while(k=5)j=1;while(j=k)printf(“*”);j+;printf(“n”);k+;,多重循环的执行过程为:外循环跨一步,内循环转一圈k=1时,j=1 输出1个*号k=2时,j=12 输出2个*号k=3

7、时,j=13 输出3个*号k=4时,j=14 输出4个*号k=5时,j=15 输出5个*号,【例6】,#include“stdio.h”main()int sum=0;char ch;while(1)ch=getchar();if(ch=*)break;if(ch=A,编程:从键盘上连续输入字符,并统计其中大写字母的个数,直到输入“*”字符结束。,出口:当输入的字符是“*”号时,退出循环,是大写字母就计数,例【7】,练习,给定n的值,求 1+(1+2)+(1+2+3)+(1+2+n)的和。分析:本例是一个数列求和,要认真观察数列中数列项变化的规律,在此例中,数列项是一个不断变化的求和,所以数列

8、项的求取必须使用循环语句,整个数列的求和也需要一个循环,所以此例必须使用循环的嵌套。,练习,输出如下的图形:#,练习,判断下面程序的运行结果,并说明原因。main()int i;for(i=1;i=5;i+)switch(i)case 1:printf(“i=1n”);continue;case 2:i=1;case 3:printf(“i=3n”);i+=2;continue;case 4:printf(“i=%dn”,i+);break;printf(“i=%dn”,i+);,练习,输出如下图形:1 22 333 4444 55555,练习,输出如下图形:1 2 2 3 3 3 4 4 4 4 5 5 5 5 5,下列程序的结果是:,main()int i,j,k;for(i=0;i=3;i+)for(j=0;j=2-i;j+)printf(“”);for(k=0;k=2*i;k+)printf(“*”);printf(“n”);,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号