第 循环结构PPT学习教案_第1页
第 循环结构PPT学习教案_第2页
第 循环结构PPT学习教案_第3页
第 循环结构PPT学习教案_第4页
第 循环结构PPT学习教案_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1第第 循环结构循环结构 do_while语句第1页/共72页ufor语句是一种计数循环。循环次数由循环变量来语句是一种计数循环。循环次数由循环变量来控制。控制。 for语句的一般形式:语句的一般形式:for(表达式表达式1;表达式表达式2;表达式表达式3) 循环体语句循环体语句u执行流程:执行流程:表达式表达式2循环体循环体假假(0)真真(非非0)for表达式表达式1表达式表达式35.1 for语句1.1.先求解表达式先求解表达式1 1;2.2.求解表达式求解表达式2 2,若其,若其值为真值为真( (非非0)0),则,则执行循环体的内容,执行循环体的内容,然后执行第然后执行第3 3步。

2、步。若为假若为假(0)(0),则结,则结束循环,执行束循环,执行forfor语句下面一条语句。语句下面一条语句。3.3.若表达式为真,执若表达式为真,执行指定的语句后,行指定的语句后,求解表达式求解表达式3 3。4.4.返回第返回第2 2步执行。步执行。此处无此处无;第2页/共72页第3页/共72页第4页/共72页句只有一条,可以不使用花括号。 初始表达式 条件表达式 语句体 循环表达式 F T 第5页/共72页1001iimain( ) int i,sum; sum=0; for(i=1;i=100;i+) sum+=i; printf(“1+2+100=%d,sum);第6页/共72页第7

3、页/共72页例:例: main( ) int i=0; for(;i10;i+) putchar(a+i); #include main() char c; for( ; (c=getchar( )!=n; ) printf(%cn,c); 例:例: main( ) int i,sum=0; for(i=1; ;i+) sum=sum+i; printf(“sum=%dn”,sum); 第8页/共72页免免这种情况的发生。第9页/共72页例:例:main( ) int i,sum=0; for(i=1;i=100; ) sum+=i; i+; printf(%d,sum);第10页/共72页例

4、:例:main( ) int i,sum=0; i=1; for( ;i100) break; printf(%d,sum);第12页/共72页第13页/共72页main( ) int i,sum=0; for(i=1;i=100;i+) sum+=i; printf(%d,sum);main( ) int i=1,sum; for(sum=0;i=100;i+) sum+=i; printf(%d,sum);第14页/共72页main() int i,j,k; for(i=0,j=5;i=j;i+,j-) k=i+j; printf(%d+%d=%dn,i,j,k); 表达式表达式 1、3为

5、逗号表达式为逗号表达式执行过程执行过程: :第一次循环第一次循环:i=0,j=5k=5, :i=0,j=5k=5, 输出输出:0+5=5:0+5=5第二次循环第二次循环:i=1,j=4k=5, :i=1,j=4k=5, 输出输出:1+4=5:1+4=5第三次循环第三次循环:i=2,j=3k=5, :i=2,j=3k=5, 输出输出:2+3=5:2+3=5第四次循环第四次循环:i=3,j=2 :i=3,j=2 条件不满足退出循环条件不满足退出循环第15页/共72页#include main() char c; for( ; (c=getchar( )!=n; ) printf(%cn,c); 执

6、行过程执行过程: 从键盘输入一个字符赋给变量从键盘输入一个字符赋给变量c, 然后然后判断输入的字符是否为判断输入的字符是否为n,如果不是就执如果不是就执行循环体行循环体.程序功能程序功能: 不断输入字符并将其输出不断输入字符并将其输出,直到输入一直到输入一个回车换行符个回车换行符(n)为止为止.第16页/共72页例例: #include main( ) int i; for(i=0;i10;putchar(a+i),i+) ; 第17页/共72页i bi ai第18页/共72页。请设计算法并编写程序验证。i bi aii ai bi第19页/共72页第20页/共72页 iN 定义整型变量 i,

