欢迎来到天天文库
浏览记录
ID:59208590
大小:925.50 KB
页数:43页
时间:2020-09-26
《第5章循环结构程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章循环结构程序设计主要内容一、循环结构处理的问题二、循环结构的设计要素三、循环结构的两种形式四、实现单循环结构的语句五、循环结构的嵌套重复N次某件事一、循环结构处理的问题刷牙机器人一、循环结构处理的问题图像加密一、循环结构处理的问题求1+2+3+4+5+…+n;将10个人按高到矮排列;在N个数中查找x。一、循环结构处理的问题1、循环初始化包括循环体的变量赋初值,循环变量赋初值。2、循环控制循环终止条件限制,循环控制变量修改。3、循环体需要重复的事。二、循环结构设计要素例1:求1+2+3+4+5+…+n。需要重复的事:累加循环初始化:p=
2、1;i=2;循环控制:i≤n;i=i+1。S1:p=1;S2:i=2;S3:p=p+i;S4:i=i+1;S5:若i≤n,返回S3。否则,结束。二、循环结构设计要素例2:查找一竖排座位上个最高的人。需要重复的事:两个人的个头比较;循环初始化:i=1;循环控制:i≤n;i=i+1。二、循环结构设计要素五循环结构的嵌套三、循环结构两种形式五循环结构的嵌套1、“当”循环针对问题类型:需要先判断条件再去执行。三、循环结构两种形式2、“直到”循环针对问题类型:至少要先做重复的事一次再判断条件。例:从键盘从输入一串字符,以‘。’为结束三、循环结构两种形
3、式1、while语句一般形式:While(表达式){循环体语句}当表达式为非0值时,执行while语句中的内嵌语句。其特点是:先判断表达式,后执行语句。四、实现单循环结构的语句例3求1+2+3+4+5+…+100。开始p=1结束真(非0)假(0)p=p+ii<101?输出pi=2i=i+1#includevoidmain(){inti,p;p=1;i=2;while(i<101){p=p+i;i=i+1;}printf(“%d”,p);}四、实现单循环结构的语句2、do…while语句一般形式:do{循环体语句}whi
4、le(表达式);先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零(“真”)时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止。四、实现单循环结构的语句例4译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如:将字母变成其后的第4个字母。AE,ae,WA,XB,YC,ZD。从键盘上输入一串字符,要求输出其相应的密码。四、实现单循环结构的语句四实现单循环结构的语句解题思路:1、在读入字符串过程中,需要读一个字符,作一个转换,要重复N次,可用循环结构,重复的事为:读一个字
5、符,作一个转换。2、读入字符后,先判断它是不是字母,是字母则加密,不是则保持原值不变。3、在对一个字母进行转换时分两段来转换:变量c在‘A’~’V’,’a’~’v’时,c=c+4;在‘w’~’Z’,’w’~’z’时,c=c-22;四、实现单循环结构的语句假(0)开始结束假(0)c=c+4输入回车?输出cc=c-22#includevoidmain(){charc;do{c=getchar();{if((c>=‘a’&&c<=‘z’)
6、
7、(c>=‘A′’&&c<=‘Z’))if(c>’V’&&c<=‘Z’
8、
9、c>’v′’&&
10、c<=‘z’)c=c-22;elsec=c+4;}printf(“%c”,c);}while(c!=‘’);}读一个字符cC是字母?C在w~z之间?假(0)真(非0)真(非0)真(非0)3、for语句一般形式:for(表达式1;表达式2;表达式3)语句相当于:for(循环变量赋初值;循环条件;循环变量增值)四、实现单循环结构的语句用for语句实现循环图示表达式2?执行语句成立不成立执行for循环之后的语句执行表达式3执行表达式1循环初始化循环控制条件循环体for语句等价于下列语句:表达式1;while(表达式2){语句;表达式3;}
11、说明:for语句的一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。注意省略表达式1时,其后的分号不能省略。如:for(;i<=100;i++)sum=sum+i;四、实现单循环结构的语句说明:(2)如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2始终为真。例如:for(i=1;;i++)sum=sum+i;表达式1是一个赋值表达式,表达式2空缺。它相当于:i=1;while(1){sum=sum+1;i++;}四、实现单循环结构的语句说明:(3)表达式3也可以省略,但此时程序设计者应另外
12、设法保证循环能正常结束。如:for(i=1;i<=100;){sum=sum+i;i++;}i++的操作不放在for语句的表达式3的位置处,而作为循环体的一部分,效果是一样的,都
此文档下载收益归作者所有