C语言 循环结构程序设计

上传人:无*** 文档编号:244061018 上传时间:2024-10-02 格式:PPT 页数:29 大小:243.50KB
返回 下载 相关 举报
C语言 循环结构程序设计_第1页
第1页 / 共29页
C语言 循环结构程序设计_第2页
第2页 / 共29页
C语言 循环结构程序设计_第3页
第3页 / 共29页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章 循环结构程序设计,5.1,循环的概念,5.2.1 while,循环语句,格式:,while (,表达式,),语句,;,功能,:,表达式,语句,非,0,0(,假,),5.2.1 while,循环语句(例),例:计算,1+2+3+100,main(),int,sum=0,i=1;,while (i=100),sum=sum+i;,i+;,printf,(“%d”,sum);,注意,:,当循环体包括多条语句时,应用,组成复合语句,5.2.1 while,循环语句,while,主要用于循环次数难以确定的情况,例:从键盘上连续输入若干字符(以空格为结束标记),统计字符个数(空格不计);,#include “,stdio.h,”,main(),int,n=0;,char,ch,;,ch,=,getchar,();,while(ch,!=),或,while(ch,=,getchar,()!=),n+;n+;,ch,=,getchar,();,printf,(“%d”,n);,5.2.2 do-while,循环语句,格式:,do,语句;,while(,条件表达式,),;,功能:,语句,表达式,0(,假,),非0,5.2.2 do-while,循环语句(例,),例:计算,1+2+3+100,main(),int,sum=0,i=1;,do,sum=sum+i;,i+;,while (i=100);,printf,(“%d”,sum);,5.2.2 do-while,循环语句(例),例:从键盘上连续输入若干字符(以空格为结束标记),统计字符个数(空格不计);,#include “,stdio.h,”,main(),int,n=-1;,char,ch,;,do,n+;,ch,=,getchar,();,while(ch,!=),printf,(“%d”,n);,5.2.3 do-while,与,while,比较,一般情况下,用,while,语句和用,do-while,语句处理同一问题时,若二者的循环体部分是一样的,它们的结果也一样;但当表达式的值一开始就为假(,0,),两种循环的结果就不同;,1)main()2)main(),int,sum=0,i;,int,sum=0,i;,scanf,(“%d”,scanf,(“%d”,while(i=10)do,sum=sum+i;sum=sum+i;,i+;i+;,printf,(“sum=%d”,sum);while(i=10),printf,(“sum=%d”,sum);,5.3 for,循环语句,基本格式:,for(,表达式,1,;表达式,2,;表达式,3),语句;,功能:,表达式,2,表达式,1,0(,假,),语 句,非,0(,真,),表达式,3,5.3 for,循环语句,(,例,),例:计算,1+2+3+100,main(),int,sum=0,i;,for (i=1;i=100;i+),sum=sum+i;,printf,(“%d”,sum);,5.3 for,循环语句,(,注),1,)表达式,1,常用于给循环变量赋初值;表达式,1,可省略;,如:,sum=0;i=1;,for(;i=100;i+)sum=sum+i;,2,),表达式,2,常是关系或逻辑表达式;表达式,2,省略,时,相当于表达式值永远为“真”,循环将永远执行下去,形成死循环。如:,sum=0;,for(i=1;i+)sum=sum+i;,3,),表达式,3,常用来修改循环变量的值;表达式,3,可以省略;如:,sum=0;,for(i=1;i=100;)sum=sum+i;i+;,5.3 for,循环语句 (注,),4,),表达式,1,、表达式,3,还可以是逗号表达式,如:,for (sum=0,i=1;i=100;i+)sum+=i;,for (sum=0,i=1;i=100;i+,i+)sum+=i;,5,),循环体是多条语句,则用,括起构成复合语句,5.3 for,循环语句(例),当循环的次数确定时,常用,for,循环语句。,如果循环次数不确定,即终止条件不是有确定的次数控制时,常用,while,或,do-while,。,例:从键盘上连续输入若干字符(以空格为结束标记),统计字符个数(空格不计);,#include “,stdio.h,”,main(),int,n=0;,char,ch,;,for(;(,ch,=,getchar,()!=;n+);,printf,(“%d”,n);,5.4,循环嵌,套,在某个循环语句的循环体内又包含一个循环语句,称为循环的嵌套,也称为多重循环;,三种循环可以互相嵌套:(书,P113,),外面的循环语句称为“外层循环”,外层循环中的循环称为“内层循环”;,注:内外层循环体不能出现交叉现象:,while (),do,while();,5.4,循环嵌套(例),例:求,1,!,+2,!,+3,!,+4,!,+5,!,main(),int,s=0,i,m,x;,for (m=1;m=5;m+),for (i=1,x=1;i=m;i+),x=x*i;,s+=x;,printf,(“s=%dn”,s);,5.5 break,和,continue,1,、,break,语句,格式:,break;,break,语句的两种主要功能,:,在,switch,语句中的,case,之后,以便在该情况结束之后不再去执行后面其它的,case,语句,;,用在循环语句中,终止当前循环语句继续往下执行,并直接跳出,当前循环层,,,到该循环体外的后面一条紧接着的语句处;,break,语句 (例),main(),int,x;,for(x=1;x=6;x+),if (x%2=0)break;,printf(“%d,”,x);,printf(“out,of loop”);,2,、,continue,语句,格式:,continue;,continue,语句的主要功能:,结束本次循环;(循环体内,,continue,之后的所有语句皆忽略不管,直接进入下一轮循环),和,break,的比较,(,书,P115,),2,、,continue,语句 (例,),main(),int,x;,for(x=1;x=6;x+),if (x%2=0)continue;,printf(“%d,”,x);,printf(“out,of loop”);,5.6,三种循环语句的比较,1,),三种循环都可以用来处理同一问题;,2,),while/do-while,的,循环体中应对循环变量的值进行修改;,for,语句中可以在循环体中修改,也可以在表达式,3,中修改;,3,),while/do-while,中,循环变量在,while/do-while,之前赋初值;,for,语句中,可以在,for,语句之前,也可以在表达式,1,中赋初值;,4,),一般,,for,语句主要用于循环次数明确的情况;,while/do-while,用于循环次数不明确的情况;,5.8,应用举例,例,1,:从键盘上输入,10,个数,求其平均值,1,),main(),int,n;,float f,sum;,for (n=0,sum=0;n10;n+),scanf,(“%f“,sum+=f;,printf,(“%f“,sum/10);,2,),main(),int,n;,float f,sum;,n=0;sum=0;,while (n10),scanf,(“%f“,sum+=f;,n+;,printf,(“%f“,sum/10);,3,),main(),int,n;,float f,sum;,n=0;sum=0;,do,scanf,(“%f“,sum+=f;,n+;,while (n10);,printf,(“%f“,sum/10);,练习,1,(程序设计),1,、求,1 100,之间所有偶数的和;,2,、将小写字母,a z,分别按正序和反序输出;,3,、输入一批正整数(三位,),,计算并输出这些数各位数字之和,直到输入的数为,0,为止;,4,、从键盘上输入若干正整数,求其中最大数和最小数,输入的数以,0,为中止标记;,5,、依次输入,10,个数,输出其中最大数和最小数;,6,、输入,10,个整数,统计并输出其中正数、负数、零的个数;,7,、输出,100200,间既能被,5,又能被,13,整除的数;,8,、求出所有各位数字的立方和等于,1099,的,3,位整数;(正数),9,、设,n,的值为一个正整数,判定,n,为几位数。,10,、输入一个数,判断该数是否是素数;,练习,2,1,、设,i=0,为,int,型变量,执行完下列语句后,I,的值为:,do,i+;,while (i10);,2,、,设,i,j,k,均为,int,型变量,则执行下列,for,循环后,,k,值为:,for(i=0,j=5;i=j;i+,j-)k=i+j;k+=1;,3,、,假定,a,和,b,为,int,型,变量,则执行以下语句后,b,的值为:,a=1;b=10;,do b-=a;a+;,while (b-0);,练习,3,1,、读一列整数,并假定以负数作结尾标志。当读到正整数时,就写出相应多个*号。读到,0,就写出它的实际数值;,2,、求,0,至,100,之间的所有素数;,3,、编程打印等腰三角形,*,*,*,*,*,练习,3,4,、请输入,n,值,编程序输出下列图形(例,n=5,),1 2 3 4 5,1 1 2 3 4,1 1 1 2 3,1 1 1 1 2,1 1 1 1 1,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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