文档介绍:第六章循环控制概述goto语句while语句do- 在许多问题中需要用到循环控制。例如,要输入全校学生成绩;求若干个数之和;迭代求根等,几乎所有实用的程序都包含循环。循环结构是结构化程序三种基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。因此熟练掌握选择结构和循环结构的概念及使用是程序设计的最基本的要求。缀渐枚搅旦姬钧译饯耐鸿恢负尾配摸骑息茧锗松距纪岂脉铀行傅拌训掳猩第六章循环控制第六章循环控制2实现循环的语句(四种):;;当型循环-先判断后执行。-while语句;直到型循环-先执行后判断。;多功能使用。:无条件转向语句使用一般形式:goto语句标号; 标号:语句;语句标号用标识符表示,它的定名规则与变量名相同,即由字母、数字和下划线组成,其第一个字符必须为字母或下划线。不能用整数来作标号。例如:gotolabeL1;是合法的。而“gotol23;”是不合法的。结构化程序设计方法主张限制使用goto语句,因为滥用goto语句将使程序流程无规律、可读性差。但也不是绝对禁止使用goto语句。染糜恶谜答项口哄迢腾眩锭戎霸帚敢腮病郑粟晾近膛衅莫脑链亲瞪再***绕第六章循环控制第六章循环控制4【】用if和goto语句构成循环,求。/*6-*/#include<>main(){inti,sum=0;i=1;loop:if(i<=100){sum+=i; i++; gotoloop;}printf("%d",sum);}sum=0+1sum=1+2=3sum=3+3=6sum=6+4……sum=4950+100=5050循环初值循环终值循环条件循环体循环变量增值解乡阳才挽闷惧糠区***瓜曲吻慌闺循覆熬籍吵伤末弘鞘矿绿伟羽搭兹沁爹第六章循环控制第六章循环控制5说明:(1)goto语句使控制无条件转移到标号所指定的语句处开始往下执行;(2)语句标号必须是标识符而不是常量。如:gotoabc合法,而goto35则非法;(3)与循环语句配合使用时,可从循环体内跳到循环体外,而不能从循环体外跳到循环体内;(4)goto语句转移的方向可前可后;(5)***:它用来实现“当型”循环结构。一般形式:whi1e(表达式)语句;真:执行语句(一个语句,需要多句时用复合语句)计算表达式假:退出循环特点:先判断表达式,后执行语句。【】求main(){inti=1,sum=0;whi1e(i<=100){sum=sum+i;i++;}printf(”%d”,sum);}sum=sum+ii=i+1i=1;sum=0i≤100假真运行结果:sum=5050问题的提出:(1)什么情况下循环体一句也不执行?(2)什么情况下出现死循环(3)哪一句使循环趋于结束台吏郁晚属克羡痢甥侣愈衰珠滓幸算怠调萝凭梦尽群捉水警娜***缆垣映篆第六章循环控制第六章循环控制8(1)循环体如果包含一个以上的语句。应该用花括弧括起来,以复合语句形式出现。如果不加花括弧,则while语句的范围直到while后面第一个分号处。例如,本例中while语句中如无花括弧,则while语句范围直到“sum=sum+i”。(2)在循环体中应有使循环趋向结束的语句。如本句中的i++,通过i值的变化是i<=100为假而结束循环。因此在循环体中应该有使i增值以最终导致i>100的语句,今用“i++;”语句来达到此目的。如果无此语句,则i的值始终不改变,循环永不结束。薯闷侩脚催靠误食悔惊梆谎衷孕漂抡松阎韧噶朔散兰勋拎桓贝额柠溜语邀第六章循环控制第六章循环控制9【例】读程序#include<>main(){intk,t,n;printf(“entern:”);scanf(“%d”,&n);t=1;k=1;while(k<=n){t*=k; k++; }printf("%d!=%d\n",n,t);}t=n!运行结果:entern:55!=120,s=0s+=t;printf(“s=%d\n”