ImageVerifierCode 换一换
格式:PPT , 页数:33 ,大小:417.50KB ,
资源ID:14030077      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/14030077.html】到电脑端继续下载(重复下载【60天内】不扣币)。

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(计算机二级c语言第5章摘要.ppt)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

计算机二级c语言第5章摘要.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章 循环结构,本章要点,:,5.1 while,语句和用,while,语句构成的循环结构,5.2 do-while,语句和用,do-while,语句构成的循环结构,5.3 for,语句和用,for,语句构成的循环结构,5.4,循环结构的嵌套,5.5 break,和,continue,语句在循环体中的作用,5.6,程序举例,5.1.1 while,循环的一般形式,由,while,语句构成的循环也称“当”循环,,While,语句的一般形式为:,While,(表达式),循环语句;,以下是几点说明:,1,w

2、hile,是,C,语言的关键字。,2,while,后的表达式,可以是,C,语言中任意合法的表达式,通常为关系表达式或逻辑表达式,但也可以是其他运算表达式。当表达式的值为零时,表示条件为假;非零时,表示条件为真。,3,循环体可以是一条简单可执行语句,也可以是复合语句。,4,如果第一次计算时表达式的值就为,0,,则循环语句一次也不被执行,流程直接跳过,While,语句,执行下一条语句。,重点提示:,while,型循环语句中循环体的执行次数可以从,0,到无穷。若第一次计算表达式的值为,0,,则循环体执行,0,次;若表达式恒为真,则陷入死循环。,5.1.2 while,循环的执行过程,while,循环

