(精品)第6章 循环结构的程序设计 while 语句.ppt
《(精品)第6章 循环结构的程序设计 while 语句.ppt》由会员分享,可在线阅读,更多相关《(精品)第6章 循环结构的程序设计 while 语句.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6 6章章 循环结构的程序设计循环结构的程序设计lwhile 语句语句ldo-while 语句语句lfor 语句语句l其他控制语句其他控制语句break,continue循环型程序设计循环型程序设计问题:编程序求问题:编程序求1+2+100之和之和分析:分析:1、设一个变量、设一个变量sum存放和,并初始化为存放和,并初始化为0;2、设置变量、设置变量i,让其从让其从1100,将这,将这100个数一个一个加到个数一个一个加到sum中,加中,加100次,而且每次都做同样的操作:次,而且每次都做同样的操作:sum=sum+i;i+;(i从从1增加到增加到100)3、当、当i增加到增加到101时
2、,停止计算;最后时,停止计算;最后sum中的值就为所中的值就为所求的值求的值 顺序结构和选择结构程序是每条语句最多执行顺序结构和选择结构程序是每条语句最多执行一次,不能解决这个问题,因此要用到循环结构一次,不能解决这个问题,因此要用到循环结构 循环结构是用于处理大量的有规律的重复操作循环结构是用于处理大量的有规律的重复操作sum=1+2+100;分析:分析:sum=0 i=1sum=sum+1=1sum=sum+2=1+2=3sum=sum+3=3+3=6sum=sum+4=6+4=10sum=sum+100=4950+100=5050u循环结构:循环结构:u特点:在给定条件成立时,反复执行某
3、程序段(循环特点:在给定条件成立时,反复执行某程序段(循环体语句),直到条件不成立时,结束循环,继续执行循体语句),直到条件不成立时,结束循环,继续执行循环体下面的语句环体下面的语句l当型循环结构当型循环结构whilel直到型循环结构直到型循环结构do whilePA假假真真当当P为真为真AAP假假真真A直到直到P为为假假注:A可以是一个简单语句,也可以是一个复合语句6.1 概述概述(p103p103)C语言可实现循环语言可实现循环结构结构的语句:的语句:nwhile 语句语句ndo while 语句语句nfor 语句语句6.1 概述概述(p106p106)u一般形式一般形式:while(表达
4、式表达式)循环体语句循环体语句u执行流程执行流程:当表达式为当表达式为真(非真(非0值)时,执行值)时,执行while语句中的内嵌语句。语句中的内嵌语句。表达式表达式循环体循环体假假(0)真真(非非0)while6.3 while语句语句u特点:先判断表达式,特点:先判断表达式,后执行循环体(当型)后执行循环体(当型)sum=0;i=1;while(i=100)sum=sum+i;i+;此处此处无分无分号号 ;u一般形式一般形式:while(表达式表达式)循环体语句循环体语句6.3 while语句语句u说明:说明:循环体有可能一次也不执行循环体有可能一次也不执行(一开始(一开始条件就不成立)条
5、件就不成立)当表达式为真(非当表达式为真(非0 0值)时,即可继续值)时,即可继续执行循环执行循环循环体包括一个以上语句的用循环体包括一个以上语句的用 组成组成复合语句复合语句有使有使循环循环趋向结束的趋向结束的语句语句,如如 i+i+无限循环无限循环:也即无循环结束条件也即无循环结束条件 while(1)while(1)循环体循环体;下列情况,退出下列情况,退出whilewhile循环循环:l条件表达式不成立(为零)条件表达式不成立(为零)l循环体内遇循环体内遇 break,break,return,gotoreturn,goto u特点:先判断表达式,特点:先判断表达式,后执行循环体(当型
6、)后执行循环体(当型)sum=0;i=1;while(i=100)sum=sum+i;i+;例例6.2 用用while循环求循环求 /*ch6-2.c*/#include void main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%d,sum);循环初值循环初值循环终值循环终值循环变量增值循环变量增值循环条件循环条件循环体循环体i=1 sum=0当当i=100sum=sum+ii+输出输出sum循环结构的五要素:循环初值,循环条件,循环终值,循环变量增值,循环体循环结构的五要素:循环初值,循环条件,循环终值,循环变量增值,循环体例例6
7、.2 用用while循环求循环求 /*ch6-2.c*/#include void main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%d,sum);求前求前n项的和项的和可用可用scanf读入读入n/*ch6-2.c*/#include void main()int i,sum=0,n;i=1;scanf(“%d”,&n);while(i=n)sum=sum+i;i+;printf(%d,sum);例例6-banjicj 某班有某班有10名学生,输入每个学生某门课程的成绩,并名学生,输入每个学生某门课程的成绩,并求出该班该门课程的平均
8、分以及成绩为优秀求出该班该门课程的平均分以及成绩为优秀(大于等于大于等于90分分)的学的学生人数。生人数。#includevoid main()int score,i=1,sum=0,count=0;printf(请输入学生请输入学生10个成绩:个成绩:n);while(i=90)count=count+1;i=i+1;printf(平均分为:平均分为:%dn,sum/10);printf(优秀人数为:优秀人数为:%dn,count);u一般形式:一般形式:do 循环体语句循环体语句 while(表达式表达式);u执行流程:执行流程:执行执行do-while语句中的内嵌语句,直到表达式为假语句
9、中的内嵌语句,直到表达式为假(0)才跳出循环。)才跳出循环。do循环体循环体表达式表达式假假(0)真真(非非0)while6.4 do-while语句语句此处此处有分有分号号;循环体语句循环体语句当当表达式值为真表达式值为真N-S图表示图表示u特点:先执行循环体,后判断表达式(直到型)特点:先执行循环体,后判断表达式(直到型)u说明说明:至少执行一次循环体至少执行一次循环体循环体如果包含一个以上的语句,必须使用复合语句形式循环体如果包含一个以上的语句,必须使用复合语句形式在循环体中,必须有使循环条件趋向于不满足(假)的语句在循环体中,必须有使循环条件趋向于不满足(假)的语句do-whiledo
10、-while可转化成可转化成whilewhile结构结构表达式循环体假(0)真(非0)循环体While循环 do循环体循环体表达式表达式假假(0)真真(非非0)while例例6.3 用用dowhile循环求循环求 /*ch6-3.c*/#include void main()int i,sum=0;i=1;do sum+=i;i+;while(i=100);printf(%d,sum);此处此处有分有分号号;与与while语句得语句得出的结果一样出的结果一样i=1 sum=0当当i100)输出输出sumsum=sum+ii+/*ch6-2.c*/#include void main()int
11、i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%d,sum);例例6.4 while和和dowhile比较比较/*ch6-4.c*/#include void main()int i,sum=0;scanf(%d,&i);do sum+=i;i+;while(i=10);printf(%d,sum);/*ch6-4-1.c*/#include void main()int i,sum=0;scanf(%d,&i);while(i=10)sum+=i;i+;printf(%d,sum);结论:当结论:当 whilewhile后的表达式第一后的表达式第一次
12、的值为次的值为“真真”时,两种结果相时,两种结果相同,否则不同同,否则不同输入:输入:10输出:输出:sum=10 输出:输出:sum=10输入:输入:11 输出:输出:sum=11 输出:输出:sum=0u一般形式:一般形式:for(表达式表达式1;表达式表达式2;表达式表达式3)循环体语句循环体语句u执行流程:执行流程:表达式表达式2循环体循环体假假(0)真真(非非0)for表达式表达式1表达式表达式36.5 for语句语句1.1.先求解表达式先求解表达式1 1;2.2.求解表达式求解表达式2 2,若其值,若其值为真为真(非非0)0),则执行循,则执行循环体的内容,然后执环体的内容,然后执
13、行第行第3 3步。若为假步。若为假(0)(0),则结束循环,执行,则结束循环,执行forfor语句下面一条语句。语句下面一条语句。3.3.若表达式为真,执行若表达式为真,执行指定的语句后,求解指定的语句后,求解表达式表达式3 3。4.4.返回第返回第2 2步执行。步执行。5.5.循环结束,执行循环结束,执行forfor语语句下面的一个语句。句下面的一个语句。此处此处无分无分号号;sum=0;for(i=1;i=100;i+)sum=sum+i;sum=0;i=1;while(i=100)sum=sum+i;i+;uforfor语句一般应用形式语句一般应用形式:for(循环变量赋初值循环变量赋初
14、值;循环条件循环条件;循环变量增值循环变量增值)循环体语句循环体语句 u说明:说明:forfor语句中语句中表达式表达式1 1、表达式、表达式2 2、表达式、表达式3 3类型任意,都可省类型任意,都可省略,但分号;不可省略,但分号;不可省。如:如:for(;)for(;)#include void main()int i,sum=0;for(i=1;i=100;i+)sum+=i;printf(%d,sum);for (表达式表达式1;表达式;表达式2;表达式;表达式3)例:例:#include void main()int i;for(i=0;i10;i+)putchar(a+i);如何分析
15、循环程序的运如何分析循环程序的运行结果行结果?将将i值带入值带入例:例:#include void main()int i=0;for(;i10;i+)putchar(a+i);例例:#include void main()int i=0;for(;i10;)putchar(a+(i+);例例:#include void main()int i=0;for(;i10;putchar(a+i),i+);省省略略表表达达式式1省省略略表表达达式式1、3省省略略循循环环体体运行结果:运行结果:abcdefghij/*ch6-for-1.c*/void main()int i,j,k;for(i=0,
16、j=100;i=j;i+,j-)k=i+j;printf(%d+%d=%dn,i,j,k);/*ch6-for-2.c*/#includevoid main()char c;for(;(c=getchar()!=n;)printf(%c,c);/*ch6-for-3.c*/#include void main()int i,c;for(i=0;(c=getchar()!=n;i+=3)printf(%c,i+c);表达表达式式 1、3为为逗号逗号表达表达式式打印一串字符,遇回车结束打印一串字符,遇回车结束此此循循环环执执行行几几次次i+j=0+100=100i+j=1+99=100i+j=2+
17、98=100i+j=50+50=100输入:输入:abc 输出:输出:a e i 结论:结论:for语句语句的功能强大的功能强大6.7 几种循环的比较几种循环的比较1 1、三种循环语句在处理循环问题时、三种循环语句在处理循环问题时,一般可以相互替代一般可以相互替代2 2、对于循环次数不确定的问题,可以用、对于循环次数不确定的问题,可以用whilewhile或或do-whiledo-while语句来实现。语句来实现。whilewhile语句为先判断后执行,语句为先判断后执行,do-whiledo-while语语句则先执行后判断。句则先执行后判断。3 3、对于、对于循环次数确定的问题,用循环次数确
18、定的问题,用for语句更方便。语句更方便。for语句也语句也为先判断后执行。为先判断后执行。三种循环结构:求三种循环结构:求1100的和的和 sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%d,sum);sum=0;i=1;do sum+=i;i+;while(i=100);printf(%d,sum);sum=0;for(i=1;i=100;i+)sum+=i;printf(%d,sum);n6.8.1 break语句语句n一般形式:一般形式:break;n功能:功能:放放在循环语句和在循环语句和switch语句中语句中,用于,用于终止并终止并跳出循环体
19、或开关体跳出循环体或开关体(switch语句语句),接着执行循,接着执行循环语句环语句(或或switch语句语句)后面的语句。后面的语句。n说明:说明:nbreak只能只能终止并跳出最近一层的终止并跳出最近一层的循环循环(嵌套循嵌套循环时环时)。如果要跳出多层循环,需用如果要跳出多层循环,需用goto语句语句nbreak不能用于循环语句和不能用于循环语句和switch语句之外的语句之外的任何其它语句之中任何其它语句之中6.8 break语句和语句和continue语句语句(p122)for(i=1;i50)break;sum+=i;printf(%d,sum);dobreak;.表达式表达式假
20、假(0)真真(非非0)while表达式表达式break;假假(0)真真(非非0)while循环体循环体循环体循环体switch表达式表达式语句组语句组1break;语句组语句组2break;语句组语句组nbreak;语句组语句组break;.const 1const 2const ndefaultcase 表达式表达式2break;.假假(0)真真(非非0)for表达式表达式1表达式表达式3循环体循环体例例1 break举例:举例:按不同的半径,按不同的半径,输出圆面积,输出圆面积,面面积大于积大于100时停止时停止#include#define PI 3.14159void main()in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品第6章 循环结构的程序设计 while 语句 精品 循环 结构 程序设计
限制150内