ImageVerifierCode 换一换
格式:PPT , 页数:34 ,大小:1.44MB ,
文档编号:7650520      下载积分:15 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-7650520.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《C语言程序设计教程》课件第5章 循环结构程序设计.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《C语言程序设计教程》课件第5章 循环结构程序设计.ppt

1、武汉工程职业技术学院武汉工程职业技术学院第五章第五章 循环结构程序设计循环结构程序设计武汉工程职业技术学院武汉工程职业技术学院2 2第五章第五章 循环结构程序设计循环结构程序设计教学目标:教学目标:教学重点与难点:教学重点与难点:武汉工程职业技术学院武汉工程职业技术学院3 35.1 for语句语句 forfor语句是最常用的实现循环结构的语句,使用比较灵语句是最常用的实现循环结构的语句,使用比较灵活,不仅可以用于循环次数已经确定的情况,而且可以用于活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况。循环次数不确定而只给出循环结束条件的情况。5.1.1

2、for5.1.1 for语句的格式语句的格式1.for1.for语句的一般格式为:语句的一般格式为:for(for(1;2;)3)语句块;语句块;武汉工程职业技术学院武汉工程职业技术学院4 45.1 for语句语句2.2.格式说明:格式说明:(1 1)forfor是关键字,小括号不得缺省,大括号中只有一条语是关键字,小括号不得缺省,大括号中只有一条语句时,可以省略大括号。句时,可以省略大括号。(2 2)小括号中的)小括号中的3 3个表达式的所表示的含义如下:个表达式的所表示的含义如下:表达式表达式1 1:初值表达式,用于在循环开始前,为循环变量设置:初值表达式,用于在循环开始前,为循环变量设置

3、初始值。一般为赋值表达式。初始值。一般为赋值表达式。表达式表达式2 2:循环控制逻辑表达式,它控制循环执行的条件,决:循环控制逻辑表达式,它控制循环执行的条件,决定循环次数。一般为关系表达式或逻辑表达式。定循环次数。一般为关系表达式或逻辑表达式。表达式表达式3 3:一般为赋值表达式,改变循环变量的值,递增或递:一般为赋值表达式,改变循环变量的值,递增或递减。减。(3 3)大括号括起来的语句组称为循环体。)大括号括起来的语句组称为循环体。武汉工程职业技术学院武汉工程职业技术学院5 55.1 for语句语句3.3.执行过程:执行过程:(1 1)先计算表达式)先计算表达式1 1;(2 2)再计算表达

4、式)再计算表达式2 2,若其值为真(非,若其值为真(非0 0),则执行第三步),则执行第三步;若为假,则结束循环,执行;若为假,则结束循环,执行forfor循环后的语句;循环后的语句;(3 3)执行循环体中的语句;)执行循环体中的语句;(4 4)计算表达式)计算表达式3 3;(5 5)转回第二步继续执行)转回第二步继续执行 依此循环,直至表达式依此循环,直至表达式2 2的值为假(的值为假(0 0),退出循环。执行),退出循环。执行流程如图流程如图5.15.1所示。所示。武汉工程职业技术学院武汉工程职业技术学院6 6图图5.1 for循环的执行流程图循环的执行流程图 5.1 for语句语句武汉工

5、程职业技术学院武汉工程职业技术学院7 7【例例5.15.1】编写程序计算编写程序计算 s=1+2+3+100 s=1+2+3+100。5.1 for语句语句程序如下:程序如下:#include#includevoid main()void main()int s=0,i;int s=0,i;for(i=1;i=100;i+)for(i=1;i=100;i+)s=s+i;/s=s+i;/*循环体语句循环体语句 */printf(s=%dn,s);printf(s=%dn,s);程序运行结果:程序运行结果:s=5050s=5050武汉工程职业技术学院武汉工程职业技术学院8 8 【例例5.25.2】

6、从键盘输入某小组从键盘输入某小组1010个学生的个学生的C C语言成绩,计算并语言成绩,计算并输出平均分。输出平均分。5.1 for语句语句#include#include void main()void main()float score,sum=0;float score,sum=0;float average;float average;int i;int i;printf(printf(请输入请输入1010学生的学生的C C语言成绩语言成绩:n);:n);for(i=1;i=10;i+)for(i=1;i=10;i+)scanf(%f,&score);scanf(%f,&score);

