




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章章 C语言快速入门语言快速入门(3)循环结构程序设计循环结构程序设计(for) 3、for语句语句n它的一般形式为:for(表达式1;表达式2;表达式3) 语句; 表达式表达式1:循环的初始条件,一般为赋值表达式,给循环的控制变量赋初值;表达式表达式2:循环条件,该表达式的值为逻辑量,一般为关系表达式或逻辑表达式;表达式表达式3:循环的步长,一般为赋值表达式。语句:语句:循环体,当有多条语句时,必须使用复合语句。for语句语句for(表达式(表达式1;表达式;表达式2;表达式表达式3) 语句组语句组1(循环体循环体)语句组语句组2N表达式表达式2语句组语句组1Y语句组语句组2表达式表达
2、式1表达式表达式3for(循环变量赋初值循环变量赋初值;循环结束条件;循环结束条件;循环变量增值循环变量增值)把“欢迎进入C世界”输出十次nvoid main()nn int i;n for(i=1;i=10;i+)n n printf(欢迎进入欢迎进入C世界世界);n nvoid main() int i=1; while (i=10) printf(欢迎进入欢迎进入C世界世界);i+; printf(n);两者可互换两者可互换不知道循环次数时用不知道循环次数时用while用用for语句求语句求1+2+100的值;的值;#include stdio.hmain() int i,sum=0;
3、for(i=1;i=100;i+) sum=sum+i; /*随着随着i的变化,将的变化,将i的值累加到的值累加到sum中中*/ /*循环一次,循环一次,i自动增自动增1*/ printf(1+2+.+100的和值为:%dn,sum);与while比较一下!求求 1+2+3+100void main(void) int i, sum; for (i=1, sum=0; i=100; i+) sum=sum+i; printf(sum=%dn,sum); void main(void) int i, sum; i=1; sum=0; while(i=100) sum=sum+i; i=i+1;
4、printf(sum=%dn,sum); 计算自然数1到n的平方和。#include void main () int i,n,sum=0; printf(please input n :); scanf(%d,&n); for(i=1;in)1、m被被n除得到余数除得到余数r(0r n) r=m%nm=6 n=4 r=m%n=6%4=2while ( r=m%n ) m=n; n=r ; 最小公倍数为两数之积除以最大公约数。最小公倍数为两数之积除以最大公约数。4*6/2=122、若、若r=0,则算法结束,则算法结束,n为最大公约数,否则做为最大公约数,否则做33、mn , nr , 回到回到
5、1m=4 n=2 r=m%n=4%2=0所以,公约数所以,公约数=2最大公约数:能同时被最大公约数:能同时被m和和n整除的最大数。整除的最大数。r=mn?n:mfor(i=1; ir; i+) if(m%i=0&n%i=0) a=i;printf(%d, a);for语句的几种格式 nfor语句的三个表达式都是可以省略的,但语句的三个表达式都是可以省略的,但分号分号“;”绝对不能省略绝对不能省略。(1)for( ; ;) 语句;(2)for( ;表达式2;表达式3) 语句;(3)for(表达式1;表达式2;) 语句;(4)for(i=1,j=n;ij;i+,j-) 语句;语句;例3-7 求前1
6、00个自然数之和。void main(void) char i, j ; for (i=a,j=z ; ij ; i+, j-) printf(%d%d,i,j); printf(n); 次数次数ijij输出输出输出:输出:az真真azby真真bycx真真cx真真.真真.mnmn.nm假假CR循环的嵌套循环的嵌套一个循环体内又包含另一个完整的循环体,称一个循环体内又包含另一个完整的循环体,称为循环的嵌套。为循环的嵌套。注意:注意:1 1、循环体内有多个语句要用括起来。、循环体内有多个语句要用括起来。2 2、书写格式要清晰。、书写格式要清晰。for ( ; ; ) . for ( ; ; ) .
7、 main() int i, j, k=0, m=0; for ( i=0; i2; i+) for ( j=0; j3; j+) k+; m=i+j; printf(k=%d, m=%dn,k, m); ii2jj3k输出:输出:0真真0真真11真真22真真33假假31真真0真真41真真52真真63假假6n判断某一正整数是为否素数判断某一正整数是为否素数void main() int m,i; printf(Please input m:n); scanf(%d,&m); for(i=2;i50) break; while (a=14);第一次:第一次:a=12 y=12输出:输出:a=12
8、 , y=12第二次:第二次:a=16 y=28输出:输出:a=16 , y=28第三次:第三次:a=16 y=44输出:输出:a=16 , y=44第四次:第四次:a=16 y=60输出:输出:a=16 , y=602)continue语句n一般格式是: continue; 执行了执行了continue语句,语句,程序就跳过循环体中程序就跳过循环体中位于该语句后的所有位于该语句后的所有语句,提前结束本次语句,提前结束本次循环周期并开始新一循环周期并开始新一轮循环。轮循环。 n求100-200之间不能被3整除的数。continue:其作用为:其作用为结束本次循环结束本次循环,即跳过循环体中下面
9、,即跳过循环体中下面尚未执行的语句,尚未执行的语句,接着进行下一次是否执行循环的判定接着进行下一次是否执行循环的判定。main() int i; for(i=1;i=1000;i+) if (i%3!=0) continue; if (i%5!=0) continue; if(i%7!=0) continue; printf(%dn, i); printf(n);如果换成break,结果如何?if (i%3=0&i%5=0&i%7=0) printf(“%dn,i);总结:总结:在循环体中,在循环体中,break从循环体内跳出循环体,提前从循环体内跳出循环体,提前结束循环结束循环。for(.
10、; . ; . ) . break; .continue:其作用为:其作用为结束本次循环结束本次循环,即跳过循环体,即跳过循环体中下面尚未执行的语句,中下面尚未执行的语句,接着进行下一次是否执行接着进行下一次是否执行循环的判定循环的判定。for(. ; . ; . ) . continue; .while( . ) . continue; .三种语句的选用 n1while和dowhile语句的区别while语句对作为循环条件的表达式求值和验证在执行循环体之前,而do-While语句对作为循环条件的表达式求值和验证在执行循环体之后。对于do-while语句,它的循环体至少被执行一次。 几种循环的
11、比较几种循环的比较while ( 表达式)表达式) 语句组语句组1 语句组语句组2表达式表达式语句组语句组1真真语句组语句组2假假do 语句组语句组1while(表达式)(表达式);语句组语句组2表达式表达式语句组语句组1真真语句组语句组2假假for(表达式(表达式1;表达式;表达式2;表达式;表达式3) 语句组语句组1语句组语句组2假假表达式表达式2语句组语句组1真真语句组语句组2表达式表达式1表达式表达式32三种语句在程序设计中的选择n(1)如果循环次数在执行循环体之前就已如果循环次数在执行循环体之前就已确定,一般用确定,一般用for语句;语句;如果循环次数是由如果循环次数是由循环体的执行
12、情况确定的,一般用循环体的执行情况确定的,一般用while语语句或者句或者dowhile语句。语句。n(2)当循环体至少执行一次时,用dowhile语句,反之,如果循环体可能一次也不执行,选用while语句。循环结构程序综合练习nwhilendo whilenfor做一做:模拟幸运五十二n用户输入商品价格,如高了,则输出高了,用户输入商品价格,如高了,则输出高了,并让用户再次输入,如果低了,则输出低并让用户再次输入,如果低了,则输出低了,也让用户再次输入,一直到用户输入了,也让用户再次输入,一直到用户输入正确为止。正确为止。n限定只用三次机会限定只用三次机会n如果三次都没猜对,输出如果三次都没
13、猜对,输出“很抱歉,没有很抱歉,没有机会了机会了”;如果三次以内猜对了,输出;如果三次以内猜对了,输出“恭喜你!恭喜你!”计算:计算:222222.2222222?累加和累加和 s0设通项为设通项为tt的初值为的初值为222=2*10+2; 222=22*10+2; 2222=222*10+2; t=t*10+2; 所以,通项的循环表示为:所以,通项的循环表示为:前一项前一项当前项当前项循环体为:循环体为: t = t*10 +2; s=s+t; 下面程序的功能是用公式求下面程序的功能是用公式求的近似值,直到最后一项的的近似值,直到最后一项的值小于值小于10-6为止。请填空。为止。请填空。22222n13121116void main(void ) int i=1; _ pi=0; while (i*i=10e+6) pi=_ ; i+; pi=sqrt (6.0 *pi) ; printf(pi=%lfn,pi); 122122543432122nnnn求求n=1000时时的近似值的近似值分析:分析:通项:通项:122122nnnnts=st迭代算法:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit4 My favorite subject Section A 2a-2f 教学设计2024-2025学年人教版英语七年级上册
- 23纸船和风筝 教学设计-2024-2025学年语文二年级上册统编版
- 名校联盟浙江省温州市瓯海区实验中学八年级社会下册教学设计(42份)
- 2024年一年级品生下册《我和小树交朋友》教学设计 山东版
- 2024年五年级英语下册 Unit 1 Were going to read stories第3课时教学设计 湘少版
- 2023七年级数学下册 第八章 二元一次方程组8.3 实际问题与二元一次方程组第1课时 实际问题与二元一次方程组(1)教学设计 (新版)新人教版
- 2024秋八年级英语上册 Unit 2 How often do you exercise Section B (2a-2e)教学设计(新版)人教新目标版
- 2024秋四年级英语上册 Module 9 Unit 1 Are you going to run on sports day教学设计 外研版(三起)
- 移动客户经理年终工作总结
- 《我的立体名片》(教学设计)-2024-2025学年沪教版(2024)美术一年级上册
- 内蒙古科技馆新馆展陈创新方案
- 村级公墓规划设计方案
- 山东省济南市(2024年-2025年小学六年级语文)统编版小升初真题(下学期)试卷及答案
- 大模型原理与技术-课件 chap6 大模型微调
- 单层轻钢结构施工方案
- 深度学习及自动驾驶应用 课件 第9、10章 生成对抗网络及自动驾驶应用、强化学习理论及自动驾驶应用实践
- 浙江省【高等职业技术教育招生考试】-商业类(电子商务)-职业技能理论知识(一)(答案版)
- 拼多多在线测评98道题
- 中国国新基金管理有限公司招聘笔试题库2024
- 环境监测站运行管理与质量控制标准
- 20以内的加法口算练习题4000题 284
评论
0/150
提交评论