C语言程序设计(第四版)(微课版)ch05 循环结构程序设计_第1页
C语言程序设计(第四版)(微课版)ch05 循环结构程序设计_第2页
C语言程序设计(第四版)(微课版)ch05 循环结构程序设计_第3页
C语言程序设计(第四版)(微课版)ch05 循环结构程序设计_第4页
C语言程序设计(第四版)(微课版)ch05 循环结构程序设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.1goto语句5.2while循环5.3do-while循环5.5break.continue语句5.6循环嵌套5.1goto语句一般形式:语句标号:语句

….…..goto语句标号;1.功能是无条件转到语句标号处。2.用途:与if语句一起构成循环结构;从循环体中跳到循环体外。3.因为滥用goto语句会破坏结构化,使流程无规律,所以应限制使用。除非不得已时(例如能大大提高效率)才使用。说明:语句标号:1.用于定义程序中的某个位置。2.用标识符表示,开头不能是数字。如:goto3t;错误

gotot3;正确3.只能加在可执行语句前面。用if语句和goto语句构成循环

计算#include<stdio.h>main(){inti,sum=0;i=1;loop:if(i<=100){sum+=i; i++;

gotoloop;}printf("%d",sum);}sum=sum+1=1sum=sum+2=3sum=sum+3=6sum=sum+4=10……sum=sum+100=5050循环初值循环终值循环变量增值循环条件循环体分析:这是一个累加求和的问题sum=1+2+3+…+100

5.2while语句用while语句实现当型循环

当表达式的值为真(非0)时,执行其中的内嵌语句(循环体),然后回过头来再判断表达式的值,如此重复;当表达式为假(0)时结束循环。一般形式:while(表达式)

循环体语句表达式循环体假(0)真(非0)执行过程:特点:先判断表达式,后执行循环体。分析:累加求和的问题

s=1+2+3+…+100s=0s=s+1s=s+2s=s+3……和的新值s=s+k和的当前值求和项当前值用while语句计算#include<stdio.h>main(){intk,s;s=0;k=1;while(k<=100){s=s+k;k++;}printf(“s=%d",s);}注意:s、k的初值及位置5.3do...while语句用do-while语句实现直到型循环

执行循环体,当表达式的值为真(非0)时,再次执行循环体,如此重复;当表达式为假(0)时结束循环。一般形式:do

循环体语句while(表达式);表达式循环体假(0)真(非0)执行过程:先执行循环体,后判断表达式。循环体至少执行一次。do-while语句可转化成while语句。“;”不可省略例

用do-while语句计算#include<stdio.h>main(){intk,s;s=0;k=1;

while(k<=100){s=s+k;k++;}printf(“s=%d",s);}#include<stdio.h>main(){intk,s;s=0;k=1;

do{s=s+k;k++;}while(k<=100);printf(“s=%d",s);}先判后做先做后判5.4for循环最简单的应用形式:for(循环变量赋初值;循环条件;循环变量增值;)

循环体语句例如:for(i=1;i<=100;i++)sum+=i;一般形式:for(表达式1;表达式2;表达式3;)

循环体语句(1)先求解表达式1。

(2)求解表达式2,若其值为真(值为非0),则执行for语句中指定的循环体语句,然后执行下面第(3)步。若为假(值为0),则结束循环,转到第(5)步。

(3)求解表达式3。

(4)转回上面第(2)步骤继续执行。

(5)循环结束,执行for语句下面的一个语句

执行过程:例如:for(i=1;i<=100;i++)sum+=i;for(表达式1;表达式2;表达式3;)

循环体语句例用for语句计算#include<stdio.h>main(){intk,s;s=0;k=1;

while(k<=100){s=s+k;k++;}printf(“s=%d",s);}#include<stdio.h>main(){intk,s;s=0;k=1;

do{s=s+k;k++;}while(k<=100);printf(“s=%d",s);}先判后做先做后判#include<stdio.h>main(){intk,s;s=0;for(k=1;k<=100;k++)s=s+k;printf(“s=%d",s);}#include<stdio.h>main(){intk,s;s=0;

for(k=1;k<=100;k++)s=s+k;printf(“s=%d",s);}5.5break语句和continue语句break语句:break;功能:跳出switch结构;在循环语句中,终止并跳出本层循环。例

计算r=1到r=10的圆面积,直到面积大于100时停止。#definePI3.1415main(){

intr; floatarea;

for(r=1;r<=10;r++) {

area=PI*r*r;if(area>100)

break;

printf("r=%d,area=%.2f\n",r,area);

}}运行结果:r=1,area=3.14r=2,area=12.57r=3,area=28.27r=4,area=50.26r=5,area=78.54r=6,area=113.094,退出循环continue语句:continue;功能:结束本次循环,跳过本层循环体中尚未执行的语句,进行下一次是否执行循环体的判断。说明:continue仅用于循环语句中。一般与if一起使用例

把100-200之间不能被3整除的数输出。main(){intn;for(n=100;n<=200;n++){if(n%3==0)continue;printf(“%d",n);}}100110010121011020跳过printf语句说明:continue语句只结束本次循环;

break语句是终止本层循环的执行;要从很多重循环的内层跳到最外层,

可考虑用goto语句,但应尽量少用。::

for()

{for()

{for()

{if()

gotoend;

}}

}end:printf(“error”);continue语句和break语句goto的区别5.6循环的嵌套分析:1.每行的起始位置不同,空格数递减1。2.每行的字符数相同。3.用二重循环实现:

外循环控制输出行数;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论