6.第六章 循环控制_第1页
6.第六章 循环控制_第2页
6.第六章 循环控制_第3页
6.第六章 循环控制_第4页
6.第六章 循环控制_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验2-2:将输入的百分之的分数,按下列分数段输出等级(要求:使用switch) main() int score; scanf(%d, /*3*/ ,实验2-3:从键盘输入三个数,分别代表三条线断的长度.编程实现判断是否能组成三角形,及类型.,main() int a,b,c; scanf(%d,%d,%d, ,main() int a,b,c; scanf(%d,%d,%d, ,第六章 循环控制,循环结构有两种形式:当型循环和直到型循环。 下面分别是当型循环结构的传统流程图和N-S流程图表示。,直到型循环结构的传统流程图和N-S流程图表示:,goto语句构成循环 while语句 do-wh

2、ile 语句 for 语句,在C语言中以下语句可以用来实现循环结构:,goto语句构成循环,一般形式: goto 语句标号;,例6.1: 求1+2+3+4+100 main() int i=1,sum=0; loop: if (i=100) sum=sum+i; i + +; goto loop; printf(“%d”,sum); ,while语句,一般形式: while(表达式) 语句,例6.2:求1+2+3+4+100 main() int i=1,sum=0; while(i=100) sum=sum+i; i+; printf(“%d”,sum); ,开始,sum=0 i=1,i=1

3、00,N,Y,sum=sum+i i=i+1,结束,do-while 语句,一般形式:do 循环体语句 while(表达式);,例6.3: 求1+2+3+4+100 main() int i=1,sum=0; do sum=sum+i; i+; while(i=100); printf(“%d”,sum); ,N-S 流程图,for 语句,一般形式: for (表达式1;表达式2;表达式3) 循环体,例6.4: 求1+2+3+4+100 main() int i,sum=0; for(i=1;i=100;i+) sum=sum+i; printf(“%d”,sum); ,N-S 流程图,几种循

4、环语句的比较,While,for循环:是先判断表达式,后执行语句; do-while循环:是先执行语句,后判断表达式。 2. for循环和while循环可以互相代替。 而for语句的功能更强,用法更灵活。 3. while和do-while语句只有当表达式的第一次的值为真时才可以互相代替,习题1: 求1+2+3+20,main() int i,sum=0; for(i=1;i=20;i+) sum=sum+i; printf(“%d”,sum); ,习题2: 求1*2*3*5,main() int i,sum=1; for(i=1;i=5;i+) sum=sum*i; printf(“%d”,

5、sum); ,习题3: 求1*2*3*20,main() int i; float sum=1; for(i=1;i=20;i+) sum=sum*i; printf(“%f”,sum); ,习题4: 求1*2*n,即n!,main() int i,n; float sum=1; scanf(“%d”, ,习题2: 求1+2+n,main() int i,n,sum=0; scanf(“%d”, ,思考: 1、求 1 + 3 + 5 + 7 前10项,2、求,3、求 2/1+3/2+5/3+8/5前10项,核心思想: for( ; ; ) s= ? sum =sum + s; 1、确定循环次数

6、; 2、构造s项,达到目的。,习题5: 求1!+2!+n!,main() int i,n; float s=1,sum=0; scanf(“%d”, ,提示: 让变量s依次为: 1!,2!,3! 用Sum对s进行累加,循环的嵌套,main() int i,j; for(i=1;i=3;i+) for(j=1;j=5;j+) printf(“*”); printf(n); ,例 6.4 输出图形,请思索此条语句的作用,* * *,main() int i,j; for(i=1;i=5;i+) for(j=1;j=i;j+) printf(“*”); printf(n); ,思考: 输出图形 呢?

7、,* * * * *,main() int i,j; for(i=1;i=5;i+) for(j=1;j=5;j+) printf(“*”); printf(n); ,思考: 输出图形,* * * * *,* * * * *,* * * * *,* * * * *,* * * * *,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); ,这种方案打印出来的九九表是正三角,请思索如何对程序修改,以实现打印出倒三角! 大家可以试着在纸上分析出这一过程.,例 6.5 打印九九乘法

8、表,B),6,break和continue语句,break:跳出当前的switch语句或循环 continue:结束本次循环,循环继续,例6.6: 阅读程序,说出本程序段的作用 main() int n; for(n=1;n=100;n+) if(n%5!=0) continue; printf(“%d”,n); ,作用:求出1-100之间所有能被5整除的数,思考:如果continue用break替换呢?,习题6:判断一个输入的值m是否为素数(方法一),读入m的值,k=sqrt(m),i=2,当i=k时循环,m%i=0,是,否,break;,i+,ik,否,是,输出:m是素数,输出:m不是素数,#include #include main() int m,i,k; scanf(%d, ,源程序1:,循环变量终值法,方法二:,读入m的值,k等于m的平方根,i=2; ip=0;,当i=k时循环,i能整除m?,是,否,ip=1; 用break结束循环,i+,ip=0?,否,是,输出:m是素数,输出:m不是素数,#include #include main() int m,i,k,ip=0; scanf(%d, ,源程序1:,变量标示法,几种循环语句的比较,While,fo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论