资源描述:
《参赛课件 循环结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、循环结构程序设计参赛选手:******6.1概述在实际问题中经常会遇到许多有规律的重复计算或处理,这类问题常采用循环控制。例如,求许多个数之和、迭代求根等。C语言共提供了四种用于实现循环结构的流程控制语句,它们是:If语句/goto语句while语句do—while语句for语句6.2goto语句以及用goto构成循环一、goto语句的一般形式goto语句标号;┆语句标号:语句;其中:语句标号规定用标识符表示。该语句功能是把程序控制转移到标号所在的语句处,程序将从标号处的语句继续执行。二、goto语句的两种用途1.与if语
2、句一起构成循环结构;2.从多层循环的内层循环跳到外层循环。[例]用if/goto语句构成循环,求1+2+┄+100。voidmain(){inti,sum;i=1;sum=0;loop:if(i<=100){sum=sum+i;i++;gotoloop;}printf(“%d”,sum);}i<=100A真假运行结果:50506.3while语句一、while语句的一般形式while(表达式){语句1;┆循环体语句n;}二、while语句的控制流程先计算表达式的值并判断,若表达式值非零(逻辑真),则执行循环体
3、的语句……直到某次表达式的值为零时结束循环。expr循环体假(0)真(≠0)while当型循环结构特点:先判断表达式,后执行循环体说明:①循环体有可能一次也不执行②循环体为单条任意类型的语句,多条语句时需用{}。③下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,return,goto④无限循环:while(1)循环体;例用while循环求#includemain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum)
4、;}循环初值循环终值循环变量增值循环条件循环体例显示1~10的平方#includevoidmain(){inti=1;while(i<=10){printf("%d*%d=%d",i,i,i*i);i++;}}运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100多条语句时加{}[例]显示输入的一串字符,直到按下回车键。#includevoidmain(){printf(“Entercharacters:”
5、);while(putchar(getchar())!=‘’);}运行结果:Entercharacter:utHYTki899%%$#jkkutHYTki899%%$#jkkcharc;printf(“Entercharacters:”);while((c=getchar())!=‘’);putchar(c);[例]分别统计输入的字符串中字母、数字和其它字符的个数。#includemain(){intc,d1,d2,d3;d1=d2=d3=0;printf(“Enterchara
6、cters:”);while((c=getchar())!=‘’)if(c>=‘A’&&c<=‘Z’
7、
8、c>=‘a’&&c<=‘z’)d1++;elseif(c>=‘0’&&c<=‘9’)d2++;elsed3++;printf(“Letters:%d,Digits:%d,Others:%d”,d1,d2,d3);}运行结果:Entercharacters:huYu*&g85GF#@30Letters:7,Digits:4,Others:4一、do-while语句的一般形式do{语句1;┆循环体
9、语句n;}while(表达式);二、do-while语句的控制流程先执行循环体中的语句,再计算表达式的值,若值非零(逻辑真),则重复循环过程……直到某次表达式的值为零时结束循环。表达式循环体=0≠06.4do--while语句直到型循环结构main(){inti=1,sum=0;do{sum+=i;i++;}while(i<=100);printf(“%d”,sum);}例:用do--while循环求6.5for语句一、for语句的一般形式for(表达式1;表达式2;表达式3)语句;计算表达式1表达式2计算表达式3语句=0
10、≠0二、for语句的控制流程①计算表达式1(循环初值)②判断表达式2(循环控制条件)的值,非零执行循环体的语句,否则结束循环。③计算表达式3(循环增值)④转向②继续执行三、for语句的简单形式[例]输出0~100之间的偶数。main(){inti;for(i