循环控制结构.pptx_第1页
循环控制结构.pptx_第2页
循环控制结构.pptx_第3页
循环控制结构.pptx_第4页
循环控制结构.pptx_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章 循环控制结构,本节内容,1 while循环结构 2 do-while循环结构 3 for循环结构 4 嵌套循环语句,一般格式:,执行流程:,for( 表达式1; 表达式2; 表达式3) 循环体语句 ,for 语句,for (k=1; k=4; k+),sum=sum+i,True,i = i + 1,退出循环,for循环控制结构,for( i = 1; i=5; i+) sum=sum+i ;,课堂练习,把5改为100,void main() int s = 0 , i; for( i=1;i=100 ;i+) s = s + i ; printf(“s=%dn”,s); ,12310

2、0,1,*,思考题:1+2!+3!+4!+5!,#include main() int i,j,sum=0,s; for(i=1;i=5;i+) s=1; for(j=1;j=i;j+)s=s*j; sum=sum+s; printf(sum=%dn,sum); ,求i的阶乘:i!,求1+2!+3!+4!+5!之和,i是在1到5之间任取一个数,循环嵌套,是否看过盗梦空间电影?-谜团重重 六层梦境,六度轮回 第1层飞车枪战-街头飞车 第2层真空搏斗-豪华的酒店(第1层面包车正在坠河) 第3层雪地厮杀 第4层情感纠葛-柯布和妻子梅尔建造的潜意识边缘 第5层梦境边缘-唤醒齐藤,两人穿越回到现实 第6

3、层亦真亦幻-柯布在飞机上醒来,“只要陀螺不停,他就会在梦中保持清醒”,循环嵌套,鸡兔共笼,解方程组,解决问题的一般步骤,实际 问题 (百鸡),抽象、 简化、 假设确 定变量,建立数 学模型,求解 模型 (编程),cocks+hens+chicks=100 5*cocks+3*hens+chicks/3=100,cocks-鸡公 hens-母鸡 chicks-小鸡,已知2000年我国的人口是12.66亿,如果在以后的5年内人口每年平均增长1.07%,问到2005年我国的人口是多少 ?,P = 12.66: R = 0.0107,P = P * (1 + R),for ( i = ; i= ; i

4、+),2001,2005,程序的关键代码如下:,while( ) ,p = p * (1 + r);,n = n + 1;,p = 12.66, r = 0.0107, n = 0;,p13,条件性循环,While循环,条件性循环,Dowhile循环,while 语句,1. while循环语句的形式 while(表达式) 循环语句,先判断条件,后执行语句,表达式,语句,零,非零,2. 执行过程:,跳出循环,此处无 ;,例1:求,main() int i=1,sum=0; while (i=100) sum=sum+i; i+; printf(%d,sum); ,注意: (1)循环体如果包含一个

5、以上的语句,应该用花括弧括起来,以复合语句形式出现. (2)在循环体中应有使循环趋向于结束的语句,while 语句,1. do-while循环语句的形式 do 循环体 while(条件表达式);,先执行语句,后判断条件,2. 执行过程,此处有;,do-while 语句,例2:用do-while型循环求:,main() int i=1, sum=0; do sum=sum+i; i+; while (i=100); printf(%d,sum); ,do-while 语句,【例5.3】while和do-while循环的比较。,#include stdio.h void main() int su

6、m = 0, i; scanf(%d, ,?,#include stdio.h void main() int sum = 0, i; scanf(%d, ,运行结果: 1 sum=55 再运行一次: 11 sum=0,运行结果: 1 sum=55 再运行一次: 11 sum=11,结论: (1) dowhile循环语句首先执行循环体,然后计算表达式并检查循环条件,所以循环体至少执行一次。 (2)退出dowhile循环的条件与退出while循环的条件相同,do-while 语句,6.3 for 语句总结,用上述三种循环语句求,while语句:,n = 1; s = 1; while (n=10

7、0) s=s*n; n+; ,n = 1; s = 1; do s = s*n; n +; while(n=100);,do-while语句:,for (n = 1,s = 1; n=100; n+) s=s*n;,for语句:,6.3 for 语句使用格式说明,for( 循环变量赋初值; 循环条件; 循环变量增值) 循环体语句 ,说明: for语句中任意一个表达式均可省,但分号“;”不可省! (1)省略“表达式1”,此时在for语句之前给循环变量赋初值。如 for( ;i=100;i+) sum=sum+i; 执行时,跳过“求解表达式1”这一步,其他不变。,i=1; for ( ; i=10

8、0; i+) sum=sum+i;,for 语句使用格式说明,for( 循环变量赋初值; 循环条件 ; 循环变量增值) 循环体语句 ,说明: (2) 省略表达式2: 即不判断循环条件,认为表达式2始终为真。 例如: for(i=1; ;i+) sum=sum+i; 它相当于: i = 1; while( 1 ) sum = sum + 1; i+; ,for 语句使用格式说明,for( 循环变量赋初值; 循环条件; 循环变量增值) 循环体语句 ,说明: (3)省略表达式3: 此时程序设计者应另外设法保证循环能正常结束。如: for(i=1; i=100; ) sum = sum + i; i+

9、; ,for语句的使用格式灵活! 表达式类型任意,可省略,但分号“;”不可省 当表达式2被省略时,需要在循环体中设置循环结束语句,否则构成死循环 无限循环: for( ; ; ) 括号后边的表达式可以是任意有效的C语言表达式,for(i=1; ; i+) if ( i100 ) break; sum+=i; ,6.3 for 语句总结,for(i=1; ; i+) sum+=i;,for(i=1; 1; i+) sum+=i;,break和continue语句,1、 break语句 一般形式:break; 功能: 在switch语句中,结束case分支,跳出switch语句 在循环语句,终止并

10、跳出循环体 说明: break只能终止并跳出最近一层的结构 break只能用于循环语句和switch语句中,break和continue语句,26,break和continue语句,2、 continue语句 一般形式: continue; 功能: 结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断 说明: 仅用于循环语句中 continue 语句仅结束本次循环。 break语句则是结束整个循环过程。,break和continue语句,break和continue语句,while循环,(21)有以下程序【2010年9月】 #include main() int y=10;

11、 while(y-) ; printf(y=%dn,y); 程序执行后的输出结果是 A)y=0 B)y= -1 C)y=1D)while构成无限循环,while循环,真题3 :下列程序的输出结果是 。2007.9 #include main( ) int n=12345,d; while(n! =0) d=n%10;printf(%d,d);n/=10; ,答案:54321,do while循环,真题2:下列程序的功能是:将输入的正整数按逆序输出。例如,若输入135则输出531。请填空。【2006.9】 #include main ( ) int n, s; scanf(%d, ,答案:n=n

12、/10,21、有以下程序 #include main() int s=0,n; for (n=0;n3;n+) switch(s) case 0: case 1:s+=1; case 2:s+=2;break; case 3:s+3; case 4:s+=4; printf(%dn,s); 程序运行后的结果是 A 1,2,4 B 1,3,6 C 3,10,14 D 3,6,10,真题5:有以下程序【2008.9】 #include main() int i=5; do if(i%3=1) if(i%5=2) printf(*%d,i);break; i+; while(i!=0); printf(n); 程序的运行结果是 A)*7 B)*3*5 C)*5 D)*2*6,break语句,continue语句,真题:执有以下程序 #include main( ) int x=8; for( ; x0;x-) if(x%3)printf(%d, ,x-);continue; printf(%d, ,-x); 程序的运行结果是( )。【2008.4】 A)7,4,2, B)8,7,5,2, C)9,7

温馨提示

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

评论

0/150

提交评论