资源描述:
《第六章 循环控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第六章循环控制计算机系杨英鹏2004.3授课内容•while语句•do-while语句•for语句•break和continue语句•循环结构的嵌套•goto语句1.while语句•形式:while(表达式)语句;•执行过程:假先判断表达式的值,值为真表达式时执行循环体中的语句,然后真再次判断表达式的值,重复上述过程,直到表达式值为假结语句段束循环。•特点:如果一开始表达式值为假,一次也不执行循环语句。1.while语句•例:求1+2+……+100的结果。i=1;sum=0;假i<=100真sum=s
2、um+i;i=i+1;输出sum1.while语句•例:求1+2+……+100的结果。#includevoidmain(){inti,sum;sum=0;i=1;while(i<=100){sum=sum+i;i=i+1;}printf("1+2+3+…..+100=%d",sum);}1.while语句•注意:–循环体中如果包含一个以上的语句,应该用花括弧括起来,以复合语句的形式出现,否则while语句只执行到第一个分号处–在循环体中应该有使循环结束的语句,如i=i+1;2.d
3、o-while语句•形式:do循环体语句循环体语句while(表达式);•执行过程:假先执行循环体语句,再判表达式断表达式的值,值为真时继真续执行循环体中的语句,然后再次判断表达式的值,重复上述过程,直到表达式值为假结束循环。2.do-while语句•特点:即使表达式初始值为假,也至少会执行一遍循环体语句•注意:while(表达式)后面的分号不能省略1.do-while语句•例:求1+2+……+100的结果。i=1;sum=0;sum=sum+i;i=i+1;真i<=100假输出sum2.do-whi
4、le语句•例:求1+2+……+100的结果。#includevoidmain(){inti,sum;sum=0;i=1;do{sum=sum+i;i=i+1;}while(i<=100);printf("1+2+3+…+100=%d",sum);}2.do-while语句•do-while语句和while语句比较–一般情况下,当表达式的初始值为真时,do-while和while语句可以相互替换,如上两例。–但当表达式的初始值就为假时,while语句不执行循环体,而do-while
5、语句则会执行一次循环体。–因此do-while语句至少会执行一次循环体,而while语句可能不执行循环体2.do-while语句•do-while语句和while语句比较表达式的初始值为真main()main(){intsum=0,i=1;{intsum=0,i=1;while(i<=10)do{sum=sum+i;i++;}{sum=sum+i;i++;}while(i<=10);printf(“sum=%d,”,sum);printf(“sum=%d,”,sum);printf(“i=%d”,i)
6、;}printf(“i=%d”,i);}结果:sum=55,i=11结果:sum=55,i=112.do-while语句•do-while语句和while语句比较表达式的初始值为假main()main(){intsum=0,i=11;{intsum=0,i=11;while(i<=10)do{sum=sum+i;i++;}{sum=sum+i;i++;}while(i<=10);printf(“sum=%d,”,sum);printf(“sum=%d,”,sum);printf(“i=%d”,i);}
7、printf(“i=%d”,i);}结果:sum=0,i=11结果:sum=11,i=123.for语句•一般形式:for(表达式1;表达式2;表达式3)表达式1循环体语句假•执行过程:表达式2•(1)计算表达式1•(2)计算表达式2的值,如果值为真真,执行循环体语句,否则转到第循环体语句(5)步•(3)计算表达式3表达式3•(4)转到第(2)步•(5)结束循环,执行for语句的下一条语句4.for语句•例:求1+2+……+100的结果。i=1;sum=0;假i<=100真sum=sum+i;i=i+
8、1;输出sum4.for语句•例:求1+2+……+100的结果#includevoidmain(){intsum,i;for(sum=0,i=1;i<=100;i++)sum=sum+i;printf("1+2+3+…...+100=%d",sum);}3.for语句•for语句中的表达式1,一般用于给循环变量赋初值(超过一个语句用逗号间隔),如果在循环语句前已赋过初值,表达式1可以省略,但其后的分号不能省略。上例for语句可以改写