资源描述:
《最新C语言项目3循环语句PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言项目3循环语句分析:如果本小组一共有十个同学,显然不可能定义十个变量x1,x2,……x10,然后在程序中表示成sum=x1+x2+x3+……+x10。求一个小组的学生总成绩的步骤就是:先输入第一个学生的成绩,然后将这个成绩加到总分中,接下来,输入第二个学生的成绩,再将第二个学生的成绩加入到总分中,不断重复,直到小组中最后一个同学的成绩输入并加入到总分为止。重复执行就是循环。重复工作是计算机特别擅长的工作之一。任务1求一个小组学生成绩的总分及平均分一、任务提出一个班进行了一次考试,现要输入第一小组学生的成绩,计算这一小组的总分
2、与平均分,并按要求输出。二、具体实现#include"stdio.h"main(){intscore,i,sum=0;floatavg;i=1;printf("请输入本小组10个学生的成绩:");while(i<=10){scanf("%d",&score);sum=sum+score;i=i+1;}avg=sum/10.0;printf("本小组10个学生的总分为:%d",sum);printf("本小组10个学生的平均分为:%.2f",avg);}while(i<=10){scanf(“%d”,&score);sum=
3、sum+score;i=i+1;}三、相关知识(一)常见的三种循环语句1.while循环【语法】(1)一般格式:while(循环继续条件){循环体语句组;}(2)执行过程1)求解“循环继续条件”,如果其值为非0,则转2);否则转3)。2)执行循环体语句组,然后转1)。3)退出while循环。i=1;while(i<=10){scanf(“%d”,&score);sum=sum+score;i=i+1;}首先i的初值为1,显然1<=10,满足循环条件,即输入score,然后将score加入到sum中,i=2;由于2<=10,还是满足
4、循环条件,执行第二次循环体。即输入score,然后将score加入到sum中,i=3;……这样一直重复,直到i=11,不再满足循环继续条件;从而跳出循环体。所以这段程序的意思是输入10次score,并将每一次输入的score加入到sum中。【例3-3】将1~100之间不能被3整除的数输出。分析:定义变量i其初值为1,验证1是否能被3整除?若不能整除,则输出i,然后将i累加到2,再次验证2是否被被3整除?若不能整除,则输出i,这样一直重复,直到i值>100。#includemain(){inti;i=1;while
5、(i<=100){if(i%3!=0)printf(“%3d”,i);i++;}}程序如下do…while语句(1)一般形式:do{循环体语句组;}while(循环继续条件);(2)执行过程1)执行do后面的循环体语句组;2)求解while后面的“循环继续条件”,如果其值为非0,则转1);否则转3)。3)退出while循环。循环变量赋初值循环体语句组while(循环继续条件);求一个小组学生成绩的总分及平均分的程序可改写为:#include"stdio.h"main(){intscore,i,sum=0;floatavg;i=1;
6、printf("请输入本小组10个学生的成绩:");do{scanf("%d",&score);sum=sum+score;i=i+1;}while(i<=10);avg=sum/10.0;printf("本小组10个学生的总分为:%d",sum);printf("本小组10个学生的平均分为:%.2f",avg);}do…while,总是先执行一次循环体,然后再求循环继续条件,因此,无论循环继续条件是否为“真”,循环体至少执行一次;(2)do…while循环与while循环十分相似;(3)它们的主要区别是:while循环先
7、判断循环条件再执行循环,循环体可能一次也不执行,do…while循环先执行循环体,然后再求循环继续条件,循环体至少执行一次。[例3-4]将例3-1用do…while语句来改进实现。求8个室友兄弟每个人三门课程的总分和平均分#include"stdio.h"main(){inti;floatx,y,z,sum,avg;i=1;do{printf("请输入第%d个同学三门课的成绩",i);scanf("%f%f%f",&x,&y,&z);sum=x+y+z;avg=sum/3;printf("第%d个同学的总分为%.2f,平均分%.2
8、f",i,sum,avg);i=i+1;}while(i<=8);}[例3-5]将例3-2用do…while语句来改进实现。求sum=1+2+3+……+100。#includemain(){inti,sum=0;i=1;do{