信息技术教案

5.4 循环的嵌套与提前退出循环

时间:2015-10-27 来源:无忧教育网 编辑:森林狼 点击:

5.4 循环的嵌套与提前退出循环

循环的嵌套
一个循环体内又包含另一个完整的循环结构,称为循环的嵌套
内嵌的循环中还可以嵌套循环,这就是多层循环
3种循环(while循环、do…while循环和for循环)可以互相嵌套
5.5.1 用break语句提前退出循环
在执行循环语句时,在正常情况下只要满足给定的循环条件,就应当一次一次地执行循环体,直到不满足给定的循环条件为止。但是有些情况下,需要提前结束循环。
 
例5.6 统计各班级学生的平均成绩。已知各班人数不等,但都不超过30人。编一个程序能处理人数不等的各班学生的平均成绩。
解题思路:
输入的成绩是负数时,表示本班数据已结束
接收到一个负的分数时就提前结束循环
用break语句实现提前结束循环
#include <stdio.h>
void main()
{  float score,sum=0,ave;  int i,n;
    for(i=1; i<31; i++)
    {  scanf(“%f”,&score); 
         if(score<0) break; //负值,跳出循环
         sum=sum+score; //非负,累加
}
    n=i-1; 
    ave=sum/n;    
    printf(“n=%d,ave=%7.2f\n”,n,ave); 
 }
100↙
80↙
70↙
-1↙ 
n=3,ave=  90.00


break语句的一般形式为:
              break; 
只能用于循环语句和switch语句之中,而不能单独使用
5.5.2 用continue语句提前结束本次循环
continue语句的一般形式为:
         continue; 
其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判断。
continue语句和break语句的区别:
continue语句只结束本次循环,而不是终止整个循环的执行
break语句结束整个循环过程,不再判断执行循环的条件是否成立 
while(表达式1)
{
   ┇
   if(表达式2) 
       break;
     ┇
while(表达式1)
{
   ┇
   if(表达式2) 
       continue;
     ┇
例5.7  输入一个班全体学生的成绩,把不及格的学生成绩输出,并求及格学生的平均成绩。
解题思路:
在进行循环中,检查学生的成绩,把其中不及格的成绩输出,然后跳过后面总成绩的累加和求平均成绩的语句
用continu语句处理
#include <stdio.h>
void main()
{float score,sum=0,ave;  int i,n=0;
  for(i=1; i<6; i++) 
  { printf(“score:");  scanf(“%f”,&score); 
 if(score<60) 
     { printf(“Fail:%7.2f\n”,score); 
        continue;
     }  
    sum=sum+score;   n=n+1; 
}
  ave=sum/n; 
  printf(“n=%d,ave=%7.2f\n”,n,ave);
}
score:89↙
score:56↙
Fail:56
score:76↙
score:58↙
Fail:58
score:98↙ 
n=3 ave=87.67
 
详细内容可下载幻灯片细看:
http://www.edu399.com/kejian/C/C.rar

  [话题作文大全专题]   [买卖合同专题]   [文献综述范文]   [话题作文专题]

本文地址:http://www.edu399.com/jiaoan/xxjs/142367.html
本文标题:5.4 循环的嵌套与提前退出循环
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)