移动通信软件编程基础-c语言第6章循环结构ii.ppt

上传人:牧羊曲112 文档编号:5296415 上传时间:2023-06-23 格式:PPT 页数:71 大小:1.80MB
返回 下载 相关 举报
移动通信软件编程基础-c语言第6章循环结构ii.ppt_第1页
第1页 / 共71页
移动通信软件编程基础-c语言第6章循环结构ii.ppt_第2页
第2页 / 共71页
移动通信软件编程基础-c语言第6章循环结构ii.ppt_第3页
第3页 / 共71页
移动通信软件编程基础-c语言第6章循环结构ii.ppt_第4页
第4页 / 共71页
移动通信软件编程基础-c语言第6章循环结构ii.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《移动通信软件编程基础-c语言第6章循环结构ii.ppt》由会员分享,可在线阅读,更多相关《移动通信软件编程基础-c语言第6章循环结构ii.ppt(71页珍藏版)》请在三一办公上搜索。

1、移动通信软件编程基础 C语言,知识回顾,6,循环结构,第,章,本章目标,掌握并熟练使用for循环,理解和掌握break和continue语句的用法,熟练使用while、do-while和for循环的嵌套,for循环的各种变形,for(表达式1;表达式2;表达式3)语句;,分号不能省略,for循环中的三个表达式可以缺省,可以省略一个,省略两个,甚至三个全省略,但不管怎么省略,两个分号不能省略,而且这三个表达式的功能一定要在或前或后的其他地方以其他的形式表现出来。,省略表达式1,省略表达式1,相当于省去了为循环变量赋初值,此时应在for语句之前给循环变量赋初值。,省略表达式1示例,#include

2、 void main()int iSum=0,n=1;for(;n=50;n+=2)iSum=iSum+n;printf(50以内的奇数和iSum=%d n,iSum);,过程演示,for(n=1;n=50;n+=2),省略表达式2,省略表达式2,即不判断循环条件,默认表达式2始终为真,这时应在循环体内设置结束循环的条件,以免造成循环体死循环。,省略表达式2示例,#include void main()int iSum=0,n;for(n=1;n+)if(n=10)iSum=iSum+n;else break;printf(iSum=%d n,iSum);,过程演示,for(n=1;n=10;

3、n+),for循环各种变型省略表达式3,省略表达式3,即省去修改循环变量的值,但此时应在循环体内设法结束循环。,省略表达式3示例,#include void main()int iSum=0,n;for(n=1;n=100;)iSum=iSum+n;n+=2;printf(100以内的奇数和iSum=%d n,iSum);,过程演示,for(n=1;n=100;n+=2),三个表达式全省略,break语句,break语句的作用和一般形式为:,/*从循环体内跳出循环体,提前结束循环,接着执行循环下面的语句*/break;,break语句,while()break;,do break;while(

4、),for(;)break;,break语句示例,11,11=100?,11%11!=0?,#include void main()int iNum;for(iNum=11;iNum=100;iNum+)if(iNum%11!=0)break;printf(%d n,iNum);,11,break语句示例,12,12=100?,11%11!=0?,11,#include void main()int iNum;for(iNum=11;iNum=100;iNum+)if(iNum%11!=0)break;printf(%d n,iNum);,continue语句,continue语句的作用和一般

5、形式为:,/*跳过循环体中剩余的语句而执行下一次循环*/continue;,continue语句,while()continue;,do continue;while();,for(;)continue;,continue语句示例,11,11=100?,11%11!=0?,11,#include void main()int iNum;for(iNum=11;iNum=100;iNum+)if(iNum%11!=0)continue;printf(%d n,iNum);,continue语句示例,12,12=100?,12%11!=0?,11,#include void main()int i

6、Num;for(iNum=11;iNum=100;iNum+)if(iNum%11!=0)continue;printf(%d n,iNum);,continue语句示例,13,13=100?,13%11!=0?,11,#include void main()int iNum;for(iNum=11;iNum=100;iNum+)if(iNum%11!=0)continue;printf(%d n,iNum);,continue语句示例,99,99=100?,99%11!=0?,11 22 33 44 55 66 77 88,99,#include void main()int iNum;fo

