循环语句的执行流程.ppt

上传人:牧羊曲112 文档编号:5726582 上传时间:2023-08-14 格式:PPT 页数:44 大小:1.32MB
返回 下载 相关 举报
循环语句的执行流程.ppt_第1页
第1页 / 共44页
循环语句的执行流程.ppt_第2页
第2页 / 共44页
循环语句的执行流程.ppt_第3页
第3页 / 共44页
循环语句的执行流程.ppt_第4页
第4页 / 共44页
循环语句的执行流程.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《循环语句的执行流程.ppt》由会员分享,可在线阅读,更多相关《循环语句的执行流程.ppt(44页珍藏版)》请在三一办公上搜索。

1、Lesson 3循环语句的执行流程,3,本课内容,三种循环语句比较,while 语句,for 语句,do-while 语句,continue 语句,while语句求和,int i=1,s=0;while(i=100)s=s+i;i=i+1;,i=1,s=0,2,3,+1,+2,99,100,101,+,+99,+100,while语句与自增,int i=0,s=0;while(i+=100)s+=i;,i=0,s=0,1,2,+1,+2,99,100,101,+,+99,+100,+101,102,i=100,必做,真:循环假:退出,i+,必做,while语句5-1,2006.9.22以下程序

2、的运行结果是 int k=5;while(-k)printf(%d,k-=3);A)1 B)2 C)4 D)死循环,2006.4.302010.9.212011.9.20以下程序的运行结果是 int y=10;while(y-);printf(%d,y);,-1,while语句5-2,2004.4.23以下程序的运行结果是 int a=0,b=5,c=3;while(c-0,3,2,-1,2007.9.8以下程序的运行结果是 int n=12345,d;while(n!=0)d=n%10;printf(%d,d);n/=10;,54321,while语句5-3,2010.9.20以下程序的运行

3、结果是 int a=1,b=2;while(a 6)b+=a;a+=2;b%=10;printf(%d,%d,a,b);A)5,11 B)7,1 C)7,11 D)6,1,while语句5-4,2005.9.36以下程序运行后,n的值是 int k=5,n=0;while(k 0)switch(k)default:break;case 1:n+=k;case 2:case 3:n+=k;k-;,7,while语句5-5,2011.3.19输入:1 2 3 4 5 0,则输出 int s;scanf(%d,6566456,for语句的一般格式,for(表达式1;表达式2;表达式3)语句,例如,下

4、面的程序计算1至100的和:for(s=0,i=1;i=100;i+)s+=i;,for语句5-1,2008.4.8以下程序的运行结果是 for(k=2;k 6;k+,k+)printf(#%d,k);,#2#4,2005.4.10以下程序的运行结果是 for(a=0,b=6;a b;a+,b-)printf(%d%d,a,b);,061524,2007.9.22以下程序的运行结果是 for(y=9;y 0;y-)if(y%3=0)printf(%d,-y);,852,for语句5-2,2010.3.21以下程序运行后,a和b的值是 for(a=1,b=2;a 8;a+)b+=a;a+=2;,

5、10,14,2011.9.8以下程序运行后,i和j的值是 for(i=6;i 3;i-)j=i;,3,4,2011.3.22对下述循环语句,说法正确的是 for(i=0,k=-1;k=1;i+,k+)printf(*);A)程序编译有错 B)是无限循环 C)只循环一次 D)一次也不循环,for语句5-3,2009.9.18以下程序运行后,c的值是 int c=0,k;for(k=1;k 3;k+)switch(k)default:c+=k;case 2:c+;break;case 4:c+=2;break;,3,for语句5-4,2004.9.20以下程序的运行结果是 int i;for(i=

6、0;i 3;i+)switch(i)case 0:printf(%d,i);case 2:printf(%d,i);default:printf(%d,i);,000122,for语句5-5,2009.9.10以下程序的运行结果是 int f,f1,f2,i;f1=0;f2=1;printf(%d%d,f1,f2);for(i=3;i=5;i+)f=f1+f2;printf(%d,f);f1=f2;f2=f;,01123,水仙花数,153=13+53+33,台阶问题,1,1,2,2,3,3,4,5,5,8,6,13,7,21,Fibonacci数列,a,b,a,b,a,b,a,b,a,b,c,

7、a,b,c,a,b,c,a,b,c,回文数,a=456;b=0;w=a;do b=b*10+a%10;a=a/10;while(a 0);,b=0;,a=456;,w=456;,a=456/10=45;,b=0*10+6=6;,b=6*10+5=65;,b=65*10+4=654;,a=45/10=4;,a=4/10=0;,if(b=w)printf(是);else printf(否);,回文数:66,121,8998,7不是:456,67,do-while语句4-1,例以下程序的运行结果是 int a=3;do printf(%d,a-=2);while(!-a);,1-2,2009.9.9

8、以下程序运行后,a的值是 int a=1,b=7;do b=b/2;a+=b;while(b 1);,5,do-while语句4-2,2007.9.19以下程序的运行结果是 int i=0;do printf(%d,i);while(i+);printf(%dn,i);A)0,0 B)0,1 C)1,1 D)死循环,do-while语句4-3,2008.9.29以下程序的运行结果是 int i=5;do if(i%3=1)if(i%5=2)printf(*%d,i);break;i+;while(i!=0);,*7,do-while语句4-4,2007.4.23以下程序的运行结果是 int k

