欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    五章循环控制.ppt

    • 资源ID:3223994       资源大小:566.52KB        全文页数:48页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    五章循环控制.ppt

    第五章 循环控制,重点:1)三种循环结构,当型循环与while语句,直到型循环与do while语句,次数循环与for语句,2)break语句和continue语句,一、概述,循环结构:在一定的条件下,重复执行一组语句。,被重复执行的语句称为“循环体”,实现循环结构的语句有3种:,1.while语句,2.dowhile语句,3.for语句,当 (i小于20 ),练习:输出20以内的所有整数,i=1,i小于20,输出i,真,假,程序结束,i=i+1,重复操作 (循环),输出i,i=i+1,循环体,while,i20,printf(“%d”,i);,i=i+1;,#include void main() int i; ,i=1;, ,while(i=20),printf(“%d”,i);,i=i+1;,1、循环结构之 while语句,形式: while (条件) 循环体 ,功能:在程序遇到while时,首先检查条件是否成立,若成立则执行循环体语句,然后再去检查条件,若条件仍然成立则继续执行循环体,依次反复,直到某个时刻条件不再成立,则退出循环执行后续语句。,用来实现“当型”循环,流程图:,条件p,循环体,真,假,后续语句,1、循环结构之 while语句,形式: while (条件) 循环体 ,练习:输出100以内所有整数。,#include void main() int i=1; while(i100) printf(“%d”,i); i=i+1; ,if(i%3=0),能被3整除的数。,注: (1)循环体如果包含一个以上的语句,应该用花括号括起来,组成复合语句。,(2)循环体中必须有使循环趋向结束的语句,否则会出现死循环。,i=i+1;,例题:输出20以内的所有整数,i=1,i小于20,输出i,真,假,程序结束,i=i+1,二者的区别?,先判断 再执行操作,先执行操作 再进行条件判断,实现形式: while(条件) 循环体 ,实现形式: do 循环体 while(条件);,2、循环结构之 dowhile语句,注意不要漏掉分号,#include void main() int i=1; while(i20) printf(“%d”,i); i=i+1; ,例题:输出20以内的所有整数,改成do while结构,do printf(“%d”,i); i=i+1; while(i20);,do 语句与dowhile的区别,while () 循环体,do 循环体 while();,循环体至少执行一次,有可能循环体一次也执行不到。,#include void main() int i=1; while(i20) printf(“%d”,i); i=i+1; ,#include void main() int i=1; do printf(“%d”,i); i=i+1; while(i20); ,20;,20;,作用:使变量的值增1或减1,补充: 自增、自减运算符 + -,1)该运算符为单目运算符,其运算对象只能是变量,不能为常量或者表达式。,例如:i+ x- - 都是正确的 5+ (x+y)+ 都是错误的,2)该运算符作前缀、后缀都可以 例如 i+ +i i- - - -i 都是正确的,3)对变量而言 i+ 或者+i都相当于i=i+1 i- -或者- -i 都相当于i=i-1,程序的输出结果为,3)但如果作为表达式,前缀和后缀则不同: 前缀:先运算再取值 后缀:先取值再运算,例如: void main() int i=3; printf(“%dn”,i+ ); ,+i,3,4,下列程序的输出结果为,void main() int i=5,j; j=i+; printf(“i=%d,j=%dn”,i,j); ,程序结果: i=6,j=5,j=+i;,i=6,j=6,4)多用于循环语句中,使变量自增或者自减,也用于指针变量,使指针指向下一个或者前一个地址。 例如前例中:,#include void main() int i=1; while(i20) printf(“%d”,i); i=i+1; ,#include void main() int i=1; do printf(“%d”,i); i=i+1; while(i20) ; ,i+;,i+;,例题:求 s=1+2+3+4+100,s=0,s+1,s,s+2,s,s+3,s,s+99,s,s+100,s,s+i,i+,1,1+2,1+2+3,1+2+3+99,1+2+3+99+100,S=0,i=1,i=100,s=s+i,真,假,输出s,i=i+1,main() int i,s; i=1; s=0; ,while (i=100),s=s+i;,i+;,printf(“s=%dn”,s);, ,练习:求p=5!,main() int i ,p; i=1; p=1; ,while (i=5),p=p*i;,i+;,printf(“p=%dn”,p);, ,p=1,5,p=p*i,p,作业:,1:编写一个猜数的小游戏。 游戏规则:由计算机随机产生一个100以内的整数,用户猜该数是多少,如果没有猜对,则系统提示“太大”或者“太小”,然后继续猜。直到猜对为止。(guess.c),2:编程进行100以内的四则运算练习。并统计做题的总数、答对题的数目和答错题的数目。(opration.c),3:输入一个任意位数的正整数,然后由低位到高位输出每一位上的数字。如输入456789,则输出9,8,7,6,5,4,引申练习:可以玩多次的猜数游戏,知道不想玩为止。,引申练习:输入一个任意位数的正整数,然后由高位到低位输出每一位上的数字。 如输入446789,则输出4,5,6,7,8,9,for( ),#include void main() int i; i=1 ; while(i20) printf(“%d”,i); i+; ,i=1,i20,i+,基本形式: for(表达式1;表达式2;表达式3) 循环体,printf(“%d”,i);,3、循环结构之for语句,(1)形式:,多用于已经知道循环次数确定的情况下,也可以用于已知循环条件的情况。使用最为灵活。,for(表达式1;表达式2;表达式3) 循环体,(2)执行过程:,求解表达式1,判断表达式2,真,循环体,表达式3,假,循环体后的语句,for(表达式1;表达式2;表达式3) 循环体,注:一般情况下各部分表达式的作用:,表达式1:循环变量赋初值,表达式2:循环成立的条件,表达式3:循环变量的变化,所以,for语句最多的采用形式为:,for(循环变量赋初值;循环条件;循环变量变化) 循环体,例如:for(i=0;i8;i+) ,例:,/循环变量赋初值,/循环条件,/循环变量的变化,/循环语句,用for语句实现:,for( ; ; ),i=1,i=100,i+,s=s+i;,for(循环变量赋初值;循环条件;循环变量变化) 循环体,注:1)各个部分均可省略,但分号不能省。,省略表达式1:应在for语句之前给循环变量赋初值。,for(i=1;i=100;i+) s=s+i;,i=1;,省略表达式2:不进行循环条件的判断,则循环将会无终止的执行下去,即死循环。,for(i=1; i=100;i+) s=s+i;,省略表达式3:可以在循环体内实现循环变量的变化,for(i=1; i=100;i+) s=s+i;,i+;, ,注:2)各个部分可以为各种形式的与循环无关的表达式,各表达式之间用逗号隔开。,main() int i,s; s=0; for( i=0;i=100; i+) s+=i; printf(“sum is %dn”,s); ,s=0,s+=i ,;,main() int i; for(i=1;i=4;i+) printf( ); ,练习:输出4的乘法表,1*4=4 2*4=8 3*4=12 4*4=16,“ ”,*4=,%d,%d,i,i*4,练习:输出九九乘法表(lt5_5.c),1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*9=9 2*9=18 3*9=27 9*9=81,main() int i; for(i=1;i=4;i+) printf(“%d* 4 =%d ”,i, i*4 ); ,j,%d,j, ,for(j=1;j=9;j+),j;,printf(“n”);,printf(“n”);,i*j,4、循环结构的嵌套,以上3种形式的循环结构可以相互嵌套。,一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。,练习:编写一个猜数的小游戏。 游戏规则:由计算机随机产生一个100以内的整数,用户猜该数是多少,如果没有猜对,则系统提示“太大”或者“太小”,然后继续猜。直到猜对为止。,提示:太大了,否,太小了,否,提示:太小了,是,提示:猜对了。 程序结束,系统产生数据,输入数据,太大了,是,x,y,printf(“太大了!n“);,else,printf(“太小了!n“);,if(yx),if(yx),#include #include #include void main() int x,y; srand(time(0); /以系统时钟作为随机种子 x=rand()%100; /产生随机数 , ,printf(“请输入你猜的数据:“);,scanf(“%d”,printf(“太大了!n“);,else,printf(“太小了!n“);,if(yx),while(y!=x);,do,if(yx),printf(“恭喜你,猜对了!该数是:%dn“,x);,printf(“请输入你猜的数据:“);,scanf(“%d”,printf(“太大了!n“);,else,printf(“太小了!n“;,if(yx),while(y!=x);, ,printf(“请输入你猜的数据:“);,scanf(“%d”,改成while结构,提示:太大了,太大了,是,提示:太小了,是,提示:猜对了。 程序结束,系统产生数据,输入数据,猜对了吗,否,否,例题:编程判断一个数是否为素数(质数)。素数是大于1的整数,除了1和本身之外不能被其他的任何数整除。 例如:3,7,11,13,19,23,31等,void main() int x,i; scanf(“%d”, ,输入x,i=2,x与i能否整除?,真,i+,ix,假,假,退出循环,真,for(i=2;ix;i+),if(i=x) printf(“non”); else printf(“yesn”);,if(x%i=0),break;,5、break语句,作用:跳出其所在的循环体。提前结束该层循环。,练习:输出100以内的所有素数。,练习:将下面程序补充完整,使程序计算100以内所有可被7整除的自然数之和。 #include void main() int x=1; int sum=0; while(1) if(x100) _; if( )sum=sum+x; x+; printf(“%dn”,sum); ,break,x%7=0,程序分析题 #include void main( ) int i,j; for(i=l;i=4;i+=1) for(j=2;j=4;j+=j) if(i+j5) printf( + ); else printf( * ); ,6、contine语句,作用:结束本次循环。即跳过本次循环体中尚未执行的语句。,注:并没有中止整个循环。,例:分析以下程序的运行结果,main() int i; for(i=1;i=5;i+) if(i%2) printf(“*”); else continue; printf(“#”); printf($n”); ,*#*#*#$,练习:以下程序的输出结果为:,main() int a=1,b; for(b=1;b=8) break; if(a%2=1) a+=5);continue; a-=3; printf(“%dn“,b); ,4,课程回顾,一、+、-运算符 注意:作为前缀和后缀的区别。,二、3中循环语句:,while,dowhile,for,写出每一种语句的格式(通式):,while(条件) 循环体 ,do 循环体 while(条件);,for(表达式1;表达式2;表达式3) 循环体 ,for(循环变量赋初值;循环条件;循环变量变化),三、影响循环执行的2种语句:,终止本层循环:,终止本次循环:,break,continue,作业,1、现有21根火柴,两人轮流取,每人每次可取走1- 4根,不可多取,也不能不取,谁取最后一根火柴则谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。要求程序运行效果如下图。 (stick.c),2、可以玩多次的猜数小游戏。(guess1.c) 补充: 清屏:system(“cls”);,3、课本113页第6、7、10题,补充:double pow(double x, double y) 头文件 ,作业:课本114页 第14、15题,

    注意事项

    本文(五章循环控制.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开