C语言循环语句课件四章.ppt

上传人:tia****nde 文档编号:12805504 上传时间:2020-05-25 格式:PPT 页数:43 大小:618.50KB
返回 下载 相关 举报
C语言循环语句课件四章.ppt_第1页
第1页 / 共43页
C语言循环语句课件四章.ppt_第2页
第2页 / 共43页
C语言循环语句课件四章.ppt_第3页
第3页 / 共43页
点击查看更多>>
资源描述
循环结构,李晓玲,Page2,本章结构,循环结构,循环结构概述,循环结构的嵌套,for语句,while语句,dowhile语句,Page3,本章目标,了解循环结构、循环语句重点掌握for语句、while语句和dowhile语句的语法形式、执行顺序及用法掌握循环结构的嵌套使用方法,Page4,循环结构概述,为什么用循环结构?循环的基本步骤是什么?循环结构的定义?,Page5,为什么用循环结构?,在程序设计中经常会遇到在某一条件成立时,重复执行某些操作。例如,求:sum=1+2+3+4+n,Page6,循环的基本步骤,(1)给sum赋值0,i赋值1;,(2)令sum=sum+i,i=i+1;,(3)若i=n,则重复执行(2),(4)输出sum的值,Page7,循环结构的定义,循环结构:就是在给定条件成立的情况下,重复执行一个程序段;当给定条件不成立时,退出循环,再执行循环下面的程序。循环语句:实现循环结构的语句称为循环语句。在C中,循环语句有以下三种:for语句while语句dowhile语句,Page8,for语句(P29),语法形式:for(表达式1;表达式2;表达式3)语句说明:圆括号内的三个表达式用分号“;”隔开;表达式1称为循环初始化表达式,通常为赋值表达式;表达式2称为循环条件表达式,通常为关系或逻辑表达式;表达式3称为循环增量表达式,通常为赋值表达式,增量大小通常称为步长;语句称为循环体,可以是单个语句,也可以是多个语句。,for(循环初始化;循环条件;循环增量),Page9,for语句,表达式1可以省略for(;表达式2;表达式3)表达式1和3都可以省略for(;表达式2;)如果表达式3省略,则在循环体内应该有改变循环条件的语句表达式1和3可以是简单表达式,也可以是逗号表达式for(i=0,j=100;i=j;i+,j-)k=i+j;,i=1;for(;i=100;i+)sum=sum+i;,Page10,for语句,执行顺序(1)计算表达式1的值;(2)计算表达式2的值,若表达式2的值为true,则转到(3);若为false,则结束循环(3)执行循环体语句;(4)计算表达式3的值,返回(2)继续执行。流程图,表达式2,语句,false,true,求解表达式1,求解表达式3,Page11,省略表达式1的写法同时省略表达式1和3时的写法,for语句,例求自然数110之和。#includevoidmain()inti,sum=0;for(i=1;i=10;i+)sum+=i;printf(“sum=%dn”,sum);,?,分析:本题需要用累加算法,累加过程是一个循环过程,可以用for语句实现。,Page12,for语句书上例子及练习,P30例2-7P32例2-8sum=1-1/3+1/5-1/7+1/nP33例2-9求n!P34练习2-13到2-17复习分支语句和for语句的综合例题:P46例3-4P50例3-6P54例3-9,Page13,while语句(当型循环),语法形式:while(表达式)语句说明:表达式称为循环控制条件表达式,一般为关系表达式或逻辑表达式,必须用一对圆括号“()”括起来。语句称为循环体,可以是单个语句,也可以是多个语句。,循环控制条件,循环体,Page14,while语句(当型循环),执行顺序判断表达式(循环控制条件)的值若表达式的值为true,则执行循环体(语句)若表达式的值为false,则执行while语句后的语句流程图注意:在循环体中,一般应该包含改变循环条件表达式的语句。,表达式,语句,false,true,Page15,while语句(当型循环),例求自然数110之和。分析:本题需要用累加算法,累加过程是一个循环过程,可以用while语句实现。流程图,Page16,while语句(当型循环),例求自然数110之和的源程序。#includevoidmain()inti=1,sum=0;while(i=10)sum+=i;i+;printf(“sum=%dn”,sum);,运行结果:sum=55,Page17,while语句书上例子及练习,P58例4-1P61例4-2P62练习4-1、4-2、4-3、4-4,Page18,dowhile语句(直到型循环),语法形式:do语句while(表达式);说明:表达式称为循环控制条件表达式,一般为关系表达式或逻辑表达式,必须用一对圆括号“()”括起来。语句称为循环体,可以是单个语句,也可以是多个语句。dowhile语句以分号结束。,循环控制条件,循环体,以分号结束,Page19,dowhile语句(直到型循环),执行顺序先执行语句,后判断表达式的值若表达式的值为true,则继续执行循环体(语句)若表达式的值为false,则结束循环,执行dowhile语句后的语句流程图注意:在循环体中,一般应该包含改变条件表达式的语句。,语句,false,true,表达式,Page20,dowhile语句(直到型循环),例用dowhile语句求自然数110之和。分析:本题需要用累加算法,累加过程是一个循环过程,可以用dowhile语句实现。流程图,Page21,dowhile语句(直到型循环),例求自然数110之和的源程序。#includevoidmain()inti=1,sum=0;dosum+=i;i+;while(i=10);printf(“sum=%dn”,sum);,运行结果:sum=55,Page22,dowhile语句书上例子及练习,P62例4-3P64练习4-5,Page23,dowhile和while语句的区别,相同点:都是实现循环结构的语句区别:while语句先判断表达式的值,为true时,执行循环体;(先判断,后执行)dowhile语句先执行循环体,再判断表达式的值。(先执行,后判断)思考题:在什么情况下,while和dowhile语句的条件表达式和循环体相同,而循环次数却不同?,?,Page24,循环结构的嵌套,在程序设计中,一个循环语句的循环体又包含一个完整的循环结构时,构成多重循环,又称为循环语句的嵌套。for()dowhile();,for()dowhile();,Page25,循环结构的嵌套,例写出右面图形的源程序。#includevoidmain()inti,j;for(i=1;i=3;i+)for(j=1;j=3)位数字的数,它等于每个数字的n次幂之和。输入两个正整数m和n,求其最大公约数和最小公倍数。,Page30,3.求1599中能被3整除,且至少有一位数字为5的所有整数。,判断a、b、c中是否有5:将1599中三位整数i分解成个位、十位、百位,分别存放在变量a、b、c中。然后判断这三个变量是否含5。将三位整数i(设i=513)分解成个位、十位、百位的方法是:c=i/100;/百位b=i%100/10;/十位a=i%100%10;/个位,Page31,#includevoidmain()inti,a,b,c;for(i=1;i=599;i+)c=i/100;/百位b=i%100/10;/十位a=i%100%10;/个位if(i%3=0,Page32,4.输出9*9口诀表,#includevoidmain()inti,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%2d,i,j,i*j);printf(n);,Page33,打印下列图形,#includevoidmain()inti,j;for(i=1;i=5;i+)for(j=1;j=i;j+)printf(*);printf(n);,Page34,打印下列图形,#includevoidmain()inti,j;for(i=1;i=i;j-)printf();for(j=1;j=i;j+)printf(*);printf(n);,Page35,打印下列图形,#includevoidmain()inti,j;for(i=1;i=i;j-)printf(*);printf(n);,Page36,打印下列图形,#includevoidmain()inti,j,n;printf(请输入棱形的对角线半长度n:);scanf(%d,Page37,打印下列图形,#include#includevoidmain()inti,j;for(i=-3;i=3;i+)for(j=0;j=10+abs(i);j+)printf();for(j=1;j=2*(4-abs(i)-1;j+)printf(*);printf(n);,Page38,7.找出1000以内的所有完数,#includevoidmain()inti,j,s;for(i=1;i=1000;i+)s=0;for(j=1;jk,则a为素数printf(%10d,a);/输出素数n=n+1;/对素数进行统计个数printf(n);,求100之内的素数,Page41,输入两个正整数m和n,求其最大公约数和最小公倍数。,辗转相除法是利用以下性质来确定两个正整数a和b的最大公因子的:1.ab,令r为所得余数(0rb)若r=0,算法结束;b即为答案。2.互换:置ab,br,并返回第一步。,Page42,求两个自然数m与n的最大公约数采用辗转相除法设最小公倍数(Leasecommonmultiple)为lcm=m*n;最大公约数(Greatestcommondivisor)为gcd。可采用如下循环实现:(循环前lcm=m*n)r=m%n;mn;nr;直到r=0为止,此时最大公约数为gcd=n,最小公倍数为lcm=lcm/gcd例如:求m=4与n=6的最大公约数:r=4%6=4;m6;n4;r=6%4=2;m4;n2;r=4%2=0;则最大公约数gcd=n=2最小公倍数lcm=4*6/2=12,Page43,#include#includevoidmain()intm,n,lcm,gcd,r;printf(pleaseinputm,n:);scanf(%d%d,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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