资源描述:
《《C语言循环语句》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章循环语句2021-8-1915.1概述1、C语言可实现循环的语句:–用goto和if构成循环–while语句–do~while语句–for语句2021-8-1922、goto语句含义:无条件转移goto语句标号;….…..标号:语句;说明:l不能用整数作标号l只能出现在goto所在函数内,且唯一l只能加在可执行语句前面l限制使用goto语句2021-8-1935.2while语句v一般形式:while(表达式)循环体语句;v流程图:假(0)表达式真(非0)循环体语句2021-8-194v特点:先判断表达式,后执行循环体v几点说明:l循环体有可能一次也不执行l循环体可
2、为任意类型语句l下列情况,退出while循环u条件表达式不成立(为零)u循环体内遇break,return,gotol无限循环:while(1)循环体语句;2021-8-195100例:用while循环求∑nn=1#include循环条件main(){inti,sum=0;循环初值i=1;while(i<=100){sum=sum+i;循环变量增值i++;循环终值}printf("%d",sum);循环体语句}2021-8-196例:显示1~10的平方#include运行结果:main()1*1=1{inti=1;2*2=43*3=9w
3、hile(i<=10)4*4=16{printf("%d*%d=%d",i,i,i*i);5*5=25i++;6*6=367*7=49}8*8=64}9*9=8110*10=1002021-8-1975.3Do-while语句v一般形式:do循环体语句;while(表达式);v执行流程:循环体语句真(非0)表达式假(0)2021-8-198v特点:先执行循环体,后判断表达式v说明:l至少执行一次循环体ldo~while可转化成while结构Do-While循环While循环赋初值假(0)循环体语句表达式真(非0)真(非0)循环体表达式假(0)2021-8-199100
4、例:用do~while循环求∑nn=1#includemain(){inti,sum=0;i=1;do{sum+=i;i++;}while(i<=100);printf("%d",sum);}2021-8-1910例while和do~while比较#include#includemain()main(){inti,sum=0;{inti,sum=0;scanf("%d",&i);scanf("%d",&i);dowhile(i<=10){sum+=i;{sum+=i;i++;i++;}while(i<=10);}pri
5、ntf("%d",sum);printf("%d",sum);}}2021-8-19115.4for循环for([表达式1];[表达式2];[表达式3])v一般形式:循环体语句;v执行流程:表达式1假(0)表达式2真(非0)循环体语句表达式32021-8-1912vfor语句最简单应用形式:for(循环变量赋初值;循环条件;循环变量增值){循环体语句;}100例v用说fo明r循:环求∑nnlfor语句中n表1达式1,表达式2,表达式3类型任#inclu意de,略,但分号;不可省main()l无限循环:for(;;){intli,sfuomr语=
6、0句;可以转换成while结构for(i=1;i<=100;i++)表达式1;sum+=i;while(表达式2)printf("%d",sum);{}循环体语句;表达式3;2021-8-19}135.5循环嵌套循环的嵌套v三种循环可互相嵌套,层数不限v外层循环可包含两个以上内循环,但不能相互交叉v嵌套循环的执行流程v嵌套循环的跳转(1)while()禁止(:2)do(3)while()(4)for(;;){……{……{……{……l1.从外层跳入内层while()dododo{……l2.跳入{同…层…的另一循环{……{……}l3.向上}跳wh转ile();}while()
7、;}while();…...…...…….……}}while();}while(){……}…...2021-8-19}14例:我国古代数学家张丘建在《算经》中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”解题思路:利用以前学过的数学知识列方程。假设鸡翁数为x,鸡母数为y,鸡雏数为z。列方程为:x+y+z=100……①三个未知数,两个方程5x+3y+z/3=100……②问题解决之道:穷举法穷举解决之道:循环2021-8-1915x+y+z=100……①5x+3y+z/3=10