7、r(iNum=11;iNum=100;iNum+)if(iNum%11!=0)continue;printf(%d n,iNum);,continue语句示例,100,100=100?,100%11!=0?,11 22 33 44 55 66 77 88,99,#include void main()int iNum;for(iNum=11;iNum=100;iNum+)if(iNum%11!=0)continue;printf(%d n,iNum);,continue语句示例,101,101=100?,11 22 33 44 55 66 77 88,99,#include void main

8、()int iNum;for(iNum=11;iNum=100;iNum+)if(iNum%11!=0)continue;printf(%d n,iNum);,break和continue区别,continue语句是跳过循环体下面未执行的语句,继续进行下一次循环break语句是提前结束循环,不再进行条件判断continue语句只能用于循环语句break语句只能用于循环语句和switch语句,对比do-while循环和while循环,while循环嵌套,while().while().,内循环,外循环,题目:,while嵌套循环输出九九乘法表,while循环嵌套示例,题目:,while嵌套循环输

9、出九九乘法表 1*1=1 1*2=2 1*3=3 1*9=9 2*1=2 2*2=4 2*3=6 2*9=18 3*1=3 3*2=6 3*3=9 3*9=27 9*1=9 9*2=18 9*3=279*9=81,while循环嵌套示例,while循环嵌套示例,#include void main()int n,m;n=1;while(n=9)m=1;while(m=9)printf(%-4d,m*n);m+;printf(n);n+;,n=1,m=1,1,m=2,1,1,2,while循环嵌套示例,#include void main()int n,m;n=1;while(n=9)m=1;w

10、hile(m=9)printf(%-4d,m*n);m+;printf(n);n+;,n=1,1 2,m=2,m=3,3,while循环嵌套示例,#include void main()int n,m;n=1;while(n=9)m=1;while(m=9)printf(%-4d,m*n);m+;printf(n);n+;,n=1,1 2 3 4 5 6 7 8 9,m=9,m=10,10,while循环嵌套示例,#include void main()int n,m;n=1;while(n=9)m=1;while(m=9)printf(%-4d,m*n);m+;printf(n);n+;,n

11、=1,1 2 3 4 5 6 7 8 9,m=10,while循环嵌套示例,#include void main()int n,m;n=1;while(n=9)m=1;while(m=9)printf(%-4d,m*n);m+;printf(n);n+;,n=1,1 2 3 4 5 6 7 8 9,n=2,1,2,2,m=1,while循环嵌套示例,#include void main()int n,m;n=1;while(n=9)m=1;while(m=9)printf(%-4d,m*n);m+;printf(n);n+;,n=10,2,for循环嵌套,for().for().,内循环,外循

12、环,题目:,for嵌套循环输出九九乘法表 1*1=1 1*2=2 1*3=3 1*9=9 2*1=2 2*2=4 2*3=6 2*9=18 3*1=3 3*2=6 3*3=9 3*9=27 9*1=9 9*2=18 9*3=279*9=81,while循环嵌套示例,for循环嵌套示例,编写程序,输出如图所示的“九九乘法表”。1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=169*1=9 9*2=18 9*3=27 9*4=36 9*9=81,for循环示例,#include void main()int i,j;for(i=1;i

13、=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-2d,i,j,j*i);printf(n);,i=9?,条件表达式成立,进入内循环,1,for循环示例 外循环1,内循环1,#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-2d,i,j,j*i);printf(n);,j=1 i=1j=i?,条件表达式成立,输出i,j,i*j,1,1*1=1,1,1,#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf

14、(%d*%d=%-2d,i,j,j*i);printf(n);,j=2 i=1j=i?,条件表达式不成立,退出内循环,输出n换行,1,2,1,for循环示例 外循环1,内循环2,#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-2d,i,j,j*i);printf(n);,i=2i=9?,条件表达式成立,进入内循环,1,2,2,for循环示例 外循环2,#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-2

15、d,i,j,j*i);printf(n);,j=1 i=2j=i?,条件表达式成立,输出i,j,i*j,1,1*1=1,1,2,2*1=2,for循环示例 外循环2,内循环1,#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-2d,i,j,j*i);printf(n);,j=2 i=2j=i?,条件表达式成立,输出i,j,i*j,1,1*1=1,2,2,2*1=2,2*2=4,for循环示例 外循环2,内循环2,#include void main()int i,j;for(i=1;i=9;i+)f