7、 right=0, error=0 定义整型变量 a, b, op, result, input 定义字符型变量 ops 随机生成 a, b, ops; 用 switch 生成算术表达式; 输出对错统计结果 N Y 用户输入运算结果; 判断用户输入结果的对错; i+ 开始 结束 第21页/共72页例:例:一球从一球从100100米高度自由落下,每次落地后反跳回原米高度自由落下,每次落地后反跳回原高度的一半高度的一半; ;再落下,求它在第再落下,求它在第1010次落地时,共经过多次落地时,共经过多少米?第少米?第1010次反弹多高?次反弹多高? 程序分析:程序分析:球从第一次落地到第二次落地经过

8、了第一球从第一次落地到第二次落地经过了第一次高度一半的两倍(上抛和下落),次高度一半的两倍(上抛和下落), 共经过了共经过了100+50100+50* *2 2米,将此结果存放在米,将此结果存放在snsn变量中;变量中;,第,第n n次次落地,共经过前落地,共经过前n-1n-1次的路程加上第次的路程加上第n-1n-1次高度一半的次高度一半的两倍。这样每次的高度存放在两倍。这样每次的高度存放在hnhn变量中,经过的路程变量中,经过的路程存放在存放在snsn变量中。变量中。程序清单如下程序清单如下: : 第22页/共72页main() float sn=100.0,hn=sn/2; int n;

9、for(n=2;n=10;n+) sn=sn+2*hn; /*第第n次落地时共经过的米数次落地时共经过的米数*/ hn=hn/2; /*第第n次反跳高度次反跳高度*/ printf(the total of road is %fn,sn); printf(the tenth is %f metern,hn); 第23页/共72页 程序分析:程序分析:本数列分子与分母的变化规律为:后项本数列分子与分母的变化规律为:后项分母为前项的分子,后项分子为前项的分子分母分母为前项的分子,后项分子为前项的分子分母之和。假设用之和。假设用a代表分子代表分子,用用b代表分母代表分母 ,用用s存放和存放和.则则

10、核心代码为:核心代码为: s=s+a/b; t=a;a=a+b;b=t; /*这部分是程序的关键,请注意这部分是程序的关键,请注意t的作用的作用*/ 第24页/共72页main() int n; float a=2,b=1,s=0,t; for(n=1;n=20;n+) s=s+a/b; t=a;a=a+b;b=t; /*这部分是程序的关键,请注意t的作用*/ printf(sum is %fn,s); 第25页/共72页程序分析: 我们用变量n计数,并与变量t(注意赋初值为1)累乘后结果再放在此变量中,这样变量t中为n!,再将变量t中的值累加至变量s中。第26页/共72页程序分析: 在10万

11、以内判断,先将该数加上100后再开方,再将该数加上168后再开方,如果开方后的结果满足如下条件:该数的平方根的平方等于该数,这说明此数是一个完全平方数,就是所要求的数第27页/共72页 第28页/共72页main() int i,j,k,n; printf(water flowernumber is:); for(n=100;n1000;n+) i=n/100; /*分解出百位分解出百位*/ j=n%100/10; /*分解出十位分解出十位*/ k=n%10; /*分解出个位分解出个位*/ if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(%-5d,n); 第

12、29页/共72页5.2 while语句第30页/共72页第31页/共72页 #include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d,sum);循环变量初值循环变量初值循环终值循环终值循环变量增值循环变量增值循环条件循环条件循环体循环体上述程序段的功能是上述程序段的功能是:计算计算1+2+3+100的和的和第32页/共72页例例 :显示显示110的平方的平方#include main() int i=1; while(i=10) printf(%d*%d=%dn,i,i,i*i); i+; 运行结果:运行结果