9、=5,n=0;do switch(k)case 1:case 3:n+=1;break;default:n=0;k-;case 2:case 4:n+=2;k-;break;printf(%d,n);while(k 0,2345,循环语句比较,i=100;s=0;while(i=9)s+;,s=0;for(i=100;i=9;i+)s+;,i=100;s=0;do s+;while(i=9);,三种循环语句的比较,while 语句,for 语句,do-while 语句,当循环次数无法确定,需根据某个条件控制循环次数时,通常用 while 语句。,当已经知道循环次数的时候,用 for 语句比较方

10、便。,当需要先执行循环体,后判断循环条件时,用 do-while 语句。,循环语句比较,2004.9.25若变量已正确定义,要求程序完成求5!的计算,以下不能完成此操作的程序是 A)for(i=1,s=1;i=5;i+)s*=i;B)i=s=1;while(i=5)s*=i+;C)i=0;s=1;do s*=+i;while(i 5);D)for(i=1;i=5;i+)s=1;s*=i;,for与while语句,2007.9.29有以下程序段,且变量已正确定义和赋值 for(s=1.0,k=1;k=n;k+)s=s+1.0/(k*(k+1);请填空,使下面程序段的功能为完全相同 s=1.0;k

11、=1;while(_)s=s+1.0/(k*(k+1);_;,k=n,k+,for(表达式1;表达式2;表达式3)语句1;continue;语句2;,continue语句,while(表达式)语句1;continue;语句2;,do 语句1;continue;语句2;while(表达式);,continue语句6-1,2009.3.9以下程序的运行结果是 int k=1,s=0;do if(k%2!=0)continue;s+=k;k+;while(k 10);printf(s=%d,s);,s=0,continue语句6-2,2008.4.21以下程序的运行结果是 int x=8;for(;

12、x 0;x-)if(x%3)printf(%d,x-);continue;printf(%d,-x);,8542,continue语句6-3,2005.4.41以下程序运行后,b的值是 int a=1,b;for(b=1;b=8)break;if(a%2=1)a+=5;continue;a-=3;,4,continue语句6-4,2004.9.24以下程序的运行结果是int i=0,s=0;for(;)if(i=3|i=5)continue;if(i=6)break;i+;s+=i;printf(%d,s);A)10 B)13 C)21 D)死循环,continue语句6-5,2011.3.2

13、0以下关于程序段叙述正确的是 for(i=0;i 8;i+)n=rand()%4;switch(n)case 1:case 2:printf(%d,n);break;case 3:printf(%d,n);continue;case 0:exit(0);printf(%d,n);,A)for循环语句固定执行8次 B)当产生的随机数n为3时结束循环操作 C)当产生的随机数n为1时不做任何操作 D)当产生的随机数n为0时结束程序运行,continue语句6-6,例填空实现程序的功能:输出100以内(不含100)能被3整除且个位数为7的所有整数 for(i=0;_;i+)j=i*10+7;if(_)

14、continue;printf(%d,j);,i 100,i 10,j%3!=0,控制语句,控制语句 if().else.条件语句 for().循环语句 while().循环语句 do.while()循环语句 continue结束本次循环语句 break中止switch或循环语句 switch多分支选择语句 goto转向语句 return从函数返回语句,1.,2.,3.,4.,5.,6.,7.,8.,9.,输出和的平方根,请编写程序:输入整数n,输出n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根。#include int n,i,s=0;/累加器s置0 scanf(%d,/计算平

15、方根,i%3=0&i%7=0,数列求和,请编写程序:求s=a+aa+aaa+aaaa的值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n和a从键盘输入。,int s=0,a,n,i;scanf(%d%d,a=a*10+a%10;,输入密码,请编写程序:输入密码,如果三次输入错误,则停止输入。int mima=123456,m,i=0;do printf(请输入密码:);scanf(%d,m!=mima&+i 3,输出最大的偶数,请编写程序:输入5个正整数,输出其中最大的偶数。如果5个数中没有偶数,则输出-1。例如:如果5个整数是3,6,2,7,4,则输出6;如

16、果5个整数是3,5,1,9,7,则输出-1。int a,t=-1,i;for(i=1;i=5;i+)scanf(%d,a%2=0&a t,输出后n-1位数,请编写程序:输入一个大于10的无符号整数w(unsigned w),输出w后n-1位的数。例如:若w=4567,则输出567;若w=456,则输出56。unsigned w scanf(%u,/格式符%u,;,t,m=1;,t=w;while(t)t/=10;m*=10;printf(%u,w%(m/10);,习题演练,请编写程序:删除整数尾部的0。例如:若整数是34000、3400、340或34,都输出34。scanf(%d,a%10=0

17、,实现:s=1+12+123+1234+12345 int t=0,s=0,i;for(i=1;i=5;i+)t=+i;s=s+t;,t*10,课后题:Fibonacci数列,输出Fibonacci数列中大于t的最小的一个数。其中数列f(n)的定义为:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)即:0,1,1,2,3,5,8,13,21.例如:若t=6,则输出:8。,Fibonacci数列,请编写程序:输出Fibonacci数列中大于t的最小的一个数。其中数列f(n)的定义为:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)即:0,1,1,2,3,5,8,13,21.例如:若t=6,则输出:8。,int t,a=0,b=1,c=0;scanf(%d,学习的方法,老婆,谷歌,内事不决问,外事不决问,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号