第05章 循环结构程序设计.ppt

第05章 循环结构程序设计.ppt

ID:48805203

大小:306.00 KB

页数:34页

时间:2020-01-26

第05章 循环结构程序设计.ppt_第1页
第05章 循环结构程序设计.ppt_第2页
第05章 循环结构程序设计.ppt_第3页
第05章 循环结构程序设计.ppt_第4页
第05章 循环结构程序设计.ppt_第5页
资源描述:

《第05章 循环结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、5.1循环结构的程序设计5.2循环嵌套5.3跳转语句第章循环结构程序设计程序设计大多用来完成复杂、繁琐、重复性的工作,所以程序设计中必须有循环语句。循环结构是程序设计中三大基本结构之一,是最常用的语句。在第4章中介绍如何利用goto语句与if语句配合实现程序的循环功能。但goto是无条件转向语句,容易引起程序流程的混乱,C提供了3条循环语句。5.1goto语句goto语句被称为无条件转向语。格式:goto语句标号;功能:遇到goto语句,就转到语句标号处继续执行。语句标号是标识符,写在语句前用来标识语句,多与if语句配合实现循环。注意:尽量不用或少用goto语句,容易引起程序流程的混乱,即随

2、意到处跳转。一般说来求和分为两种情况:数据有规律与无规律。1、设一个变量sum作为累加器并赋初值0;2、输入数据或利用某变量自动产生一个数据;3、利用赋值语句先算右边表达式的特点,执行语句:sum=sum+变量;求累加和。例程5-1:算法:voidmain(){inti=1,sum=0;L:if(i<=100)//判断结束条件{sum=sum+i;i++;gotoL;}printf(”sum=%d",sum);}结果:sum=5050voidmain() {intsum=0,i=0; L:sum=sum+i;i++; if(i<=100)gotoL;printf("%d",sum); }算法

3、二:建议:尽可能的不用goto语句,以免破坏程序的结构化。voidmain(){intx,sum=0;L1:scanf(“%d”,&x);if(x==-999)gotoL2sum=sum+x;gotoL1;L2:printf(“%d”,sum);}算法三:-999是结束标志,只要是不参与运算的数均可作为结束标志。C语言提供了三种形式循环语句:1.while语句2.do…while语句3.for语句5.2循环结构的程序设计while语句和do-while语句1.语句格式:while(表达式){若干语句}do{若干语句}while(表达式);下一语句=1=0表达式?多条语句while(表达式){

4、多条语句}表达式?多条语句=1=0下一语句do{多条语句}while(表达式)2.功能流程图:while语句:先判断,后执行,最小循环次数=0。3.特点:do-while语句:先执行,后判断,最小循环次数=1i=1;sum=0;while(i<=100){sum+=i;i++;}i=1;sum=0;do{sum+=i;i++;}while(i<=100)1)循环体中至少应有一条能改变表达式值的语句,使循环进行若干次后,表达式值为假结束循环,否则将造成无限循环。2)若不改变循环控制条件,可利用break语句强行退出循环。4.说明分别统计输入的字符串中数字和其他字符的个数。例程5-2:#incl

5、udevoidmain(){charch;intnum=0,chn=0;while((ch=getchar())!=’’){if(ch>=‘0‘&&ch<=‘9‘)num++;elsechn++;}printf(“num=%d,chn=%d”,num,chn);}例程5-3:从键盘输入一个数,将其数字按逆序输出。#includevoidmain(){intx,d;printf(“输入一个正整数:”);scanf(“%d”,&x);do{d=x%10;printf(“%d”,d);x=x/10;}while(x!=0);}一种形式更为灵活的循环语句。

6、for(初始表达式;条件表达式;循环表达式){若干语句}for语句1.语句格式:=0=1赋初值判断表达式2?被循环语句执行表达式3改变循环条件结束for语句执行下条语句2.功能流程图:用for语句求累加和:sum=0;for(i=1;i<=100;i++)sum+=i;for语句与while、do-while互换用, 但for直观、简单、方便。i=1;sum=0;while(i<=100){sum+=i;i++;}i=1;sum=0;do{sum+=i;i++;}while(i<=100)1)for语句中的三个表达式均可部分或全部省略,但须保留分号;例如:3.说明:i=1;sum=0;for

7、(;i<=100;){sum=sum+I;i++;}printf(“sum=%d”,sum);for(i=1;;i++)sum=sum+i;while(1){sum=sum+i;i++;}若无条件表达式2形成无限循环2)for语句中条件测试总是在循环开始时进行。例如:x=10;for(y=10;y!=x;++y)printf(“%d”,y);for循环一次也不执行例程5-4:输出[1,99]不能被2和3同时整

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。