版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第5 5章章 循环结构循环结构第第5章章 循环结构循环结构5.1 while5.1 while语句语句5.2 do5.2 dowhilewhile语句语句5.3 for5.3 for语句语句5.4 5.4 循环的嵌套循环的嵌套5.5 break5.5 break语句和语句和continuecontinue语句语句循环结构循环结构当型重复结构当型重复结构直到型重复结构直到型重复结构第第5章章 循环结构循环结构5.1 while5.1 while语句语句5.2 do5.2 dowhilewhile语句语句5.3 for5.3 for语句语句5.4 5.4 循环的嵌套循环的嵌套5.5 break5
2、.5 break语句和语句和continuecontinue语句语句whilewhile语句语句whilewhile语句实现语句实现“当型当型”循环结构循环结构 while (while (表达式表达式) ) 循环体语句循环体语句其语意是:其语意是: 当当【表达式表达式】的值为的值为“真真”时,反复执行时,反复执行【循环体循环体语句语句】。 一般情况下,一般情况下,【循环体语句循环体语句】是一个复合语句。是一个复合语句。 循环次数:循环次数:0 0次次 - 有限的若干次。有限的若干次。 要防止无限循环(要防止无限循环(“死循环死循环”)。)。whilewhile语句语句 表达式表达式循环体语句
3、循环体语句真真假假while循环语句循环语句 例例 计算计算1+2+3+100#include int main() int i=1,sum=0; while (i=100) sum=sum+i; i=i+1; printf(“sum=%dn,sum); return 0; sum=sum+ii=100真假i=1,sum=0输出sumi=i+1 sum+=i+;重要提示重要提示 while(while(表达式表达式) )与与循环体语句循环体语句之间不要之间不要误加;!误加;!重要提示重要提示 如果如果循环体语句循环体语句是复合语句,不要是复合语句,不要忘了加忘了加 !例例 求圆周率求圆周率 用
4、公式用公式(1-1/3+1/5-1/7+(1-1/3+1/5-1/7+) )* *4 4 求求的近似值,直到最后一项的绝对值小于的近似值,直到最后一项的绝对值小于1010-6 -6 为止。为止。例例 求圆周率求圆周率#include #include #define epsilon 1e-6int main() int s=1; double n=1,t=1,pi=0; while(fabs(t)epsilon) pi+=t; n+=2; s=-s; t=s/n; pi*=4; printf(pi=%10.6fn,pi); return 0;第第5章章 循环结构循环结构5.1 while5.1
5、 while语句语句5.2 do5.2 dowhilewhile语句语句5.3 for5.3 for语句语句5.4 5.4 循环的嵌套循环的嵌套5.5 break5.5 break语句和语句和continuecontinue语句语句dodowhilewhile语句语句dodowhilewhile语句实现语句实现“直到型直到型”循环语句循环语句 do do 循环体语句循环体语句 while (while (表达式表达式) ); ; 其语意是:其语意是: 反复执行反复执行【循环体语句循环体语句】, ,直到直到【表达式表达式】的值为的值为 “假假”。 一般情况下,一般情况下,【循环体语句循环体语句】
6、是一个复合语句。是一个复合语句。 循环次数:循环次数:1 1次次 - 有限的若干次。有限的若干次。 要防止要防止“死循环死循环”。dodowhilewhile语句语句 循环体语句循环体语句 表达式表达式假假真真dodowhilewhile语句语句例例 计算计算1+2+3+1+2+3+100+100 #include int main() int i=1,sum=0; do sum=sum+i; i=i+1; while(i=100); /*分号不能漏掉分号不能漏掉*/ printf(sum=%dn,sum); return 0;dodowhilewhile语句语句while (while (表
7、达式表达式) ) 循环体语句循环体语句 if (if (表达式表达式) ) do do 循环体语句循环体语句 while (while (表达式表达式);); dodowhilewhile语句语句do do 循环体语句循环体语句 while (while (表达式表达式); ); 循环体语句循环体语句 while (while (表达式表达式) ) 循环体语句循环体语句 dowhile循环语句循环语句#include int main() int i,sum=0; scanf(%d,&i); do sum+=i+; while(i=10); printf(sum=%dn,sum); r
8、eturn 0; #include int main() int i,sum=0; scanf(%d,&i); while(i=10) sum+=i+; printf(sum=%dn,sum); return 0; 输入输入11,上述两个程序运行结果各是什么上述两个程序运行结果各是什么?第第5章章 循环结构循环结构5.1 while5.1 while语句语句5.2 do5.2 dowhilewhile语句语句5.3 for5.3 for语句语句5.4 5.4 循环的嵌套循环的嵌套5.5 break5.5 break语句和语句和continuecontinue语句语句5.3 for循环语
9、句循环语句 for语句实现语句实现“当型当型”循环语句循环语句 其一般形式:其一般形式: for (表达式表达式1;表达式表达式2;表达式表达式3) 循环体语句;循环体语句; 其语意是:其语意是: 计算表达式计算表达式1; 当表达式当表达式2的值为的值为“真真”时,执行循环体语句;时,执行循环体语句; 然后计算表达式然后计算表达式3。再判断表达式。再判断表达式2的值,直至表达的值,直至表达式式2的值为的值为“假假”时结束循环。时结束循环。 循环体语句可以是一个复合语句。循环体语句可以是一个复合语句。 循环次数:循环次数:0次或多次。要防止次或多次。要防止“死循环死循环”。forfor语句语句
10、表达式表达式1 表达式表达式2 循循 环环 体体 表达式表达式3假假真真for循环语句循环语句例例 用用for语句实现语句实现1+2+3+100#include int main() int i,sum=0; for(i=1;i=100;i+) sum+=i; printf(sum=%dn,sum); return 0;forfor语句语句forfor语句的应用形式语句的应用形式 for (for (循环变量赋初值循环变量赋初值; ;循环条件循环条件; ;循环变量循环变量增减值增减值) ) 循环体语句循环体语句如:如: for(i=0;i100;i=i+2) printf(“%d”,i); f
11、or循环语句循环语句 注意事项注意事项 for语句中的表达式语句中的表达式1、表达式、表达式2、表达式、表达式3是可选的,是可选的,可以省缺的。但是分号可以省缺的。但是分号(;)不能省略。不能省略。 如:如:i=1; for(;i=2n=2) 即从第即从第3 3个数开始,每个数等于前个数开始,每个数等于前2 2个数之和。个数之和。 这是一个有趣的古典数学问题:这是一个有趣的古典数学问题: 有一对兔子,从出生后第有一对兔子,从出生后第3个月起每个月都生个月起每个月都生一对兔子。一对兔子。 小兔子长到第小兔子长到第3个月后每个月又生一对兔子。个月后每个月又生一对兔子。 假设所有兔子都不死,问每个月
12、的兔子总数假设所有兔子都不死,问每个月的兔子总数为多少?为多少?第几个月第几个月 小兔子对数小兔子对数 中兔子对数中兔子对数 老兔子对数老兔子对数 兔子总数兔子总数110012010131012411135212563238753513例例 求求FibonacciFibonacci数列数列#include int main() int i; long f1=0,f2=1; for(i=1;i=20;i+) printf(%12ld%12ld,f1,f2); if(i%2=0) printf(n); f1+= f2; f2+= f1; return 0; 三种循环语句的比较三种循环语句的比较 w
13、hile、dowhile和和for语句可选择使用。语句可选择使用。 while和和for语句实现语句实现“当型当型”循环。循环次数循环。循环次数最少为最少为0次。次。 dowhile语句实现语句实现“直到型直到型”循环。循环次循环。循环次数最少为数最少为1次。次。 for语句常用于使用循环控制变量的场合。语句常用于使用循环控制变量的场合。第第5章章 循环结构循环结构5.1 while5.1 while语句语句5.2 do5.2 dowhilewhile语句语句5.3 for5.3 for语句语句5.4 5.4 循环的嵌套循环的嵌套5.5 break5.5 break语句和语句和continue
14、continue语句语句循环的嵌套循环的嵌套 当当while、dowhile和和for语句中的循环体语句语句中的循环体语句是另一个循环语句时,构成循环的嵌套。是另一个循环语句时,构成循环的嵌套。 要注意外层和内层循环控制条件之间的相对独要注意外层和内层循环控制条件之间的相对独立。立。 例如:例如: for (i=1;i=10;i+) for (j=1;j=20;j+) 第第5章章 循环结构循环结构5.1 while5.1 while语句语句5.2 do5.2 dowhilewhile语句语句5.3 for5.3 for语句语句5.4 5.4 循环的嵌套循环的嵌套5.5 break5.5 bre
15、ak语句和语句和continuecontinue语句语句breakbreak语句和语句和continuecontinue语句语句 break语句用于循环体复合语句内,表示无条语句用于循环体复合语句内,表示无条件结束循环。语法为:件结束循环。语法为: break;break; continue语句用于循环体复合语句内,表示提语句用于循环体复合语句内,表示提前进入下一轮循环。语法为:前进入下一轮循环。语法为: continue;continue;breakbreak语句和语句和continuecontinue语句语句例例 输出输出100-200100-200之间不能被之间不能被3 3整除的数整除的
16、数 #include int main() int n; for(n=100;n=200;n+) if (n%3=0) continue; printf(%d ,n); printf(n); return 0; breakbreak语句和语句和continuecontinue语句语句例例 输出输出100-200100-200之间不能被之间不能被3 3整除的数整除的数 / / 不使用不使用continuecontinue语句语句#include int main() int n; for(n=100;n=200;n+) if (n%3) printf(%d ,n); printf(n); ret
17、urn 0; 例例 质数判断质数判断 判断判断m m是否是一个质数。是否是一个质数。 如果如果 m m 不能与不能与 2 2 sqrt(m) sqrt(m)之间的每个整数之间的每个整数整除,那么整除,那么 m m 是一个质数。是一个质数。例例 质数判断质数判断#include #include int main() int i,m,k; printf(Enter m=); scanf(%d,&m); k=(int)sqrt(m); for(i=2;ik) printf(%d is a prime number!n,m); else printf(%d is not a prime number!n,m); return 0; 例例 求求100 100 200 200之间的全部质数之间的全部质数求求100 100 200 200之间的全部质数。之间的全部质数。在上例的基础上使用循环嵌套。在上例的基础上使用循环嵌套。例例 求求100 100 200 200之间的全部质数之间的全部质数#include #includeint main() int i,m,k; for (m=101;m=200;m+=2) k=(int)sqrt(m); for(i=2;i=k+1) printf(%d ,m); printf(n); return 0;例例 译密码译密码 输入一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年宁夏辅警招聘考试真题及一套参考答案详解
- 2023年鹰潭辅警协警招聘考试备考题库及答案详解(夺冠系列)
- 2023年莆田辅警协警招聘考试真题及答案详解(全优)
- 2024年北海辅警招聘考试真题及答案详解(网校专用)
- 2024年合肥辅警招聘考试题库及参考答案详解1套
- 2024年商洛辅警招聘考试题库及参考答案详解一套
- 2023年阿克苏辅警协警招聘考试备考题库及答案详解(夺冠)
- 2023年陇南辅警协警招聘考试备考题库附答案详解(综合题)
- 2024年宝鸡辅警协警招聘考试真题含答案详解(轻巧夺冠)
- 2023年驻马店辅警招聘考试题库附答案详解(突破训练)
- 仓库年终述职报告
- 人教版五年级上册寒假数学计算题天天练带答案(共15天)
- 初中饮食安全课件
- 期中测试卷2024-2025学年人教PEP版英语六年级上册(含听力原文含答案无听力音频)
- 飞行员职业生涯规划
- 尿路感染的治疗和护理课件
- TSG11-2020锅炉安全技术规程(现行)
- 【山东卷】山东省济宁市、邹城市、聊城市2024-2025学年度2025届高三上学期期中教学质量检测考试(10.5-10.7)地理试卷
- 湖南省长沙市长郡集团联考2024-2025学年九年级上学期11月期中物理试题
- 2024年员工餐厅承包合同范本
- JJF(苏) 283-2024 暂态地电压法局部放电检测仪校准规范
评论
0/150
提交评论