文档详情

C语言项目3循环语句解析.ppt

发布:2017-01-19约1.44万字共40页下载文档
文本预览下载声明
项目三 学生成绩的分组汇总 任务 1 求一个小组学生成绩的总分及平均分 一、任务提出 一个班进行了一次考试,现要输入第一小组学生的成绩,计算这一小组的总分与平均分,并按要求输出。 三、相关知识 (一) 常见的三种循环语句 1. while循环 【语法】 (1)一般格式: while(循环继续条件) {循环体语句组;} (2)执行过程 1) 求解“循环继续条件”,如果其值为非0,则转 2);否则转3)。 2) 执行循环体语句组,然后转1)。 3) 退出while循环。 任务情景中的程序及流程图 #include stdio.h main() {int score,i,sum=0; float avg; i=1; printf( 请输入本小组10个学生的成绩:); while(i=10) {scanf(%d,score); sum=sum+score; i=i+1; } avg=sum/10.0; printf(本小组10个学生的总分为:%d\n,sum); printf(本小组10个学生的平均分为:%.2f\n,avg); } while的进一步练习 【例3-1】本学期期末考试进行了三门课程的测试。成绩单下来后,8个室友兄弟要一比高低,这就要得到每个人三门课程的总分和平均分,用C语言实现之。 【例3-2】用while语句求sum=1+2+3+……+100。 分析:求sum=1+2+3+……+100,可以分解成: sum=0; sum=sum+1; sum=sum+2; …… sum=sum+i …… sum=sum+100 所以,可以看成sum=sum+i重复了100次,而i恰好等于1~100 【例3-3】将1~100之间不能被3整除的数输出。 分析:定义变量i其初值为1,验证1是否能被3整除?若不能整除,则输出i,然后将i累加到2,再次验证2是否被被3整除?若不能整除,则输出i,这样一直重复,直到i值100。 do …while语句 (1)一般形式: do {循环体语句组; }while(循环继续条件); (2)执行过程 1) 执行do后面的循环体语句组; 2) 求解while后面的“循环继续条件”,如果其值为非0,则转1);否则转3)。 3) 退出while循环。 求一个小组学生成绩的总分及平均分的程序可改写为: #include stdio.h main() {int score,i,sum=0; float avg; i=1; printf( 请输入本小组10个学生的成绩:); do {scanf(%d,score); sum=sum+score; i=i+1; } while(i=10); avg=sum/10.0; printf(本小组10个学生的总分为:%d\n,sum); printf(本小组10个学生的平均分为:%.2f\n,avg); } [例3-4]将例3-1用do …while语句来改进实现。 求8个室友兄弟每个人三门课程的总分和平均分 #include stdio.h main() {int i; float x,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,平均分%.2f\n,i,sum,avg); i=i+1; } while(i=8); } [例3-5]将例3-2用do …while语句来改进实现。 求sum=1+2+3+……+100。 #include stdio.h main() {int i,sum=0; i=1; do {sum+=i; i++; } while(i=100); printf(“1+2+3+……+100的和为:%d\n”,sum); } [例3-6]将例3-3用do …while语句来改进实现。 将1~100之间不能被3整除的数输出。 #include stdio.h main() {int i; i=1; do {if(i%3!=0)printf(“%3d”,i); i++;} while(i=100); } for语句 (1)一般形式: for(表达式1;表达式2;表达式3) 循环体语句 (2)执行过程 1) 先执行“表达式1”; 2) 然后判别“表达式2”,当“表达式2”的值为真时,则转3);否则转4)。 3) 执行循环体语句组,然后转2) 4) 退出for循环。 求一个小组学生成绩的总分及平均分的程序可改写为: #include stdio.h ma
显示全部
相似文档