C语言循环语句课件四章.ppt
《C语言循环语句课件四章.ppt》由会员分享,可在线阅读,更多相关《C语言循环语句课件四章.ppt(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,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 语句 课件
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文