7、sum =sum+score ;sum =sum+score ;average=sum/10;average=sum/10;printf(10 printf(10个学生的个学生的C C语言平均分是:语言平均分是:%4.1f,average);%4.1f,average);程序运行结果:程序运行结果:请输入请输入10个人的个人的C语言成绩:语言成绩:80 90 70 20 60 90 30 80 95 75 全班全班10个学生的个学生的C语言平均分是:语言平均分是:69.0武汉工程职业技术学院武汉工程职业技术学院9 9forfor语句中的三个表达式根据情况可以省略,说明如下:语句中的三个表达式根

8、据情况可以省略,说明如下:5.1.2 for语句的进一步演变语句的进一步演变1 1省略表达式省略表达式1 1:forfor语句的一般形式中的语句的一般形式中的“表达式表达式1”1”可以省略。但要可以省略。但要注意省略表达式注意省略表达式1 1时,其后的分号不能省略。此时,应在时,其后的分号不能省略。此时,应在forfor语句之前给循环变量赋初值。例如:语句之前给循环变量赋初值。例如:i=1i=1;for(for(;i=100i 100)break;if(i 100)break;break break 的功能是终止循环,如果的功能是终止循环,如果i100i100即即i=101i=101时即结束循

9、时即结束循环。环。武汉工程职业技术学院武汉工程职业技术学院1111 3.3.省略表达式省略表达式3 3:表达式表达式3 3的功能是改变循环变量的值,递增或递减。如果省的功能是改变循环变量的值,递增或递减。如果省略表达式略表达式3 3,也将产生一个无穷循环。因此,如果要保证循环,也将产生一个无穷循环。因此,如果要保证循环能能正常结束,可以将表达式正常结束,可以将表达式3 3放在循环体中。例如:放在循环体中。例如:for(i=1for(i=1;i=100i 100)break;/if(i 100)break;/*表达式表达式2 2*/s=s+i;s=s+i;i+;/i+;/*表达式表达式3 3*/

10、武汉工程职业技术学院武汉工程职业技术学院13135.1.2 for语句的进一步演变语句的进一步演变5.for5.for语句中要注意的几个问题:语句中要注意的几个问题:(1)(1)在在forfor语句中,表达式语句中,表达式1 1和表达式和表达式3 3也可以使用逗号表达式。在逗号表也可以使用逗号表达式。在逗号表达式内按从左至右求解,整个表达式的值为其中最右边的表达式的值。例达式内按从左至右求解,整个表达式的值为其中最右边的表达式的值。例如:如:for(i=1for(i=1;i=100i=100;i+,sum=sum+ii+,sum=sum+i;)相当于:相当于:for(i=1for(i=1;i=

11、100i=100;i+)sum=sum+ii+)sum=sum+i;(2)(2)在在forfor语句中,表达式一般为关系表达式(如语句中,表达式一般为关系表达式(如i=10i0y0y-4),但也可以是其他表达式(如字符表达式、数值表达式)。但也可以是其他表达式(如字符表达式、数值表达式)。(3)for(3)for语句的循环语句可以是空语句。空语句用来实现延时,即在程语句的循环语句可以是空语句。空语句用来实现延时,即在程序执行中等待一定的时间。序执行中等待一定的时间。for(i=1for(i=1;i=1000i=1000;i+)i+);注意:注意:上面语句最后的逗号不能省略,它代表一个空语句。上

12、面语句最后的逗号不能省略,它代表一个空语句。武汉工程职业技术学院武汉工程职业技术学院1414【例例5.45.4】求求FibonacciFibonacci数列的前数列的前2020项。该级数的前几项项。该级数的前几项是:是:1 1、1 1、2 2、3 3、5 5、8 8、1313、2121、3434、5.1.2 for语句的进一步演变语句的进一步演变#include void main()int f1=1,f2=1,f3=0,i=3;printf(%d,%d,f1,f2);for(;i=20;i+)f3=f1+f2;printf(%d,f3);if(i%5=0)printf(n);f1=f2;f2

13、=f3;程序运行结果:程序运行结果:1,,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,武汉工程职业技术学院武汉工程职业技术学院15155.2 while语句语句1 1、whilewhile语句的格式:语句的格式:while(while(表达式表达式)循环体语句;循环体语句;2 2、格式说明:、格式说明:(1 1)whilewhile是是c c语言的关键字;语言的关键字;(2 2)whilewhile后的圆括号不能缺少,表达式通常是关系表达式或后的圆括号不能缺少,表达式通常是关系表达式或逻辑表达式;表示循环的条

14、件;也可以是任意合法的表达式逻辑表达式;表示循环的条件;也可以是任意合法的表达式;(3 3)循环体可以是多个语句,必须用大括号括起来。)循环体可以是多个语句,必须用大括号括起来。武汉工程职业技术学院武汉工程职业技术学院16163 3、执行过程:、执行过程:先计算表达式的值,当表达式的值为非先计算表达式的值,当表达式的值为非0 0时,执行循环体;再计时,执行循环体;再计算表达式的值,重复上述步骤,直到表达式的值为算表达式的值,重复上述步骤,直到表达式的值为0 0时,结束循环,时,结束循环,执行循环语句的后续语句。执行流程如图执行循环语句的后续语句。执行流程如图5.25.2所示。所示。5.2 wh

15、ile语句语句图图5.2 while循环的执行流程图循环的执行流程图武汉工程职业技术学院武汉工程职业技术学院17175.2 while语句语句 注意:注意:(1)(1)在在whilewhile语句前应为循环控制变量赋初值;语句前应为循环控制变量赋初值;(2)(2)循环体内应有改变循环控制变量的语句;循环体内应有改变循环控制变量的语句;(3)while(3)while 循环的特点是先判断后执行,故循环有可能一循环的特点是先判断后执行,故循环有可能一次都不被执行;次都不被执行;(4)while(4)while语句常常应用于未知循环次数的情况。语句常常应用于未知循环次数的情况。武汉工程职业技术学院武

16、汉工程职业技术学院18185.2 while语句语句【例例5.55.5】编写程序编写程序,输入若干学生的成绩输入若干学生的成绩,输出最高分和最低分。输出最高分和最低分。程序如下:程序如下:#includevoid main()float score,max,min;/*max存放最高分,存放最高分,min 存放最低分存放最低分*/printf(请输入成绩,输入负数结束请输入成绩,输入负数结束);/*提示信息提示信息*/scanf(%f,&score);/*输入第一个学生的分数输入第一个学生的分数*/max=score;min=score;while(score=0)if(max score)m

17、in=score;scanf(%f,&score);printf(最高分为最高分为%5.1f,最低分为最低分为%5.1f,max,min);武汉工程职业技术学院武汉工程职业技术学院19191.do-while1.do-while语句的格式语句的格式采用采用whilewhile语句实现的是一种直到型循环结构,其语法的一般格式:语句实现的是一种直到型循环结构,其语法的一般格式:do do 循环体语句;循环体语句;while(while(表达式表达式););2.2.格式说明:格式说明:(1 1)dodo、whilewhile是是c c语言的关键字;语言的关键字;(2 2)whilewhile后的圆括

18、号不能缺少,表达式是任意合法的表达式;后的圆括号不能缺少,表达式是任意合法的表达式;(3 3)循环体可以是多个语句,必须用大括号括起来。)循环体可以是多个语句,必须用大括号括起来。5.3 do-while语句语句武汉工程职业技术学院武汉工程职业技术学院2020 3.3.执行过程:执行过程:(1 1)先执行)先执行dodo后面的循环体语句,后面的循环体语句,(2 2)再计算)再计算whilewhile后圆括号中表达式的值,当表达式的值为非后圆括号中表达式的值,当表达式的值为非0 0时,时,转去执行循环体;直到为转去执行循环体;直到为0 0时,结束循环,执行循环语句的后续语句时,结束循环,执行循环

19、语句的后续语句;执行流程如图;执行流程如图5.35.3所示。所示。5.3 do-while语句语句图图5.3 do-while循环的执行流程图循环的执行流程图武汉工程职业技术学院武汉工程职业技术学院21215.3 do-while语句语句注意:注意:(1)(1)循环体可以用复合语句;循环体可以用复合语句;(2)(2)循环控制变量在执行循环控制变量在执行dodo前必须赋初值;循环体内应有改前必须赋初值;循环体内应有改变循环控制变量的语句;变循环控制变量的语句;(3)do-while(3)do-while 循环的特点是先执行后判断,故循环至少被执循环的特点是先执行后判断,故循环至少被执行一次;行一

20、次;(4)“(4)“;”不得丢失。不得丢失。武汉工程职业技术学院武汉工程职业技术学院2222 【例【例5.75.7】统计从键盘输入的一行非空字符的个数(以回车作】统计从键盘输入的一行非空字符的个数(以回车作为输入结束标记)为输入结束标记)程序如下:程序如下:#include#include void main()void main()char ch;char ch;int num=0;int num=0;printf(printf(请输入一行非空字符,以回车作为输入结束:请输入一行非空字符,以回车作为输入结束:););dodo ch=getchar();/ch=getchar();/*从键盘输

21、入一个字符从键盘输入一个字符*/num+;/num+;/*统计字符个数变量自加统计字符个数变量自加1 1*/while(ch!=n);/while(ch!=n);/*当当ch ch 不是回车时,继续执行循环体不是回车时,继续执行循环体*/printf(num=%dn,num-1);printf(num=%dn,num-1);5.3 do-while语句语句武汉工程职业技术学院武汉工程职业技术学院23235.4 循环的嵌套循环的嵌套 循环结构的循环体可以是任何合法的循环结构的循环体可以是任何合法的C C语句,如果循环语句,如果循环体中包含另一个循环语句,则构成了循环的嵌套,称为多体中包含另一个循

22、环语句,则构成了循环的嵌套,称为多层循环。层循环。三种循环语句三种循环语句for、while、do.while可以互相嵌套自可以互相嵌套自由组合。循环嵌套常用的形式如下:由组合。循环嵌套常用的形式如下:武汉工程职业技术学院武汉工程职业技术学院2424 5.4.1 多层循环多层循环(1)for(;)for(;)(2)for(;)while()(3)for(;)do while();(4)do for(;)while();(5)while()for(;)(6)do while()武汉工程职业技术学院武汉工程职业技术学院2525但要注意的是,但要注意的是,各循环必须完整,相互之间绝不允许各循环必须完

23、整,相互之间绝不允许交叉。如下嵌套形式是错误的:交叉。如下嵌套形式是错误的:dodo for(;)for(;)while();/while();/*格式交叉格式交叉*/双层循环结构程序的执行过程是外循环执行一次,内层双层循环结构程序的执行过程是外循环执行一次,内层循环根据情况要执行一个循环过程。循环根据情况要执行一个循环过程。5.4.1 多层循环多层循环武汉工程职业技术学院武汉工程职业技术学院2626【例【例5.95.9】输出显示】输出显示5 5行行7 7列的星形矩阵。列的星形矩阵。程序如下:程序如下:#include#includevoid main()void main()int i,j;

24、int i,j;int col,row;int col,row;printf(printf(请输入行数和列数:请输入行数和列数:););scanf(%d%d,&row,&col);scanf(%d%d,&row,&col);for(i=1;i=row;i+)/for(i=1;i=row;i+)/*控制行控制行*/for(j=1;j=col;j+)/for(j=1;j=col;j+)/*控制列控制列*/printf(printf(*););printf(n);/printf(n);/*换行换行*/程序运行结果程序运行结果:请输入行数和列数:请输入行数和列数:5 7*5.4.2 循环嵌套的应用循环

25、嵌套的应用武汉工程职业技术学院武汉工程职业技术学院2727【例【例5.105.10】输出:乘法九九表。】输出:乘法九九表。程序如下:程序如下:#include#include void main()void main()int i,j;int i,j;for(i=1;i10;i+)/for(i=1;i10;i+)/*外层循环外层循环*/for(j=1;j=i;j+)/for(j=1;j=i;j+)/*内层循环内层循环*/printf(%dprintf(%d*%d=%d,i,j,i%d=%d,i,j,i*j);/j);/*输出数据输出数据*/printf(n);/printf(n);/*每一行输

26、出完毕换行每一行输出完毕换行*/printf(n);printf(n);5.4.2 循环嵌套的应用循环嵌套的应用武汉工程职业技术学院武汉工程职业技术学院2828 在设计循环结构的程序时,有时,我们需要在循环体中提在设计循环结构的程序时,有时,我们需要在循环体中提前前跳跳出循环,或者在满足某种条件下,不执行循环中剩下的语出循环,或者在满足某种条件下,不执行循环中剩下的语句而立即从头开始新的一轮循环,这时就要用到句而立即从头开始新的一轮循环,这时就要用到breakbreak和和continuecontinue语句。语句。1.1.breakbreak语句语句 break break语句的一般格式为:

27、语句的一般格式为:break;break;在循环语句中,在循环语句中,breakbreak语句的作用是在循环体中测试到应立语句的作用是在循环体中测试到应立即结束循环时,使控制立即跳出循环结构,转而执行循环语句即结束循环时,使控制立即跳出循环结构,转而执行循环语句后的语句。后的语句。5.4.3 break与与continue语句语句武汉工程职业技术学院武汉工程职业技术学院2929【例例5-115-11】判断输入的整数是否为素数。素数是只能被判断输入的整数是否为素数。素数是只能被1 1 和本身整除的数。和本身整除的数。程序如下:程序如下:#include#includevoid main()voi

28、d main()int n,i;int n,i;printf(printf(请输入一个整数:请输入一个整数:););scanf(%d,&n);scanf(%d,&n);for(i=2;in;i+)for(i=2;i=n)if(i=n)printf(%dprintf(%d是素数是素数n,n);n,n);else else printf(%dprintf(%d不是素数不是素数n,n);n,n);程序运行结果:程序运行结果:请输入一个整数:请输入一个整数:11 11是素数是素数请输入一个整数:请输入一个整数:15 15不是素数不是素数5.4.3 break与与continue语句语句武汉工程职业技术

29、学院武汉工程职业技术学院3030 2.continue2.continue语句语句 continue continue语句只能用于循环结构中,一旦执行了语句只能用于循环结构中,一旦执行了continuecontinue语句,程序就跳过循环体中位于该语句后的所有语语句,程序就跳过循环体中位于该语句后的所有语句,提前结束本次循环周期并开始新一轮循环。句,提前结束本次循环周期并开始新一轮循环。continue continue语句其一般格式是:语句其一般格式是:continue;continue;注意:注意:在多层循环中本语句只结束本层本次的循环,并不在多层循环中本语句只结束本层本次的循环,并不跳出

30、循环。跳出循环。5.4.3 break与与continue语句语句武汉工程职业技术学院武汉工程职业技术学院3131【例例5.125.12】输出输出100100以内能被以内能被7 7整除的数。整除的数。程序如下:程序如下:#include#includevoid main()void main()int n;int n;for(n=7;n=100;n+)for(n=7;n=100;n+)if(n%7!=0)continue;if(n%7!=0)continue;printf(%d,n);printf(%d,n);5.4.3 break与与continue语句语句程序运行结果:程序运行结果:7 1

31、4 21 28 35 42 49 56 63 70 77 84 91 98武汉工程职业技术学院武汉工程职业技术学院3232 【例例5.135.13】编程:统计若干学生编程:统计若干学生C C语言成绩的不及格人数,并计算出最高语言成绩的不及格人数,并计算出最高分和最低分。分和最低分。程序如下:程序如下:#include#includevoid main()void main()int n,count,i;int n,count,i;float score;float score;float max=0,min=100;float max=0,min=100;printf(printf(请输入班级

32、人数:请输入班级人数:););scanf(%d,&count);scanf(%d,&count);printf(n);printf(n);5.5程序综合实例程序综合实例for(i=1;i=count;i+)for(i=1;i=count;i+)printf(printf(请输入学生的成绩:请输入学生的成绩:););scanf(%f,&score);scanf(%f,&score);if(score60)n+;if(score60)n+;if(maxscore)max=score;if(maxscore)min=score;if(minscore)min=score;printf(printf(

33、不及格的人数为:不及格的人数为:%d,n);%d,n);printf(printf(最高分为最高分为:%.1f :%.1f 最低分最低分为为:%.1fn,max,min);:%.1fn,max,min);武汉工程职业技术学院武汉工程职业技术学院3333 【例【例5-145-14】编程输出以下图形】编程输出以下图形 *程序如下:程序如下:#include void main()int i,j,k;for(i=1;i=4;i+)/*外循环控制输出行数外循环控制输出行数*/for(j=1;j=4-i;j+)/*打印空格打印空格*/printf();for(k=1;k=2*i-1;k+)/*每行打印每行打印*/printf(*);printf(n);5.5程序综合实例程序综合实例武汉工程职业技术学院武汉工程职业技术学院 学无止境学无止境

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|