第5.2节循环嵌套与while和do-while结构

上传人:仙*** 文档编号:243825682 上传时间:2024-09-30 格式:PPT 页数:24 大小:3.62MB
返回 下载 相关 举报
第5.2节循环嵌套与while和do-while结构_第1页
第1页 / 共24页
第5.2节循环嵌套与while和do-while结构_第2页
第2页 / 共24页
第5.2节循环嵌套与while和do-while结构_第3页
第3页 / 共24页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,5.2.1,循环嵌套格式:,for(,表达式,1,,表达式,2;,,表达式,3),循环体语句,for(,表达式,1,,表达式,2;,,表达式,3),循环体语句,5.2,循环的嵌套结构,例句:,求,1!+2!+.+100!,for(i=1;i=100;i+),item=i!,sum=,sum,+item;,for(i,=1;i=100;i+),item=1;,for(j=1;j=i;j+),item=,item,*j;,/*,求阶层*,/,sum=,sum,+item;/*,求加和*,/,分析嵌套循环的执行过程,for(i,=1;i=100;i+),item=1;,for(j=1;j=i;j+),item=,item,*j;,sum=,sum,+item;,外层循环变量,i,的每,增,值,一次,,内层循环变量,j,变化一个轮次;,内外层,循环变量不能相同,分别用,i,和,j,for(i=1;i=100;i+),for(j=1;j=i;j+),printf,(%d%,dn,i,j);,例句:与嵌,套循环的执行过程,#,include,main(),int,i,j,,,item,sum;/*,item,存放阶乘*/,sum=0;,for(i,=1;i=100;i+),item=1;,/*,每次求阶乘都从1开始*/,for(j=1;j=i;j+),/*,内层循环算出,item=i!*/,item=,item,*j;,sum=,sum,+item;,printf(1!+2!+3!+100!=%,en,sum);,求,1!+2!+.+100!,程序,例:使用三层循环,for,打印下面图形,*,*,*,#,include,main(),int,i,j,,,k,for(i,=1;i=3;i+),for(k=1;k=i;k+),printf,(“”);,for(j=1;j=4;j+),printf,(“*“);,printf(“n,*“);,*,*,*,*,*,i,控制两个内嵌的循环,K,只控制循环体内一个语句,,输出空格;,j,控制,for,循环体,连续输,出,4,个*;,*,*,*,*,*,例:使用多重循环,for,打印下面图形,编程:输出,10,以内的加法口诀,1+1=2,1+2=3 2+2=4,1+3=4 2+3=5 3+3=6,1+4=5 2+4=6 3+4=7 4+4=8,.,.,.,#,include,main(),int,i,j,k,;,for(i,=1;i=9;i+),for(j=1;j=i;j+),printf(“%d+%d,=%2d”,j,i,i+j);,printf,(“);,printf(“n,“);,#,include,Main,(),int,i,mark,max,n;,scanf(%d,printf(Enter,%d marks:,n);,scanf(%d,/*,读入第一个成绩*/,max=mark;/*,假设第一个成绩是最高分*/,for(i=1;i,n;i+,),scanf(%d,if(max mark),max=mark;,printf(Max,=%,dn,max);,例,:,输入一批学生的成绩,求最高分,(,for,),Enter n:,5,Enter 5 maks:,67 88 73 54 82,Max=88,学生人数:,学生成绩:,5,.,2,.2,while,语句,格式:,while,(,表达式,),循环体语句,;,真,假,while,下一条语句,表达式,循环体语句,循环条件,循,环,体,一条语句,5,表达式控制循环结束的条件,while,语句和,for,语句,都是在循环前先判断条件,while,语句说明,表达式1,;,while(,表达式2,),for,的循环体语句,;,表达式3,;,把,for,语句改写成,while,语句,for(,表达式1,;,表达式2,;,表达式3,),循环体语句,while,和,for,的比较,for(,i=1,;,i=10,;,i+,),sum=,sum,+i,;,i=1,;,循环变量赋初值,while(,i=10,),循环条件,sum=,sum,+i,;,i+,;,循环变量的改变,循环体,#,include,main(),int,mark,max;,printf(“Enter,marks:);,scanf(%d,/*,读入第一个成绩*/,max=mark;/*,假设第一个成绩最高分*/,while,(,mark=0,),if(max,mark),max=mark;,scanf(%d,;,printf(Max,=%,dn,max);,return 0;,例,:,输入一批学生的成绩,求最高分(,while,),Enter marks:,67 88 73 54 82-1,Max=88,Enter marks:,-1,小结,while,语句和,for,语句,5,.2.,3 do-while,语句,do,循环体语句,while,(,表达式),先循环,后判断,真,假,表达式,循环体语句,do-while,的下一条语句,#,include,main(),int,mark,max;,max=-1,;/*,给,max,赋一个小初值*/,printf(“Enter,marks:);,do,scanf(%d,if(max=0);,printf(Max,=%,dn,max);,例,:,输入一批学生的成绩,求最高分,(,do-while),Enter marks:,67 88 73 54 82-1,Max=88,Enter marks:,-1,#,include,main(),char,ch,;,do,ch,=,getchar,();,while,(ch,!=“?”);,例,:从键盘,输入一,串字符,直到输入字符为“,?”,结束,(,do-while),A,,,B,,,g,u,?,while,是先判别条件,再决定是否循环;,do-while,是先至少循环一次,然后再根据循环的结果决定是否继续循环。,while,和,do-while,的比较,真,假,表达式,循环体语句,do-while,的下一条语句,真,假,while,的下一条语句,表达式,循环体语句,int,main(void,),int,i,j,k,h,=0,m,leap=1;,for(m=101;,m=200,;m+),k=sqrt(m+1);,for(i,=2;,i=k,;i+),if(m%i,=0)leap=0;break;,if(leap),printf(%-4d,m);,h+,if(h%10=0),printf(n,);,leap=1;,printf(%d,h);,例:判断,101-200,有多少个素数,并输出,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,5.2.4 break,语句,while(,exp,),语句1,if(,expb,),break,;,语句2,真,假,exp,语句1,假,expb,语 句2,循环体,真,for(i=2;,i m/2),printf(Yes,);,else,printf(No!n,);,当循环有多个出口时:,表示循环条件,区分结束条件,for(i,=2;i=m/2;i+),if(m%i,=0),printf(No!n,);,break;,printf(Yes,);,c,ontinue,语句,while(,exp,),语句1,if(,expb,)c,ontinue,;,语句2,真,假,exp,语句1,假,e,xpb,语 句2,循环体,真,跳过,continue,后面的语句,继续下一次循环,break,和,continue,#,include,stdio.h,int,main(void,),char c;,int,i;,for(i=0;i 10;i+),c=,getchar,();,if(c=n),break,;,putchar(c,);,abc,efgh,123,abc,abcefgh1,continue;,如,:输入若干个数,求偶数和,练习,例,:,将一个正整数逆序输出,确定:,循环条件,和,循环体(循环不变式,),12345 5 4 3 2 1,12345%10=5 12345/10=1234,1234%10=4 1234/10=123,123%10=3 123/10=12,12%10=2 12/10=1,1%10=1 1/10=0,结束,循环不变式,x%10 x=x/10,循环结束条件,x=0,scanf(“%d”,while(x!=0),digit=x%10;,x=x/10;,printf,(%d ,digit);,用,do-while,实现?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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