3、的执行过程是:计算,while,后表达式的值,,当值为非零时,执行循环体中的语句;,当值为零时,退出,while,循环。,注意,:,进入,while,循环后,一定要有能使此表达式的值变为,0,的操作,否则,循环将会无限制的进行下去,即进入死循环。在程序设计中,这个是不允许出现的。,例如:,计算,1+2+3+100,。,main(),int i,sum=0;,i=1;,while(i100,时,循环条件就不满足,循环到此结束。如果无此语句,则,i,的值一直不变,循环永不结束,这就称为“死循环”。在程序设计中,是不允许死循环出现的。,重点提示:,在循环体中应有使循环趋于结束的语句。在程序设计中,是

4、不允许死循环出现的。,5.2 do-while,语句和用,do-while,语句构成的循环结构,5.2.1 do-while,语句构成的循环结构,do-while,是另一种循环结构,它的一般形式为:,do,循环语句;,while,(表达式);,以下是几点说明:,1,do,是,C,语言的关键字,必须和,while,联合使用。,2,在,while,(表达式)后的分号“;”不可丢,它表示,do-while,语句的结束。,3,while,后括号中的表达式可以是任意合法的表达式,由它来控制循环是否执行。,4,do-while,之间的循环体可以是一条可执行语句也可以是由“,”,构成的符合语句。,5.2.2

5、 do-while,循环的执行过程,do-while,语句的执行过程是,:先执行一次指定的循环语句,然后判断表达式的值,若表达式的值为非,0,,再返回重新执行循环语句,如此重复,直到表达式的值为,0,时才跳出循环语句,执行下一条语句;若表达式的值为,0,,则不再返回重新执行循环语句,直接退出循环语句,执行下一条语句。如图,5.1,(,b,)所示。,do while,语句的特点是,:先执行语句,后判断表达式的值。故,do While,语句又称“直到型”循环结构。由于是先执行后判断,因此,do while,语句的循环语句至少被执行一次。,注意,:while,圆括号后面有一个分号“;”,书写时不能丢

6、例如,:用,do while,循环结构来计算,1+2+3+100,。,main(),int i,sum=0;,i=1;,do,sum+=i;,i+;,while(i=100);,printf(dn,sum);,程序运行结果,为:,5050,可以看出,,,此例的结果与上节的例程结果是完全相同的,也就是说,对同一问题既可以用,while,语句来处理,也可用,do while,语句来处理。在一般情况下,用,while,语句和,do while,语句处理同一问题时,若二者的循环体一样,运行结果也就一样。但当,while,后面表达式的值一开始就为,0,时,两种循环结构的结果是不相同的。,重点提示,:

7、do-while,语句先执行语句,后判断表达式的值。故,do-while,语句又称“直到型”循环结构。由于是先执行后判断,因此,do-while,语句的循环语句至少被执行一次。,5.3 for,语句和用,for,语句构成的循环结构,5.3.1 for,语句构成的循环结构,for,语句的一般形式为:,for,(表达式,1,;表达式,2,;表达式,3,),循环语句;,以下是几点说明:,1,表达式,1,一般为赋值表达式,用于进入循环之前给循环变量赋初值。,2,表达式,2,一般为关系表达式或逻辑表达式,用于执行循环的条件判定,它与,while,、,do while,循环中的表达式作用完全相同。,3,

8、表达式,3,一般为赋值表达式或自增、自减表达式,用于修改循环变量的值。,for,循环结构是几乎所有高级语言都提供的循环控制结构。但,C,语言中的,for,语句使用最为灵活,它不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,因而它完全可以代替,while,语句和,do while,语句。,重点提示:,表达式,1,、表达式,2,、表达式,3,都必须为,for,语句规定的合法的表达式。,for,语句的执行过程是:,先计算表达式,1,的值。,再计算表达式,2,的值,若其值为真,则执行循环体一次;否则跳转第,步。,然后计算表达式,3,的值。,转回上面第,步。,结

9、束循环,执行,for,语句下面一个语句。,5.3.2 for,循环执行过程,图,5.2 for,语句的执行流程图,重点提示:,在整个,for,语句中,表达式,1,只计算一次,表达式,2,和表达式,3,则可能计算多次。循环体可能多次执行,也可能一次都不执行。,5.3.3,有关,for,语句的说明,(,1,),for,语句的一般形式中的“表达式,1”,可以省略,即:,for,(;表达式,2,;表达式,3,),循环语句;,但注意省略表达式,1,时,其后的分号不能省略。此时,应在,for,语句之前给循环变量赋初值。,(,2,)如果省略表达式,2,,即:,for,(表达式,1,;表达式,3,),循环语句

10、则表示表达式,2,的值始终为真,循环将无终止地进行下去。例如:,for(i=1;i+),printf(%d,i);,将无限循环输出,1,2,3,4,5,6,(,3,)如果省略表达式,3,,即:,for,(表达式,1,;表达式,2,;),循环语句;,此时,也将产生一个无穷循环。因此,程序设计者应另外设法保证循环能正常结束,可以将循环变量的修改部分(即表达式,3,)放在循环语句中控制。例如:,for(i=1;i=100;),sum+=i;,i+;,上述,for,语句中没有表达式,3,,而是将表达式,3,(,i+,)放在循环语句中,作用相同,都能使用循环正常结束。注意表达式,2,后面的分号不能省

11、略。,(,4,)也可以同时省略表达式,1,和表达式,3,,即:,for,(;表达式,2,;),循环语句;,也即省略了循环的初值和循环变量的修改部分,此时完全等价于,while,语句。,(,5,)同时省略表达式,1,、表达式,2,和表达式,3,,即:,for,(;),循环语句;,相当于赋循环变量的初值,循环控制条件始终为真,不修改循环变量,故循环将无终止地进行下去。,(,6,)在,for,语句中,表达式,1,和表达式,3,不仅可以使用简单表达式,也可以,使用逗号表达式,,即包含一个以上的简单表达式,中间用逗号间隔。在逗号表达式内按自左至右求解,整个表达式的值为其中最右边的表达式的值。,例如:,f

12、or(i=1;i=100;i+,sum=sum+i),相当于,for(i=1;i=100;i+),sum=sum+i;,(,7,)在,for,语句中,表达式一般为关系表达式或逻辑表达式,但也可以是其他表达式(如字符表达式、数值表达式)。,(,8,),for,语句的循环语句可以是空语句。,空语句用来实现延时,即在程序执行中等待一定的时间。如下为延时程序的,例子,:,for(i=1;i=1000;i+);,注意以上语句最后的分号不能省略,它代表一个空语句。,例如:用,for,循环结构来计算,1+2+3+100,。,main(),int i,sum=0;,for(i=1;i=100;i+),sum+

13、i;,printf(%dn,sum);,程序运行结果为:,5050,可以看出,此例的结果前两例是完全相同的。显然,用,for,语句简单、方便。,重点提示,:,for,语句中的表达式可以部分或全部省略,但两个分号不能省略,且三个表达式均省略时,循环将会无限制执行,而形成死循环。因此,编写程序时,在,for,后面的一对圆括号内,应只含有能对循环进行控制的表达式,其它的操作尽量放在循环体内完成。,5.4,循环结构的嵌套,1,循环嵌套的形式,在一个循环体内又完整地包含了另一个循环,称为循环嵌套。循环的嵌套可以是多层,但每一层循环在逻辑上必须是完整的。例如以下几种形式的二重嵌套。,while,与,wh

14、ile,二重嵌套,while(),while(),do while,与,do while,二重嵌套,do,do,while();,while();,for,与,for,二重嵌套,for(;),for(;),while,与,while,二重嵌套,2,关于循环嵌套的几点说明,(,1,)三种循环语句不仅各自可以嵌套,而且还可以互相嵌套。例如:,while,与,do while,二重嵌套,while(),do,while;,while,与,for,二重嵌套,while(),for(;),do while,与,for,二重嵌套,do,for(;),while();,(,2,)使用嵌套时,应注意一个循环结

15、构应完整地嵌套在另一个循环体内,不允许循环体间交叉。例如以下循环结构是不正确的:,while(),do,while();,(,3,)除了上述二重嵌套外,还可以有三重嵌套、四重嵌套等多层嵌套。,(,4,)嵌套的外循环和内循环的循环控制变量不得同名,但并列的内、外循环允许有同名的循环控制变量。例如以下为合法的循环结构:,for(j=1;j=10;j+),for(i=1;i=10;i+),for(i=1;i=10;i+),3,循环嵌套程序举例,利用双层,for,循环结构打印出,99,乘法表。,main(),int i,j;,for(i=1;i10;i+),printf(%5d,i);,printf(

16、n);,for(i=1;i=46;i+),printf(-);,printf(n);,for(i=1;i10;i+),for(j=1;j=9;j+),printf(%5d,i*j);,printf(n);,程序运行结果为:,1 2 3 4 5 6 7 8 9,-,1 2 3 4 5 6 7 8 9,2 4 6 8 10 12 14 16 18,3 6 9 12 15 18 21 24 27,4 8 12 16 20 24 28 32 36,5 10 15 20 25 30 35 40 45,6 12 18 24 30 36 42 48 54,7 14 21 28 35 42 49 56 63,

17、8 16 24 32 40 48 56 64 72,9 18 27 36 45 54 63 72 81,(,1,)第,45,行和第,78,行为两个并列的,for,循环结构,作用是输出运行结果的第,1,行和第,2,行。,(,2,)第,6,行和第,9,行的“,printf(n);”,语句作用是输出一行后进行换行处理。,(,3,)第,1014,行为二重嵌套,for,循环结构,作用是打印乘法表,其中第,14,行的作用是每次退出内循环之时,即每次输出一行完毕后进行换行处理。,重点提示,:,在循环嵌套中,内嵌的第一个,for,循环的结束条件和外循环的控制变量是有关的,而最里面的,for,循环的循环结束条件

18、是固定不变的。,5.5 break,和,continue,语句在循环体中的作用,5.5.1 break,语句,在第四章中我们介绍过,使用,break,语句可以使流程跳出,switch,语句体,在循环结构中,也可以使用,break,语句使流程跳出本层循环体,从而提前结束本层循环。,break,语句的一般形式为:,break,;,关于,break,语句有以下几点说明:,(,1,),break,语句不能用于循环语句和,switch,语句之外的任何其他语句中。,(,2,),break,语句只能用于循环体内,不能用在循环语句上。如,for(i=1;i10;break,i+),是不正确的。,(,3,),b

19、reak,语句只能跳出一层循环,即从当前循环层中跳出。如果要跳出多层循环,可使用,goto,语句。,例如,:设计一个程序,求能同时满足除以,3,余,1,、除以,5,余,3,、除以,7,余,5,、除以,9,余,7,的最小正整数。,main(),int i;,for(i=1;i+),if(i%3=1&i%5=3&i%7=5&i%9=7),break;,printf(%dn,i);,程序运行结果为,:,313,由于此题无法确定循环的条件和循环次数,因此应采用无限循环配以,break,语句的方法。,重点提示:,当,break,语句出现在循环体中的,switch,语句体内时,其作用只是跳出该,switc

20、h,语句体,当,break,语句出现在循环体中,但并不在,switch,语句体内时,则在执行,break,后,跳出本层循环。,5.5.2 continue,语句,1,continue,语句的一般形式,continue,语句的作用是结束本次循环,即不再执行循环体中,continue,语句之后的语句,而是跳转到循环的开始处,进行下一次是否执行循环的判定。它的一般形式为:,continue,;,2,关于,continue,语句的几点说明,(,1,),continue,语句只是结束循环结构中的本次循环,并非跳出整个循环过程。具体说:对,while,和,dowhile,语句,遇,continue,语句后

21、转向执行,while,之后圆括号内的条件表达式的判断;对,for,语句,遇,continue,语句后,转向执行表达式,3,。,(,2,)执行,continue,语句并没有使整个循环终止。,(,3,),continue,语句与,break,语句有本质的区别:,continue,语句只是结束本次循环,而不终止整个循环的执行;而,break,语句的作用则是强制终止整个循环过程。,3,continue,语句与,break,语句的区别,例如:,打印出数字,010,,但跳过(即不输出)数字,5,。,main(),int i;,for(i=0;i=10;i+),if(i=5),continue;,prin

22、tf(%5d,i);,程序运行结果为:,0 1 2 3 4 6 7 8 9 10,(,1,)当,i,等于,5,时执行,continue,语句,它的作用是终止本次循环,即不再执行,continue,后面的语句,故不输出,5,,而是转转向执行,for,语句的表达式,3,,继续进行下一轮循环。,(,2,)实际上,在程序中完全可以不用,continue,语句,如本例中可以去掉第,6,、,7,两行,而用下面的语句来代替:,if(i!=5),(,3,)如果在本例中将第,7,行的“,continue;”,语句,改为“,break;”,语句,则输出结果为:,0 1 2 3 4,可以清楚地看出,break,语句是终止整个循环过程,它与,continue,语句作用是截然不同的。,重点提示:,当,break,语句出现在循环体中的,switch,语句体内时,其作用只是跳出该,switch,语句体,当,break,语句出现在循环体中,但并不在,switch,语句体内时,则在执行,break,后,跳出本层循环。,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服