循环结构程序设计解析ppt课件

上传人:91274****mpsvz 文档编号:252398143 上传时间:2024-11-15 格式:PPT 页数:41 大小:517.13KB
返回 下载 相关 举报
循环结构程序设计解析ppt课件_第1页
第1页 / 共41页
循环结构程序设计解析ppt课件_第2页
第2页 / 共41页
循环结构程序设计解析ppt课件_第3页
第3页 / 共41页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,*,*,长江大学计算机科学学院,1,第五章 循环结构程序设计,教学目标,掌握while语句、do-while语句和for语句的使用;,掌握循环嵌套的运用;,掌握设计循环程序的递推法和穷举法;,了解goto语句和用goto语句构成循环结构的方法;,了解break语句和contiune语句在循环体中的作用。,基本要求,能够正确地理解和描述控制循环的表达式,能够正确地使用for、while和do-while这三种循环来解决实际问题。,11/15/2024,10:32:06,长江大学计算机科学学院,第五章 循环结构程序设计教学目标10/6/2023 1,循环结构的特点:,在给定条件(循环条件)成立时,反复执行某程序段(循环体),直到给定条件不成立时为止。,循环的实现方式:,1.用goto语句和if语句构成循环。,2.用while循环语句。,3.用do-while循环语句。,4.用for循环语句。,11/15/2024,10:32:06,长江大学计算机科学学院,循环结构的特点:10/6/2023 10:51:2,5.1 goto语句及用goto语句构成循环,1.语句标号,语句标号就是给程序中的某一个语句定义的标号,可以是任意合法的标识符(,注意:不能用整数,)。,C程序中的任何一个可执行语句之前都可以加上语句标号。例如:,stop:printf(ENDn);,语句标号和语句之间用冒号分隔。,语句标号常用作为goto语句的转向目标。如:,goto stop;,如果程序中没有用goto语句改变程序的执行顺序,也就没有必要出现语句标号。,11/15/2024,10:32:06,长江大学计算机科学学院,5.1 goto语句及用goto语句构成循环 1.语句标,2.goto语句,goto语句称为无条件转向语句。,一般形式为:goto 语句标号;,作用:把程序的执行转移到语句标号所在的位置。,注意:这个语句标号必须与此goto语句在同一个函数之内。,goto语句不符合结构化程序设计的原则,一般应避免使用。,主要用途:,1.与if语句一起构成循环结构。,2.能够大大地提高程序的执行效率时。,11/15/2024,10:32:06,长江大学计算机科学学院,2.goto语句 goto语句称为无条件转向语句,3.用goto语句构成的循环结构,#include stdio.h,void main(),int n=0;char ch;,printf(input a stringn);,loop,:ch=getchar();,n+;,if,(ch!=n),goto,loop,;,n=n-1;/*不要字符n*/,printf(%d,n);,goto语句通常与条件语句配合构成,条件转移语句,,用来实现,构成循环,或,跳出循环,等功能。,例5.1 统计从键盘输入的一行字符的个数。,11/15/2024,10:32:06,长江大学计算机科学学院,3.用goto语句构成的循环结构#include ,例5.2 输入一组数据求和,#include,void main(),int number,sum=0;,loop,:scanf(%d,sum+=number;,if(,number!=0,),goto,loop,;,printf(The total sum is%dn,sum);,从键盘输入完一组数据后,再输入一个,0,作为,结束输入,数据的,标志,。,11/15/2024,10:32:06,长江大学计算机科学学院,例5.2 输入一组数据求和#include stdio,5.2 while循环语句,由while语句构成的循环称为,“当型”,循环。,while循环的,一般形式,如下:,while(表达式),循环体语句,while语句的,执行过程,:,先计算while表达式的值,当表达式的值为非零时,便执行循环体语句,之后再计算该表达式的值,由此构成循环,直到有一次求得表达式的值为零时才结束循环,并继续执行循环体语句之外的后续语句。,图,5.1 while,循环流程图,11/15/2024,10:32:06,长江大学计算机科学学院,5.2 while循环语句由while语句构成的循环称为“,#include,void main(),int n=0;char ch;,printf(input a string:n);,ch=getchar(),;,while(,ch,!=,n,),n+;,ch=getchar();,printf(%d,n);,用while语句改写例5.1的程序,统计从键盘输入的一行字符的个数。,说明:,(1)while语句中的表达式可以是,任意合法的C表达式。,(2)如果循环体语句是,复合语句,,一定要用,括起来。,(3),在循环体语句中应该包含能够使循环趋于结束的操作,以避免出现死循环。,11/15/2024,10:32:06,长江大学计算机科学学院,#include 用while语句改写例5,例5.3 编程求1+2+3+100的值。,这是一个求,累加和,的问题。设置2个变量:,i,:循环控制变量(也作为加数),初值为1,每循环一次i的值增1,一直循环到i的值超过100为止。,sum,:存放这100个数的和值,先求0+1的和并将其放在sum中,然后把sum中的数加上2再存放在sum中,依次类推。,sum累加的过程要放在循环体中,由计算机来判断所加的数是否已经超过100。,11/15/2024,10:32:06,长江大学计算机科学学院,例5.3 编程求1+2+3+100的值。这是一个,#include,void,main(),int i,sum;,i=1;sum=0;,while(,i=100,),sum=sum+i,;,i+,;,/*变量i既作为循环变量,控制循环次数,*/,/*同时又作为实际变量(加数)使用。*/,printf(sum=%dn,sum);,例5.3程序,求1+2+3+100的值,sum=0,sum=0,i,i,程序运行结果为:,sum=5050,11/15/2024,10:32:06,长江大学计算机科学学院,#include 例5.3程序,求1+,5.3 用do-while语句构成的循环,由do-while语句构成的循环称为,“直到型”循环,。,do-while语句的一般形式:,do,循环体语句,while(表达式),;,do-while语句的执行过程:,先执行循环体语句,再求表达式的值,若表达式的值为“真”(非0)则再执行循环体语句,由此,构成循环,,直到表达式的值为“假”(0)时结束循环。如图5.3所示。,do-while语句和while语句的,区别,在于do-while是先执行循环体语句,后判断循环条件,因此do-while至少要执行一次循环体。,11/15/2024,10:32:06,长江大学计算机科学学院,5.3 用do-while语句构成的循环 由do,#include,void main(),int i,sum;,i=1;sum=0;,do,sum=sum+i;,i+;,while(,i=100,),;,printf(sum=%dn,sum);,用do-while语句改写例5.3的程序,题目:求1+2+3+100的值,注意,:N_S流程图的直到型循环结构的,循环条件,的描述方法与C语言的do-while语句的,循环条件,的测试方法稍有不同。i100时结束循环是同一概念的两种描述方式。,sum=0,sum=0,i,i,这里,一定要,有一个,分号,11/15/2024,10:32:06,长江大学计算机科学学院,#include 用do-while语,5.4 for语句和用for语句构成的循环,for语句的一般形式为:,for(表达式1,;,表达式2,;,表达式3),循环体语句,for循环语句的执行过程是:,(1)计算“表达式1”的值。,(2)计算“表达式2”的值;,若其值为,非零,,转至,步骤(3),;,若其值为,零,,则转至,步骤(5),。,(3)执行一次循环体语句。,(4)计算“表达式3”;然后转向,步骤(2),,,构成循环,。,(5),结束循环,,执行for循环之后的语句。,11/15/2024,10:32:06,长江大学计算机科学学院,5.4 for语句和用for语句构成的循环 for语句的一,for,语句,非常适合,计数循环,,其常规使用方法为,:,“表达式1”用来给循环变量赋初值或做一些初始工作;,“表达式2”用来作为判断循环是否结束的条件;,“表达式3”用来修改循环变量的值,使得循环能够趋于结束。,for语句的,常规,使用方法,#include,void main()/*,程序1,*/,int i,sum;,for(,i=1,sum=0,;,i=100,;,i+,),sum=sum+i;,printf(sum=%dn,sum);,“,表达式1,”是逗号表达式,给循环变量赋初值,做一些,初始工作,准备累加!,判断,循环是否结束!,使,得,循环,能够,趋于结束。,11/15/2024,10:32:06,长江大学计算机科学学院,for语句非常适合计数循环,其常规使用方法为:for语句的常,从语法上来讲,,三个表达式,都可以是,任意合法的C表达式,,各表达式之间用,“;”,隔开,并且这,三个表达式,都是,任选项,。,如下几种形式的for循环语句,都能正确地求出1+2+3+100的值。,for语句的,非常规,使用方法,#include,void main()/*程序2*/,int i=1,sum=0;,for(,;,i=100;i+),sum=sum+i;,printf(“sum=%dn”,sum);,表达式1省略!,#include,void main()/*程序3*/,int i=1,sum=0;,for(,;,i100),goto,pend,;,pend:,printf(“sum=%dn”,sum);,三个表达式,都被省略,!分隔符“,;,”不能省。,由于没有,表达式2,,用,goto语句,结束,循环。,#include,void main()/*程序5*/,int i,sum=0;,for(,i=1,;,i=100,;,sum=sum+i+,),;,printf(“sum=%dn”,sum);,循环体语句是一个空语句!,11/15/2024,10:32:06,长江大学计算机科学学院,for语句的非常规使用方法2#include stdio,注意,在循环体语句之前不能有,分号,#include,void main(),int i,sum=0;,for(,i=1,;,i=100,;,i+,),;,sum=sum+i;,printf(sum=%dn,sum);,运行结果为,:,sum=101,循环体语句是一个,空语句,!,sum=sum+i;,只在循环结束以后才被执行到。,11/15/2024,10:32:06,长江大学计算机科学学院,注意在循环体语句之前不能有分号#include stdio,例5.4 求n!。即计算123n的值。,分析:,该题的算法与,累加求和,的算法,基本相同,。,注意:,多个数相乘的,结果,可能会,很大,,所以在程序中采用,长整型变量,来存放乘积的值。,#include,void main(),int i,n;long,s=1,;,printf(Enter n:);,scanf(%d,for(,i=1,;i=n;i+),s=s*i;,printf(%d!=%ldn,n,s);,程序运行结果为:,Enter n:,6,6!=720,11/15/2024,10:32:06,长江大学计算机科学学院,例5.4 求n!。即计算123n的值。分析:该,例5.5 编程计算多个圆的面积,圆的半径从0.5,mm,开始,按增1,mm,的规律递增。,直接用半径r作为for语句的循环控制变量,每循环一次使r的值增1,直到r大于5.5为止。,#
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!