16、or(j=1;j=i;j+)printf(%d*%d=%-2d,i,j,j*i);printf(n);,j=3 i=2j=i?,条件表达式不成立,退出内循环,输出n换行,1,3,2,for循环示例 外循环2,内循环3,#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-2d,i,j,j*i);printf(n);,j=9 i=9j=i?,条件表达式成立,输出i,j,i*j,1,1*1=1,9,9,2*1=2,2*2=4,3*1=3,3*2=6,9*9=81,3*3=9,4*1=3,4*2=8,4*3=

17、12,4*4=16,9*1=9,9*2=18,9*8=72,for循环示例 外循环9,内循环9,#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-2d,i,j,j*i);printf(n);,j=10 i=9j=i?,条件表达式不成立,退出内循环,输出n换行,1,10,9,for循环示例 外循环9,内循环10,#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-2d,i,j,j*i);printf(n);,

18、i=10i=9?,条件表达式不成立,退出外循环,执行外循环以外的语句,1,10,10,for循环示例 外循环10,do-while循环嵌套,do.do.while().while(),内循环,外循环,题目:,用*打印直角三角形图案*,do-while循环嵌套示例,#include void main()int i=1,j;do j=1;do printf(*);j+;while(j=i);printf(n);i+;while(i=5);,过程演示,while和do-while循环嵌套,While().do.while().,内循环,外循环,while和do-while循环嵌套,do.while

19、().while(),内循环,外循环,while循环和for循环嵌套1,for().while().,内循环,外循环,while循环和for循环嵌套2,while().for().,内循环,外循环,题目:用户任意输入一个整数,判断此数是否为素数?,while循环示例,while循环示例,#include void main()int num,i;printf(Please input a number:);scanf(%d,for(i=2;num%i!=0;i+);,循环嵌套:break和continue语句,输出300400间的全部素数。,题目:,int i,j,k;k=0;printf(3

20、00400之间的素数为:n);for(i=300;i=400;i+)for(j=2;j i;j+)break;if(i=j)printf(%4d,i);k+;if(k%5=0)printf(n);printf(n);,过程演示,while循环和for循环嵌套示例,改进求素数的算法,#include#include void main()int i,j,k=0,m;for(i=301;i m)printf(%4d,i);k+;if(k%5=0)printf(n);printf(n);,do-while循环和for循环嵌套1,for().do.while().,内循环,外循环,do-while循环

21、和for循环嵌套2,do.for().while(),内循环,外循环,*,打印如图所示的星型图案:,题目:,int i,j,k;/定义变量 i=1;do/外循环,控制次数 for(j=1;j=5-i;j+)/内循环输出空格 printf();for(k=1;k=i*2-1;k+)/内循环输出“*”printf(*);printf(n);i+;while(i=5);,过程演示,while循环和for循环嵌套示例,题目(课后例题):,鸡兔同笼,共50只,腿共160条,求兔子和鸡各多少只?,For循环例程,#include void main()int i,j;for(i=1;i 50;i+)j=5

22、0-i;if(2*i+4*j=160)printf(鸡%d只,兔%d只!n,i,j);,For循环例程,题目:,公鸡5元一只,母鸡3元一只,小鸡1元三只。问100元钱买一百只鸡,可以买公鸡母鸡小鸡各多少只?(要求公鸡,母鸡,小鸡都要有。),while和do-while循环嵌套示例,#include void main()int i=1,j,k;while(i=20)j=1;do k=100-i-j;if(i*15+j*9+k=300)printf(i=%d,j=%d,k=%d,i,j,k);j+;while(j=33);printf(n);i+;,用goto语句和if语句构成循环,goto语句为无条件转向语句,形式为:goto 语句标号;例如:goto loop;(语句标号和标识符命名规则相同)例:用if语句和goto语句构成循环,求1-100的累加和。#include void main()int i=1,sum=0;loop:if(i=100)sum+=i;i+;goto loop;printf(sum=%d,sum);,本章小结,掌握典型例题及方法(1)累加、连乘、判断素数等(2)递推方法,总结,习题,题目:打印下列星型图案,求 1!+2!+3!+4!+5!求1 3+5 7+.-99+101,习题,作业,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号