资源描述:
《高级程序语言课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六讲控制流-循环结构程序设计教材:C程序设计导论1本讲重点1.熟练掌握三种循环语句的基本结构以及循环语句的嵌套。2.掌握goto语句的一般形式。3.熟练掌握break、continue语句使用4.使用三种基本结构编写简单的程序2循环结构功能:重复执行某一种动作(代码)若干次。goto语句构成的循环while循环do—while循环for循环while、do—while、for三种循环的比较break、continue语句的作用及在循环中的应用循环的嵌套使用:一个循环中又包含另一个循环成为循环的嵌套.上面讲到的三种循环可以互相嵌套.36.1while语句1、功能:while语句一般
2、完成当型循环,2、语句格式为:while(表达式p)语句3、执行过程:当表达式P为非零时,反复执行A操作,直到P为假时才停止。A当P为真AP4Sum=sum+ii++当i<=1006.1while语句100例3.9:求nn=1#includevoidmain(void){inti,sum=0;i=1;要点:语句一面要么是单条语句,要么是复合语句while(i<=100)·循环体若不止一条语句时,{sum=sum+i;应用{…}括起来。i++;·在循环体中应有使循环趋于结束}的语句,以避免“死循环”。printf(“%d”,sum);}i=156.1whil
3、e语句例:个位数是6,且能被3整除的5位数共有多少个?.#includevoidmain(void){longintn=10006;intcount=0;while(n<=99999){if(n%3==0)count++;n+=10;}printf(“count=%d”,count);}66.2do-while语句1、功能:do—while语句一般完成直到型循环,2、格式为:do{语句块;}while(表达式p);3、执行过程:先执行循环体,后判定表达式,当表达式的值为“假”时,循环结束。PATF直到P为假A76.2do-while语句100例如:求nn=1
4、#includevoidmain(void){inti,sum=0;i=1;do{sum=sum+i;i++;}while(i<=100);printf(“%d”,sum);}从上面对一个问题的两种解决方法可以看出:while循环与do_while循环在绝大多数情况下是可以相互转化的.86.3for语句1、功能:用于循环次数已确定或给定循环条件的情况,适合于描述一个事物从初始态到终止态的变化过程。最为灵活。2、语句格式为:for(表达式1;表达式2;表达式3)语句3、执行过程为:(1)先求解表达式1(初值);(2)求解表达式2,并判定其值是否为真(非0),若为
5、真,则执行其所包含的语句,然后执行下面的步骤3;若为假,则直接执行步骤5;(3)执行循环体语句后,求解表达式3;(4)转回执行步骤2;(5)执行for下面的语句.9求解表达式1表达式2语句求解表达式3for循环下面的语句TF106.3for语句100例:求nn=1#includevoidmain(void){inti,sum=0;for(i=1;i<=100;i++)sum=sum+i;printf(“%d”,sum);}116.3for语句---使用要点1、for语句中的表达式1可以省略,但在for循环之前应给循环变量赋值.例如:i=1;for(;i<
6、=100;i++)sum=sum+i;2、表达式2也可以省略,但循环将陷入死循环.例如:for(i=1;;i++)sum=sum+i;3、表达式3也可以省略,但应在循环体中增加使循环变量值改变的语句.例如:for(sum=0,i=0;i<=100;){sum=sum+i;i++;}4、表达式1和表达式3同时省略也允许,例如:i=1;sum=0;for(;i<=100;){sum=sum+i;i++;}这是完全与while循环等同.5、三个表达式都可以省略,但“;”不能省略。for(;;)sum=sum+i;循环将无休止的执行下去126.3for语句---使用要点6
7、、表达式1中的表达式可以是循环变量的赋初值的表达式,也可是与赋初值根本无关的其他表达式,或者两者兼而有之.例如:for(sum=0,i=1;i<=100;i++)sum=sum+i;表达式3也可以出现同样的情况,例如:for(sum=0,i=1;i<=100;sum=sum+i,i++);7、表达式2一般清况下是关系表达式或逻辑表达式,也可以是其他表达式,例如:for(;(c=getchar())!=‘’;printf(“%c”,c));若输入:ca