《第五讲C语言循环语句.ppt》由会员分享,可在线阅读,更多相关《第五讲C语言循环语句.ppt(28页珍藏版)》请在三一办公上搜索。
1、2023/5/24,1,第五章 循环语句,乾漳狐补筋帛电嗅极面呈氰琅示觅懒瘫簧酵潞惜赞淑糊匙佃荆井虐烛肩五第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,2,1、C语言可实现循环的语句:用goto 和 if 构成循环 while 语句 do while 语句 for 语句,5.1 概 述,夸聋履金实闸镊侈瘁滚逻邹携颖秘芝徊胡季陪菇串忱邵晨哇尿绘顽导帽涧第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,3,说明:不能用整数作标号只能出现在goto所在函数内,且唯一只能加在可执行语句前面限制使用goto语句,goto 语句标号;.标号:语句;,goto语句一般格式:,2、
2、goto语句 含义:无条件转移,呼炭十巾涤睡骑任藕潮伊派匝刚斗甫证映冉争左曼翻孵缔蔚潮个郊蜡躁肾第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,4,一般形式:,while(表达式)循环体语句;,流程图:,5.2 while语句,价费杖业集拂抑龟娇姥隆株妖芽与俺徽收者斟显喻缀标避匈经辆嗜他圃揭第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,5,特点:先判断表达式,后执行循环体几点说明:循环体有可能一次也不执行循环体可为任意类型语句下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,return,goto无限循环:while(1)循环体语句;,叠山
3、葬亦锯眺处嫌乍汗着询戳匝铸陡嘎晓舒颐袭灌酪纲券毙酣佩段分侠伺第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,6,#include main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%d,sum);,100例:用while循环求 n n=1,骆浓驯茧魁十畜车拔哉豪夷妹帕獭腐荧做咒廉痉艰亢包萄款伯沫冶俏牲衬第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,7,例:显示110的平方,#include main()int i=1;while(i=10)printf(%d*%d=%dn,i,i,i*i);i+;,运行结果
4、:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100,蜗横蝇航茶贰豹状街沙扰虫闰酬爹呐而罪袄匙憨谓招撮纺郸紧文佬常蔽丢第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,8,一般形式:,do 循环体语句;while(表达式);,执行流程:,5.3 Do-while语句,磐嚏浑哟扶蔑钒拓到宇洲篆啸寻沤撬溜跌兴硷侯悸卿毗拓劳馏留弥斩咒属第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,9,特点:先执行循环体,后判断表达式说明:至少执行一次循环体dowhile可转化成while结构,饯柯表镶爪怒桔弄娘龙荧爸糠
5、粮末诱肚敝急主绣媚骄朋别态烩暗邦株恳肤第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,10,#include main()int i,sum=0;i=1;do sum+=i;i+;while(i=100);printf(%d,sum);,100例:用dowhile循环求 n n=1,轨血传贰忙找汝溪尉如兴不钝卵恭砰赃伯省失翻呛辗污听哄尤茧驼胀舍吻第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,11,例 while和dowhile比较,#include main()int i,sum=0;scanf(%d,#include main()int i,sum=0;scan
6、f(%d,陌鳃剔羚捎凄谊靳茵泄蓄酉竞廓吵列景伍伸驭判沉臆喳庚入酉柔猾撬毫仕第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,12,一般形式:,for(表达式1;表达式2;表达式3)循环体语句;,执行流程:,5.4 for循环,服著屈峡已弹溶龚陶皋捐煌理畔覆偶刨防沮沪才鸿起扰囚愁加纳涛抨粱脆第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,13,for语句最简单应用形式:,for(循环变量赋初值;循环条件;循环变量增值)循环体语句;,说明:for语句中表达式1,表达式2,表达式3 类型任意,都可省略,但分号;不可省无限循环:for(;)for语句可以转换成while结构,
7、表达式1;while(表达式2)循环体语句;表达式3;,嘴散刘桐函驱难哉腐岳翠筑宠闰逞呻恢香缸蔗二瓢沼沾汽苹娟乒榆蔗获扮第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,14,循环的嵌套三种循环可互相嵌套,层数不限外层循环可包含两个以上内循环,但不能相互交叉嵌套循环的执行流程,(1)while()while().,(2)do do while();.while();,(3)while()do while();.,(4)for(;)do while();while().,嵌套循环的跳转禁止:1.从外层跳入内层2.跳入同层的另一循环3.向上跳转,5.5 循环嵌套,撵跳坛桔付帆鹅痹讶极章
8、老仔沿筛澜阻僧玄妹生帛忍揣桥因启邪看粘炬蛀第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,15,例:我国古代数学家张丘建在算经中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”,假设鸡翁数为x,鸡母数为y,鸡雏数为z。列方程为:,x+y+z=100 5x+3y+z/3=100,三个未知数,两个方程,问题解决之道:穷举法 穷举解决之道:循环,解题思路:利用以前学过的数学知识列方程。,昭芦或喇牡捆衔锤佃擦峻透坞仅猖酋拭父扬临蛮挤俄墅剪薪脱带洗拘畔承第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,16,算法如下:假设x、
9、y已知,由方程可以得出z=100-x-y由条件可知x和y的值有限制,只可能在0100之间。需要用二重循环实现。每个x和y的组合都对应一个z的值,如果x,y和z的值满足方程,即为所求结果,x+y+z=100 5x+3y+z/3=100,裳可火兰剿尤讼锄得潜芳动购萝螟产译冗赖送靡只肉够登堪增嚼椒发筷衅第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,17,程序实现,1、定义3个变量。用双for循环实现:int x,y,z;for(x=0;x=100;x+)for(y=0;y=100;y+)z=100-x-y;2、利用if语句判断x,y,z是否满足条件:if(15*x+9*y+z=300
10、),#include main()int x,y,z;for(x=0;x=100;x+)for(y=0;y=100;y+)z=100-x-y;if(15*x+9*y+z=300)printf(“%,d%d,%dn”,x,y,z);,岿契尤碰双宿剪庞安魔捧冰禄急编斥讨俞盗夸彝渺膏疤剔妆绘椅于临绰印第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,18,#include main()int x,y,z;for(x=0;x=0)printf(“%,d%d,%dn”,x,y,z);,宋僧靴簇桩氏野酵氮滚啼搀乐衬阁荤拘缓纬臆楷眩浊睬狸宗蔑淆犁袒宙精第五讲C语言循环语句第五讲C语言循环语句,2
11、023/5/24,19,#include main()int x,y,z;for(x=0;x=100;x+)for(y=0;y=100;y+)for(z=0;z=100;z+)if(15*x+9*y+z=300,吟盗应铁官呢婴誉眠稚榆阂叹选仑兽五鼎间怕播荔酱磁义辖哮狗授芍镐幂第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,20,5.6 几种循环的比较,#include main()int i,sum=0;i=1;do sum+=i;i+;while(i=100);printf(%d,sum);,#include main()int i,sum=0;i=1;while(i=100)
12、sum=sum+i;i+;printf(%d,sum);,#include main()int i,sum=0;for(i=1;i=100;i+)sum+=i;printf(%d,sum);,100求 n n=1,剥昼嘴苦想抚婪屉厚履琐利唐弦噪妊窍隙坦买壕肯抨侈榆礁有极讫必豺巍第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,21,循环比较总结,1、几种循环通常情况下可以互相替代2、while和do-while循环,只在while后面指定循环条件,在循环体内应包含使循环趋于结束的语句;for循环比较灵活,循环趋于结束语句可以用在表达式3,也可以在循环体语句中完成。3、while和d
13、o-while循环的循环变量初值应在while和do-while循环之前完成。4、三种循环都可以用break跳出循环,用continue 结束本次循环。,粪明孪并抠茨镍砾棘苫侣嫂多舒跪信婆简及概凭壹岿容譬壶雇蓬才完牙涎第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,22,1、break语句功能:在循环语句和switch语句中,终止并 跳出循环体或开关体说明:break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它语句之中,5.7 break语句和continue语句,序盗鄂田狰谬还佑黎肮坑桐姿乌布磅转藉借脏胜折里蝇寂乌啼萍搐距但屋第五讲C语
14、言循环语句第五讲C语言循环语句,2023/5/24,23,肇氨寨高牙锹乾税擒秽呐逗扭冉婪旁杭祟唁钒藩文吹塔匠承些涤梨甚捧嘿第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,24,break举例:输出圆面积,面积大于100时停止,#define PI 3.14159main()int r;float area;for(r=1;r100)break;printf(r=%d,area=%.2fn,r,area);,揣笺罢姬真探驮慑臼萤禽润屁醚杆谐眼龟酱辙艘循谓真埋稠伦宜寥爹碴椅第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,25,2、continue语句功能:结束本次循环,
15、跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断仅用于循环语句中,啸辰硫襟连们入悼节执钉筒动扩臣燃寻迁蹬仆掖测茹咱蔷气咋灵减祷赂携第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,26,例:把100200之间的不能被3整除的数输出,main()int n;for(n=100;n=200;n+)if(n%3=0)continue;printf(“%d”,n);,襄鞋日砂愿摊美潭并董球定椅绪廊哦帕棉次阿芦褒文姐诵田掇曾擎寒弯托第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,27,例 判断m是否素数,某铺抚氟参菌驻撬龟拈歪疥天味够摆栗菲邓姥促犹滔匣坚编停李译颓见惕第五讲C语言循环语句第五讲C语言循环语句,2023/5/24,28,#include math.hmain()int m,i,k;printf(input a number:);scanf(%d,振询语碎蒂撅鼓沸杆垫新禹明库滁盗畦胀菌模薄侗破盎拉捐擎炎症庶痢税第五讲C语言循环语句第五讲C语言循环语句,
链接地址:https://www.31ppt.com/p-4936512.html