《第三章第点-循环优秀文档.ppt》由会员分享,可在线阅读,更多相关《第三章第点-循环优秀文档.ppt(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章第4点 循环n循环结构的特点是在给定的条件成立时,反复执行某个程序。n名词:循环条件、循环体、死循环、空循环。n循环主要分两种:当型:当满足条件再执行循环体,如此反复,当不满足则退出。直到型:先执行循环体,满足条件再执行,如此反复,直到不满足退出。当型循环语句:for 语句n一般形式 for(表达式1;条件表达式;表达式3)循环语句(组);n表达式1:整个循环中只执行1次,常用来对循环变量设置初值n条件表达式(表达式2):其值为真(非0)时继续执行循环语句(组),否则结束循环n表达式3:常用于循环变量值的更新(循环体的一部分每次循环语句组执行完后执行一次)执行流程:表达式2循环体假真表达
2、式1for语句后面的语句表达式3for 的典型应用n形式:for(初始化;条件;增量)循环体n例3.9 求1到100的和 main()int i,sum;sum=0;for(i=1;i=100;i+)sum+=i;printf(“%dn”,sum);请看运行结果,应该是5050。课堂练习(3.1):请写程序求从15到155之间所有能被3整除的数之和。do-while 的流程图可以改成:for(i=1;i+)名词:循环条件、循环体、死循环、空循环。每次执行完循环体就再判断表达式,如此反复循环,只要表达式为假就推出循环。通过 s=s+(每一项值)for(表达式1;过程:程序先执行一次循环体后检测表
3、达式的值,若值为真(非0),则程序继续执行循环体,构成了循环,一直当检测到表达式的值为假(0)时,程序跳出循环结构。do-while语句举例比较while与do-whileprintf(“%dn”,sum);直到型循环:do-while语句比较while与do-whilecounter+;int i,sum;sum=0;for语句的其他格式n省略表达式1 i=1;for(;i100)break;sum+=i;n省略表达式3 for(i=1;i=100;)sum+=i;i+;n省略循环体 for(i=1;i=100;sum+=i,i+);注意:n以下程序的运行结果是【】。main()int i;
4、for(i=3;i1)break;printf(%d,i);printf(n);答案:d 【请选择】A)3 4 5 6 7 B)3 4 C)3 4 5 d)3 4 5 6当型循环语句2:while语句while语句v一般形式:while(表达式)循环体语句;v执行流程:表达式循环体假真whileWhile语句后面的语句 先判断表达式,当表达式为真,则执行循环体,表达式为假,则推出循环。每次执行完循环体就再判断表达式,如此反复循环,只要表达式为假就推出循环。sum+=+i;/*+i;sum=sum+i;*/while(表达式)int i;int n,t;请看运行结果,应该是5050。printf
5、(“%dn”,sum);过程:程序先执行一次循环体后检测表达式的值,若值为真(非0),则程序继续执行循环体,构成了循环,一直当检测到表达式的值为假(0)时,程序跳出循环结构。int i=0,sum=0;sum=0;过程:程序先执行一次循环体后检测表达式的值,若值为真(非0),则程序继续执行循环体,构成了循环,一直当检测到表达式的值为假(0)时,程序跳出循环结构。直到型:先执行循环体,满足条件再执行,如此反复,直到不满足退出。for(i=1;i=100;sum+=i,i+);printf(n);do-while语句举例表达式1:整个循环中只执行1次,常用来对循环变量设置初值do-while 的流
6、程图可以改成:n统计从键盘上输入的字符个数,遇到回车时输出这个数字,结束程序。#include main()int counter=0;while(getchar()!=n)counter+;printf(“the chars num is%d.n”,counter);请运行程序。课堂练习:请用while语句改写求1到100之和的例子。直到型:先执行循环体,满足条件再执行,如此反复,直到不满足退出。请运行程序直到型:先执行循环体,满足条件再执行,如此反复,直到不满足退出。11:求分数序列:2/1,3/2,printf(“%dn”,sum);do-while:先执行循环体,再判断是否继续而这两者
7、与do-while之间更改时要注意后者的先执行一次循环体。for(i=1;i+)counter+;While语句后面的语句 int i=0,sum=0;循环语句(组);5/3,8/5,13/8,21/13,的前直到型循环:do-while语句v一般形式:v执行流程:whiledo循环体表达式假真do 循环体语句;while(表达式);此处有;号过程:程序先执行一次循环体后检测表达式的值,若值为真(非0),则程序继续执行循环体,构成了循环,一直当检测到表达式的值为假(0)时,程序跳出循环结构。继续执行后面的语句。do-while语句举例n例子3.12 求满足1到i的和大于100,而1到(i-1)
8、的和小于100的i值 main()int i=0,sum=0;do sum+=+i;/*+i;sum=sum+i;*/while(sum100);请运行程序比较while与do-whilenwhile:先判断再执行循环体ndo-while:先执行循环体,再判断是否继续do-while 的流程图可以改成:表达式循环体假(0)真(非0)循环体While循环看历年试题看历年试题n注意:注意:for语句与语句与 while语句通常可以直接更改;而这两者与语句通常可以直接更改;而这两者与do-while之间更改时要注意后者的先执行一次循环体。之间更改时要注意后者的先执行一次循环体。例题例题3.11:求分
9、数序列:求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,的前,的前20项之和。项之和。解题思路:解题思路:1、可以用一个变量可以用一个变量s保存结果保存结果 通过通过 s=s+(每一项值)(每一项值)2、用一个变量来保存分子,一、用一个变量来保存分子,一 个变量来保存分母,则可求出每个变量来保存分母,则可求出每 一项的值一项的值#define N 20 main()int n,t;float a=2,b=1,s=0;for(n=1;n=N;n+)s=s+a/b;t=a;a=;b=t;printf(“the total is%9.2fn”,s);作业nP68 P70 3.13