13、:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100第33页/共72页第34页/共72页第35页/共72页count=count+1;算法流程图如图所示。 count=0 (ch=getchar()!=EOF count=count+1 输出 count F T 开始 结束 第36页/共72页第37页/共72页第38页/共72页第39页/共72页i=1; while (i=100) putchar(*); i+; i=1; while (i=100) putchar(*); i+; 循环体执行无限次循环体执行无限次共执行共执

14、行100次次第40页/共72页uwhilewhile循环的特点循环的特点:先判断表达式,后执行循环:先判断表达式,后执行循环体体u说明说明:whilewhile循环循环的的循环体循环体语句语句有可能一次也不有可能一次也不执行执行( (为什么为什么? ?举例说明举例说明) )循环体循环体语句语句可为任意类型可为任意类型合法合法语句语句. .当然当然也可以为前面讲过的也可以为前面讲过的ifif语句、语句、switchswitch语句,语句,甚至可以为一循环语句(后面要讲到的循环甚至可以为一循环语句(后面要讲到的循环的嵌套)。当条件成立时需要执行的语句不的嵌套)。当条件成立时需要执行的语句不止一个时

15、,就要用止一个时,就要用 括起来构成一复合语括起来构成一复合语句。句。第41页/共72页第42页/共72页这里用这里用x2表示当天的桃子表示当天的桃子数,用数,用x1表示前一天的桃表示前一天的桃子数。从第十天开始往前子数。从第十天开始往前计算,直到第一天为止。计算,直到第一天为止。前一天的桃子数是第二天前一天的桃子数是第二天的桃子数加的桃子数加1后的后的2倍。倍。运行情况如下:运行情况如下:the total is 1534第43页/共72页第44页/共72页5.3 do-while语句 表达式的值0 F T 第45页/共72页5.3 do-while语句情况。 对大多数问题,do_while

16、、while和for循环是可以互换的。第46页/共72页5.3 do-while语句程序:exam5_9.c1001ii 初始化循环变量 i=1 级数的和 sum=0 sum=sum+i; i+; i100 输出 sum T F 开始 结束 第47页/共72页5.3 do-while语句(n=3,5,7,9)循环计算表达式:s=s+t;直到t的值满足精度要求为止。357sin3!5!7!xxxxx2(1)xn n2(1)()xn ntt 第48页/共72页5.3 do-while语句 double s, t, x; int n=1 输入 x 的值 s=0; t=x; s=s+t; n=n+2;

17、 t=t*(x*x)/(n*(n1); fabs(t)le7 输出结果:sin(x)的值 T F 开始 结束 第49页/共72页5.4 用于循环中的break语句和continue语句break语句。常用于循环语句体内某一个if条件分支的语句中,用来表示在循环过程中满足某一条件时,结束循环。第50页/共72页5.4 用于循环中的break语句和continue语句虚线框为循环结构,内层虚线框为if结构。程序:程序: example5_11float pi=3,14159, area; int r; r=1 r10 area=pi*r*r area100 break; 输出 r, area r+

18、 输出跳出循环的 r, area 值 F T F T 开始 结束 第51页/共72页5.4 用于循环中的break语句和continue语句提示第52页/共72页5.4 用于循环中的break语句和continue语句第53页/共72页5.4 用于循环中的break语句和continue语句算法流程图如图所示:程序:程序:example5_12.c 思考:思考:不使用continue语句,怎样修改程序?第54页/共72页5.4 用于循环中的break语句和continue语句提示第55页/共72页5.4 用于循环中的break语句和continue语句不使用continue语句,怎样修改程序?第56页/共72页5.4 用于循环中的break语句和continue语句注意:为确保算法的结构化,清尽量不用或少用break和continue语句。第57页/共72页5.5 循环结构的嵌套变量。第58页/共72页5.5 循环结构的嵌套 i=1 i9 i+ 定义循环变量 i, j j=1 ji 输出 j*i 的值 j+ 换行 F F T 开始 结束 T 第59页/共72页分析:分析: 图案有规律,共有m行,每行有n个*号。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论