C语言程序设计教程 第4章.ppt
《C语言程序设计教程 第4章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教程 第4章.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 循环结构 4.1 当型循环与直到型循环当型循环与直到型循环4.2 for 循循 环环4.3 循环的嵌套与其他有关语句循环的嵌套与其他有关语句4.4 程序举例程序举例4.1 当型循环与直到型循环当型循环与直到型循环4.1.1 当型循环结构当型循环结构当型循环结构的流程图如图当型循环结构的流程图如图4.1所示。所示。图4.1 当型循环结构流程图 在在图图4.1中中,条条件件在在程程序序中中一一般般是是一一个个逻逻辑辑表表达达式式,条条件件满满足足是是指指逻逻辑辑表表达达式式的的值值为为真真。循循环环体体可可以以是是单单个个语语句句,也也可可以以是是由由若若干干可可执执行行语语句句组组成成的
2、的复复合合语语句句,它它们是需要重复执行的操作。们是需要重复执行的操作。当当型型循循环环的的执执行行过过程程是是:当当条条件件满满足足(即即逻逻辑辑表表达达式式的的值值为为真真)时时,执执行行循循环环体体中中所所包包括括的的操操作作,当当循循环环体体执执行行完完后后,将将再再次次判判断断条条件件,直直到到条条件件不不满满足足(即即逻逻辑表达式的值为假)为止,从而退出循环结构。辑表达式的值为假)为止,从而退出循环结构。实现当型循环结构的实现当型循环结构的C语句形式为语句形式为 while (表达式表达式)循环体语句循环体语句 功能:当表达式值功能:当表达式值0时,执行循环体,执行完时,执行循环体
3、,执行完后继续判断表达式值,只有当表达式值后继续判断表达式值,只有当表达式值0时才退时才退出循环。出循环。例例4.2 从从键键盘盘输输入入各各学学生生成成绩绩,并并对对90分分以以上上(包包括括90分分)的的学学生生人人数数进进行行计计数数,直直到到输输入入的的成成绩绩为为负负为为止止,最最后后输输出出成成绩绩在在90分分以以上上的的学学生人数。生人数。图4.3 例4.2的流程图 其流程图如图其流程图如图4.3所示。其中变量所示。其中变量count为整型,用于为整型,用于对对90分以上的学生人数进行计数。分以上的学生人数进行计数。相应的相应的C程序如下:程序如下:#include stdio.
4、hmain()int count;float grade;count0;scanf(%f,&grade);while(grade0.0)if(grade90.0)countcount1;scanf(%f,&grade);printf(count%dn,count);4.1.2 直到型循环结构直到型循环结构直到型循环结构的流程图如图直到型循环结构的流程图如图4.4所示。所示。图4.4 直到型循环结构流程图 直直到到型型循循环环的的执执行行过过程程是是,首首先先执执行行循循环环体体,然然后后判判断断条条件件(即即计计算算逻逻辑辑表表达达式式),如如果果条条件件满满足足(即即逻逻辑辑表表达达式式值值
5、为为真真),则则退退出出循循环环结结构构;如如果果条条件件不不满满足足(即逻辑表达式值为假),则继续执行循环体。(即逻辑表达式值为假),则继续执行循环体。实现直到型循环结构的实现直到型循环结构的C语句形式为语句形式为do 循环体语句循环体语句 while(表达式);(表达式);功功能能:先先执执行行循循环环体体,然然后后判判断断表表达达式式值值,若若表表达达式式值值0,则则再再次次执执行行循循环环体体,如如此此循循环环,直直到到表表达达式式值值0为止。为止。例例4.3 计算并输出下列级数和:计算并输出下列级数和:直到某项的绝对值小于直到某项的绝对值小于 为止。为止。相相应应的的流流程程图图如如
6、图图4.5所所示示。其其中中f用用于于改改变变每每一一项项的的符符号号,因为这是一个各项符号相间的级数。因为这是一个各项符号相间的级数。图4.5 例4.3的流程图相应的相应的C程序如下:程序如下:#include stdio.hmain()int k;double sum,d,f;sum1.0;k1;f1.0;do kk1;ff;d1.0/(k*(k1);sumsumf*d;while(d1.0e4);printf(sum%lfn,sum);4.1.3 当型循环结构与直到型循环结构的区别与联系当型循环结构与直到型循环结构的区别与联系 当当型型循循环环结结构构与与直直到到型型循循环环结结构构既既
7、有有共共同同之之处处,又又有有区区别。主要体现在以下几个方面。别。主要体现在以下几个方面。(1)在当型循环中,其循环体可以一次也不执行(即执行)在当型循环中,其循环体可以一次也不执行(即执行当型循环结构的一开始,其条件就不满足)。当型循环结构的一开始,其条件就不满足)。(2)不管是当型循环结构还是直到型循环结构,在循环体)不管是当型循环结构还是直到型循环结构,在循环体内部必须要有能改变条件内部必须要有能改变条件(即逻辑表达式值即逻辑表达式值)的语句,否则将的语句,否则将造成死循环。造成死循环。(3)对对于于有有些些问问题题既既可可以以用用当当型型循循环环结结构构来来处处理理,也也可可以以用直到
8、型循环结构来处理。用直到型循环结构来处理。(4)不不管管是是当当型型循循环环结结构构还还是是直直到到型型循循环环结结构构,其其循循环环体体如果包含一个以上的语句,应以复合语句形式出现。如果包含一个以上的语句,应以复合语句形式出现。4.2 for 循循 环环C语言提供的语言提供的for循环属于当型循环结构,其一般形式为循环属于当型循环结构,其一般形式为for(表达式(表达式1;表达式;表达式2;表达式;表达式3)循环体语句(组)循环体语句(组)它等价于下列的当型循环结构:它等价于下列的当型循环结构:表达式表达式1;while(表达式(表达式2)循环体语句循环体语句 表达式表达式3;下面对下面对f
9、or循环语句作几点说明:循环语句作几点说明:(1)在)在for语句中,三个表达式中的任何一个表达式均可语句中,三个表达式中的任何一个表达式均可省略,但其中的两个省略,但其中的两个“;”不能省略。不能省略。(2)下列两个循环都是死循环:)下列两个循环都是死循环:for(表达式表达式1;表达式;表达式3)循环体循环体与与 for(;)循环体循环体 因为它们都没有用于判断循环是否结束的条件(即表达因为它们都没有用于判断循环是否结束的条件(即表达式式2)。)。(3)for循环本质上也是当型循环结构,只不过它对于事循环本质上也是当型循环结构,只不过它对于事先可以确定循环次数的问题特别方便。先可以确定循环
10、次数的问题特别方便。(4)在在for循循环环中中,循循环环体体也也可可以以是是复复合合语语句句(即即用用一一对对花括号花括号 括起来的语句组)。括起来的语句组)。4.3 循环的嵌套与其他有关语句循环的嵌套与其他有关语句4.3.1 循环的嵌套循环的嵌套 所所谓谓循循环环的的嵌嵌套套是是指指一一个个循循环环体体内内又又包包含含了了另另一一个个完完整整的的循循环环结结构构。C语语言言允允许许循循环环结结构构嵌嵌套套多多层层。循循环环的的嵌嵌套套结结构构又又称为多重循环。称为多重循环。例例4.6 计算并输出计算并输出10以内以内(包括包括10)所有自然数的阶乘所有自然数的阶乘值。即计算值。即计算1!,
11、2!,3!,4!,5!,6!,7!,8!,9!,10!。采采用用的的方方法法是是,对对于于10以以内内的的每每一一个个自自然然数数分分别别求求它它们们的的阶阶乘乘值值。其其流流程程图图如如图图4.7所所示示。显显然然,这这是是一一个个二二重重循循环环结结构。构。图4.7 例4.6的流程图相应的相应的C程序如下:程序如下:#include stdio.hmain()int n,k;double s;for(n1;n10;nn1)s1.0;for(k1;kn;kk1)ss*k;printf(%2d!%16.7fn,n,s);4.3.2 break 语句语句C语言中的语言中的break语句有以下两个
12、功能:语句有以下两个功能:(1)跳出)跳出 switch 结构;结构;(2)退退出出当当前前循循环环结结构构,包包括括 while 结结构构、dowhile 结结构和构和for循环结构。循环结构。4.3.3 continue 语句语句 continue语语句句的的功功能能是是结结束束本本次次循循环环的的执执行行,但但不不退退出循环结构。出循环结构。下面举两个例子来说明下面举两个例子来说明continue语句的使用。语句的使用。例例4.10 输出输出100200之间所有能被之间所有能被7或或9整除的自然数。整除的自然数。相应的相应的C程序如下:程序如下:#include stdio.hmain(
13、)int n;for(n100;n200;nn1)if(n%7!0)&(n%9!0)continue;/*结束本次循环,继续进行结束本次循环,继续进行下次循环下次循环*/printf(%d n,n);实际上,上述程序等价于实际上,上述程序等价于#include stdio.hmain()int n;for(n100;n200;nn1)if(n%70)|(n%90)printf(%d n,n);4.4 程序举例程序举例4.4.1 列举算法列举算法 所谓列举算法,是指根据提出的问题,列举所有可能的所谓列举算法,是指根据提出的问题,列举所有可能的情况,并根据条件检验哪些是需要的,哪些是不需要的。情况
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计教程 第4章 语言程序设计 教程
限制150内