C语言程序设计教程(第5版)-第5章-循环结构.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计教程(第5版)-第5章-循环结构.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教程 循环 结构
- 资源描述:
-
1、第第5 5章章 循环结构循环结构 李丽娟李丽娟 20192019年年8 8月月第5章 循环结构本章主要内容1.for循环语句结构2.while循环语句结构3.do-while循环结构4.break和continue语句的作用5.循环结构的嵌套6.案例分析第5章 循环结构循环循环就是重复地执行某些语句。程序中的循环次数是有限的,循环次数是有限的,由循环条件决定可以确定循环次数。C语言提供了3种循环结构语句:for语句 while语句 do_while语句5.1 for语句for语句是一种计数循环。循环次数由循环变量来控制。for语句的一般形式为:for(;)for语句的3个重要的组成部分:1初始
2、表达式初始化循环控制变量。2条件表达式测试循环条件。3循环表达式更新循环控制变量的值。5.1 for语句for语句的语法功能:1计算的值。该表达式是对循环控制变量进行初始化。2判断的值。该表达式就是循环条件,若该表达式的值为“真”,则执行;若该表达式的值为“假”,则退出循环,执行循环结构外的语句。3计算的值。该表达式更新循环控制变量的值。4转第2步。for(;)5.1 for语句for语句的流程图:注意:若中有多条语句,则构成复合语句,被包含在一对花括号中。若只有一条,可以不使用花括号。初始表达式 条件表达式 语句体 循环表达式 F T 5.1 for语句例例1:编写程序,求几何级数之和:分析
3、:分析:该数学表达式为123100。设:sum为级数的和(初值为零);i为循环变量;将i从1按步长为1增加到100,循环计算:sum=sum+i;求得该级数的和。程序:example5_1.c 1001ii5.1 for语句 for语句所具有的特性。1可以省略,但须保留分号(;),同时在for之前必须给循环控制变量赋值,形式为:;for(;)2一般不可省略,否则为无限循环。例如:for(i=1;i+)sum=sum+i;相当于条件总为真,程序会一直不停地执行直到“数据溢出”。5.1 for语句3亦可省略,但在循环语句体中必须有语句来修改循环变量,以使条件表达式的值在某一时刻为假,使程序能正常结
4、束循环。例如:for(sum=0,i=1;i=100;)sum=sum+i;i+;43个表达式均省略,即for(;),为无限循环,程序中要避免避免这种情况的发生。5.1 for语句5条件表达式可以是关系表达式、数值表达式。只要表达式的值不等于零,就执行循环体语句。如:for(i=0;(c=getchar()!=n;i+=c);6初始表达式、循环表达式可以是逗号表达式,用来完成逗号表达式中各表达式的功能。例如:for(sum=0,i=1;i=100;i+,i+)相当于:sum=0;for(i=1;i0,b0;如果ab,或者输入的值为负数,则程序提示输入错误,不进行任何计算,直接退出程序。i bi
5、 ai5.1 for语句程序流程图:程序:example5_2.c 思考:思考:该算法的缺点;设计更好的算法。假如输入的数可以为任意整数,如果ab,计算 ;如果ab,则计算 。请设计算法并编写程序验证。i bi aii ai bi5.1 for语句例例3 3:编写程序,从键盘输入m和n的值,用符号“*”在屏幕上打印出如下所示具有m行n列的矩形图案。*分析:分析:图案有规律,共有m行,每行有n个*号。可采用循环嵌套的方式:第1层(外层)控制行数,用i来表示,输出m行“*”;第2层(内层)控制列数,用j来表示,输出n列“*”。5.1 for语句算法流程图如图所示:虚线框内是内层循环,用来输出每一行
6、的n个*号。程序:example5_3.c 思考:怎样利用for循环的嵌套,输出更多有规律的平面图案。关键:找出图案的规律。5.1 for语句例例4 4:编写一个可以为小学生提供加法、减法和乘法的二元算术运算练习的程序,计算100以内的两个数的和、两个数的差和两个数得的积,每次测试10 个题目,依次由学生输入答案,并由计算机判断输入的答案是否正确,最后由计算机给出简单评价。分析:分析:根据题意,组成算术表达式的操作符有3种形式:+、*,分别用1、2、3来代表。用ops表示操作符,a,b分别代表两个操作数;a,b和ops由计算机随机生成,并计算表达式的值result;用户输入表达式的结果inpu
7、t;将input与result进行比较;通过比较的结果,给出对计算结果的评价。5.1 for语句程序算法流程图如图所示:程序:example5_4.c程序特别处理:如果(ab),计算(ab);否则计算(ba)。思考:思考:1如果每次测试的题目不止10个,需要怎样修改算法和程序?2如果要求程序在结束了一组测试之后,可以继续进行测试,需要怎样修改算法和程序?3如果要加入两位数的除法计算,需要怎样修改算法和程序?iN 定义整型变量 i,right=0,error=0 定义整型变量 a,b,op,result,input 定义字符型变量 ops 随机生成 a,b,ops;用 switch 生成算术表达
8、式;输出对错统计结果 N Y 用户输入运算结果;判断用户输入结果的对错;i+开始 结束 5.2 while语句while语句的一般形式为:while()循环语句;循环变量表达式;和一起构成循环体语句。while语句的语法功能:1计算的值,若该值为“假”,则跳出循环,执行循环体后面的语句;若该值为“真”,则执行循环体语句。2重复步骤1的操作。while语句的流程图如图所示5.2 while语句 while()循环语句;循环变量表达式;关于while语句的几点说明。1不可缺少,其作用是更新计算循环变量的值,使循环能正常结束。2若没有,则有可能会使程序出现无限循环而发生错误。3由于while循环是先
9、判断的值,后决定是否执行,因此,有可能一次也没有执行。5.2 while语句例例5 5:改写程序,将例5-1所示的简单几何级数求和问题用while语句来实现。(阅读、思考、比较)5.2 while语句例例6 6:编写程序,从键盘输入一个正整数n,求n!。分析:分析:n!=n*(n1)*(n2)*2*1 (约定:n0,0!=1)计算机在计算阶乘时,是从1开始计算直到n为止。用i代表循环变量,s代表n!的结果值,则循环计算表达式:s=s*i,即可求得n!。算法流程图如图所示。算法流程图如图所示。程序:程序:example5_6.c思考:能否用思考:能否用forfor循环实现?循环实现?5.2 wh
10、ile语句例例7 7:编写程序,统计从键盘输入的字符个数(回车换行符也是一个字符),当遇到结束标志时程序结束。分析:分析:关键是循环计数。设置一个累加器count(初值为0),每次从键盘输入一个字符,只要该字符的值不等于结束标志,累加器的值就增1:count=count+1;算法流程图如图所示。程序:程序:example5_7.c count=0(ch=getchar()!=EOF count=count+1 输出 count F T 开始 结束 5.2 while语句例例8 8:阅读练习:【例5-8】编写程序,进行学生某门课程成绩的分类统计。从键盘输入每位学生的成绩等级,以大小写的A、B、C
11、、D和E表示成绩等级,A为最高,D为最低。统计出总人数及各成绩段的人数,忽略回车键和空格键,以EOF作为输入结束。思考:算法流程图的其他表示方法。5.3 do-while语句do_while语句的一般形式为:do while();do_while语句的语法功能:1执行,2计算;若该表达式的值为“真”,则执行步骤1;若该表达式的值为“假”,则退出循环语句结构。do_while语句的流程图如图所示注意:注意:要避免出现无限循环而发生错误。表达式的值0 F T 5.3 do-while语句集中循环的特点比较:do_while与while和for循环的区别:do_while循环中的至少会执行一次;而w
12、hile和for循环中的有可能一次也不被执行。for循环和while循环的算法流程图描述是一致的。for循环适合于循环次数确定的情况。对大多数问题,do_while、while和for循环是可以互换的。5.3 do-while语句例9:求几何级数的和:用do_while语句的形式实现。分析:分析:循环变量i的值从1100递增,i的初值为1、终值为100,累加器sum的初值为0 循环计算:sum=sum+i。算法流程图如图所示。程序:exam5_9.c1001ii 初始化循环变量 i=1 级数的和 sum=0 sum=sum+i;i+;i100 输出 sum T F 开始 结束 5.3 do-w
展开阅读全文