循环控制ppt课件.ppt

上传人:小飞机 文档编号:5726361 上传时间:2023-08-14 格式:PPT 页数:48 大小:584KB
返回 下载 相关 举报
循环控制ppt课件.ppt_第1页
第1页 / 共48页
循环控制ppt课件.ppt_第2页
第2页 / 共48页
循环控制ppt课件.ppt_第3页
第3页 / 共48页
循环控制ppt课件.ppt_第4页
第4页 / 共48页
循环控制ppt课件.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《循环控制ppt课件.ppt》由会员分享,可在线阅读,更多相关《循环控制ppt课件.ppt(48页珍藏版)》请在三一办公上搜索。

1、第五章 循环控制,重点: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()

2、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(“%

3、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)

4、;i=i+1;,例题:输出20以内的所有整数,改成dowhile结构,doprintf(“%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)

5、该运算符为单目运算符,其运算对象只能是变量,不能为常量或者表达式。,例如: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

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,

7、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以内的四则运算练

8、习。并统计做题的总数、答对题的数目和答错题的数目。(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)

9、;,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+),例:,/循环变量赋初值,/循环条件,/循环变量的变化

10、,/循环语句,用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)各个部分可以为各种形式的与循环无关的表达式,各表达式之间用逗号隔开。

11、,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=11*2=2 2*2=41*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);

12、,j,%d,j,for(j=1;j=9;j+),j;,printf(“n”);,printf(“n”);,i*j,4、循环结构的嵌套,以上3种形式的循环结构可以相互嵌套。,一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。,练习:编写一个猜数的小游戏。游戏规则:由计算机随机产生一个100以内的整数,用户猜该数是多少,如果没有猜对,则系统提示“太大”或者“太小”,然后继续猜。直到猜对为止。,提示:太大了,否,太小了,否,提示:太小了,是,提示:猜对了。程序结束,系统产生数据,输入数据,太大了,是,x,y,printf(“太大了!n“);,else

13、,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

14、,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(“n

15、on”);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 voidmain()inti,j;for(i=l;i=4;i+=1)for(j=2;j=4;j+=j)i

16、f(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,课程回顾,一、+、-运算

17、符 注意:作为前缀和后缀的区别。,二、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题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号