第5章循环结构程序设计C语言程序.ppt
《第5章循环结构程序设计C语言程序.ppt》由会员分享,可在线阅读,更多相关《第5章循环结构程序设计C语言程序.ppt(92页珍藏版)》请在优知文库上搜索。
1、 While、do-while、for语句 循环嵌套 Break、continue、goto语句 exit()函数 循环结构类型的选择及转换 循环结构程序设计举例 本章小结理解循环结构的含义;掌握C语言三种循环结构的特点;掌握while、do-while、for、goto、break、continue语句的使用方法;掌握不同循环结构的选择及其转换方法;掌握混合控制结构程序设计的方法。5.1 5.1 循环结构的程序设计循环结构的程序设计 l说明:循环体有可能一次也不执行循环体如包括有一个以上的语句,则必须用 括起来,组成复合语句。下列情况,退出while循环条件表达式不成立(为零)循环体内遇br
2、eak,return,goto无限循环:while(1)循环体;注意:注意:循环要赋初值,初值要放在循环体外。main()int a=1,n;printf(n input n:);scanf(%d,&n);while(n-)printf(%d ,a+*2);输入:n=2n-=2a+a=1a+*2 输出:2n=1 a=2n=1 a=2a+a=2a+*2 输出:4n-=0 a=3 空复合词句作为循环体空复合词句作为循环体 dowhile();空语句作为循环体空语句作为循环体 do;while();死循环死循环 do while(1);例例5.3 while和和dowhile比较比较#include
3、 main()int i,sum=0;scanf(%d,&i);do sum+=i;i+;while(i=10);printf(%d,sum);main()int i,sum=0;scanf(%d,&i);while(i=10)sum+=i;i+;printf(%d,sum);输入:输入:1输出:输出:55输出:输出:55输入:输入:11输出:输出:11输出:输出:0Do while语句先执行循环体语句先执行循环体i+,sum=0+11.再判断表达式再判断表达式i=10,不满足,退出。,不满足,退出。While语句先判断表达式语句先判断表达式i=10,不满足,退出,不,不满足,退出,不执行循环
4、体执行循环体当当while后面的表达式的第一次的值为后面的表达式的第一次的值为“真真”时,两种循环得到的结果相同;否则不相同时,两种循环得到的结果相同;否则不相同FT main()int i,j,k;for(i=0,j=10;i=j;i+,j-)k=i+j;printf(%d+%d=%dn,i,j,k);表达式1和表达式3可以是逗号表达式,逗号表达式按从左到右原则,取最右边表达式的值0+10=101+9=102+8=103+7=104+6=105+5=10注意:注意:i=0,j=10表达式值:表达式值:10但但i=0 j=10依然被赋值依然被赋值。expr1;while(expr2)循环体语句
5、;expr3;例 用for循环求 1001nn#include main()int i,sum=0;for(i=1;i=100;i+)sum+=i;printf(%d,sum);for(i=1;i=100;i+)sum=sum+i;等同于等同于i=1;while(i=100)sum=sum+i;i+;例1:(用for循环实现)计算s=1+2+3+n (n1)例2:说明以下循环语句的循环次数。(1)for(i=0;i=0;i-);答:(3)i=1;while(in)+i;答:(4)i=4;do i-;while(i0);答:(5)m=5;while(mj;i+,j-);答:n-1次n+1次n-1
6、次1次0次0次for(k=1;k=0);答:(2)s=0;for(i=0,j=100;i=j;i+,j-)s+=i+j;printf(“%d”,s);答:2,1,0,-15100显然,i+j100,i从0到50,共循环51次例3:分析以下程序的输出结果练习练习例例1:计算:计算s=1+2+3+n (n1)#include“stdio.h”main()int s,k,n;printf(“Input n=“);scanf(“%d”,&n);s=0;k=1;/*L1*/while(k=n)s+=k;k+;/*L2*/printf(“s=%dn”,s);程序中,程序中,/*L2*/行可以简化为行可以简
7、化为 while(k=n)s+=k+;则可省去复合词句。则可省去复合词句。练习练习问题与思考:问题与思考:(1)/*L1*/行中,若令行中,若令k的初值为的初值为0,请填空请填空:s=0;k=0;while()s+=k+;答:答:(2)将将/*L2*/行进行如下改动,请填空:行进行如下改动,请填空:s=0;k=;while()k+;s+=k;答:答:s=0;k=1;/*L1*/while(k=n)s+=k;k+;/*L2*/练习练习应填入应填入 k=n或或kn+1第一空应填入第一空应填入 0,或或-1第二空应填入第二空应填入kn或或k=n-1s=1+2+ns=0+1+2+nk=0 k+=1k=
8、-1 k+=0 例 循环嵌套,输出九九表1234567891234567892468101214161836912151821242791827364554637281.ij#include main()int i,j;for(i=1;i10;i+)printf(%4d,i);printf(n-n);for(i=1;i10;i+)for(j=1;j10;j+)printf(j=9)?%4dn:%4d,i*j);1.i=1,j=1 i*j=1*1=12.i=1 j=2 i*j=1*2=23.i=1 j=9 i*j=9 换行4.i=1,j=10 内循环结束 i=2,j=1外循环赋初值,先做内循环,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 程序设计 语言 程序
