5学生成绩的输入输出和处理(循环)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任务分解: 单一科目成绩的输入、输出和处理。

多种科目成绩的输入、输出和处理。
《C语言程序设计》
清华大学出版社
5.1
while语句
第5章
循环结构程序设计
While循环语句的一般形式 while (表达式) 语句;(循环体)
语句运行流程图如下:
假 表达式

循环体
While循环结构执行流程
《C语言程序设计》
《C语言程序设计》
清华大学出版社
5.5

几种循环控制语句的比较
第5章
循环结构程序设计
(1)while语句和for语句是属于先判断循环条件的循环语句,故 循环体有可能一次也不执行,属于当型循环结构。 (2)do-while语句是执行完循环体后,再判断循环条件的循环语 句,循环体至少执行一次,属于直到型循环结构。 (3)循环体至少执行1次时,四种循环都可用来处理同一问题, 可以互相代替。所有循环语句都是在循环条件为真(非0)时才能 执行循环体。
《C语言程序设计》
清华大学出版社
5.1
while语句
第5章
循环结构程序设计
[例5.2] 输入10个学生的C语言课程考试成绩,求总成绩 和平均成绩。
main() { int i,score; int sum; float average; /* average存放平均成绩 */ printf("输入%d个学生的C语言课程考试成绩:\n",10); sum=0; i=0; while(i<10) { scanf("%d",&score); sum=sum+score; i++; }
《C语言程序设计》
清华大学出版社
5.5

几种循环控制语句的比较
第5章
循环结构程序设计

(4)如果循环次数可以在进入循环语句之前确定,使用for语句 较好;在循环次数难以确定时使用while和do-while语句较好。 (5)用while和do-while循环时,循环变量初始化的操作应在whi le和do-while之前完成;而for语句可以在表达式1中实现变量的 初始化。 (6)while和do-while循环,只在while后面指定循环条件,在循 环体中包含应反复执行的操作语句,包括使循环趋于结束的语句。 for循环可以在表达式3中包含使循环趋于结束的操作。
语句运行流程图如下:
循环体 真
表达式
假 do-while循环结构执行流程
《C语言程序设计》
清华大学出版社
5.2 do-while语句
第5章
循环结构程序设计
[例5.3] 利用do-while语句“求1+2+3+„„+99+100 ” 的和
main( ) 运行结果: { 1+2+3....+100=5050 int i, sum=0; i=1; do {sum=sum+i; i++; } while (i<=100); printf("\n1+2+3....+100=%d",sum); }
for语句
第5章
循环结构程序设计
表达式1 假
表达式2
真 循环体 表达式3
for循环结构执行流程
《C语言程序设计》
清华大学出版社
5.3
for语句
第5章
循环结构程序设计
[例5.4] 利用for语句“求1+2+3+„„+99+100 ”的和。
main( ) { 运行结果: int i,sum; 1+2+3....+100=5050 for(i=0,sum=0; i<=100; i++) sum=sum+i; printf("\n1+2+3....+100=%d",sum); }
运行结果: s=15
《C语言程序设计》
清华大学出版社
5.6
break语句和continue语句
第5章
循环结构程序设计
二、continue 语句
contiune语句的一般形式为: continue;
说明: 其执行过程是:如果在循环体语句的执行过程中遇到 并执行了continue语句,那么系统将跳过循环体中剩余的 语句而强制执行下一次循环。与break语句的用法相似,co ntinue语句常与if条件语句一起使用。
《C语言程序设计》
项目5 多人成绩的输入输出和处 理
《C语言程序设计》
清华大学出版社
本章内容要点
• while语句及其应用
• do-while语句及其应用 for语句及其应用 • break和continue语句的应 用。
《C语言程序设计》
清华大学出版社
本章任务
第5章
循环结构程序设计
在实际编程中,常常会利用循环结构重复执 行某些操作。本章要完成的任务是处理一批学生 成绩,要求计算出每个学生总分、平均分、最高 总分、最低总分,并结合选择结构程序设计,按 平均分输出及格人数和不及格人数。
《C语言程序设计》
清华大学出版社
习题
P110
第5章
循环结构程序设计
1.(2) 2.(3)(4) 4.(1)
《C语言程序设计》
清华大学出版社
5.4
goto语句
第5章
循环结构程序设计
goto语句是一种无条件转移语句,一般形式为: goto 语句标号;
如: goto loop;
《C语言程序设计》
清华大学出版社
说明:
“表达式1”一般是是一个赋值表达式, 它用来给循环控制变量 赋初值; “表达式2”一般是一个关系表达式或逻辑表达式,它 决定什么时候退出循环;“表达式3”一般是个算术表达式,定义 循环控制变量每循环一次后按什么方式变化。这三个部分之间用 “;”间隔。
《C语言程序设计》
清华大学出版社
5.3
for语句
《C语言程序设计》
清华大学出版社
5.1 while语句
average=(float)sum/10; /* 求平均成绩 */ printf("总成绩为:%d\n",sum); printf("平均成绩为:%.2f",average); }
第5章
循环结构程序设计
运行结果: 输入10个学生的考试成绩: 82 91 88 70 85 93 67 73 80 77 ↙ 总程序设计》
清华大学出版社
5.3
for语句
第5章
循环结构程序设计
for(i=1;i<N;i++) /* 输入N-1个学生的考试成绩 */ { 运行结果: scanf("%d",&score); 输入10个学生的考试成绩: 82 91 88 70 85 93 67 73 80 77 ↙ sum=sum+score; 最高分为:93 if (score>max) max=score; 最低分为:67 else if (score<min) min=score; 总成绩为:806 } 平均成绩为:80.60 average=(float)sum/N; /* 求平均成绩 */ printf("最高分为:%d\n",max); printf("最低分为:%d\n",min); printf("总成绩为:%d\n",sum); printf("平均成绩为:%.2f",average); }
运行结果: 1+2+3....+100=5050
清华大学出版社
5.4
goto语句
第5章
循环结构程序设计
[例5.8] 利用goto语句跳出循环。
main( ) { int i, sum=0; i=1; 运行结果: 1+2+3....+50=1275 while(i<=100) { sum=sum+i; i++; if (i>50) goto label; } label:printf("\n1+2+3....+50=%d",sum); }
《C语言程序设计》
清华大学出版社
习题
P110
第5章
循环结构程序设计
1.(3) 4.(1)
《C语言程序设计》
清华大学出版社
5.3
for语句
第5章
循环结构程序设计
for语句的一般形式 for (表达式1; 表达式2; 表达式3) 语句(循环体)
for语句最简单的应用形式也是最容易理解的形式 如下: for(循环变量赋初值;循环条件;循环变量增量) 语句(循环体)
《C语言程序设计》
清华大学出版社
习题
P110
第5章
循环结构程序设计
1.(1) 2.(1)(2) 3.(1)(2) 4.(1)
《C语言程序设计》
清华大学出版社
5.2 do-while语句
do-While循环语句的一般形式 do { 语句(循环体) } while (表达式) ;
第5章
循环结构程序设计
《C语言程序设计》
清华大学出版社
5.6
main()
break语句和continue语句
第5章
循环结构程序设计
[例5.10] break语句的应用。
{ int i,s=0; for (i=1;i<100;i++) { if (i>5) break; s=s+i; } printf("s=%d\n",s); }
5.4
main() { int i,s=0; i=1; label : if (i<=100) { s=s+i; i++; goto label; } printf("s=%d\n",s ); }
《C语言程序设计》
goto语句
第5章
循环结构程序设计
[例5.7] 利用goto语句“求1+2+3+„„+99+10 0 ”的和。
《C语言程序设计》
清华大学出版社
5.3
for语句
第5章
循环结构程序设计
解决任务一:单一科目成绩的输入、输出和处理。
[例5.5] 输入10个学生的C语言考试成绩,输出其中的最 高分和最低分,以及本门课程的总成绩和平均成绩。
#define N 10 main() { int i,score; int max,min,sum; /* max和min分别存放最高分和最低分,sum存 放总成绩 */ float average; /* average存放平均成绩 */ printf("输入%d个学生的考试成绩:\n",N); scanf("%d",&score); max=min=score; sum=score;
《C语言程序设计》
清华大学出版社
5.6
break语句和continue语句
第5章
循环结构程序设计
[例5.11] 把100~200之间不能被3和2整除的数输出。 main( ) 运行结果: { 101 103 107 int k=0,n=100; 115 119 121 while(n<=200) 131 133 137 { 145 149 151 161 163 167 n++; if(n%3==0 || n%2==0) continue; 175 179 181 191 193 197 printf("%5d",n); k++; if(k%5==0) printf("\n"); } }
《C语言程序设计》
清华大学出版社
5.6
break语句和continue语句
第5章
循环结构程序设计
一、break语句
break语句的一般形式为: break;
说明: 其执行过程是:在循环语句中如果执行到break语句, 则终止break所在循环的执行,循环体中break语句之后的语 句也不再执行。通常break语句总是与if语句联用,即满足 条件时便跳出循环。
清华大学出版社
5.1 while语句
第5章
循环结构程序设计
[例5.1] 利用while语句“求1+2+3+„„+99+100 ”的 和。
main( ) { int i, sum=0; 运行结果: i=1; 1+2+3....+100=5050 while(i<=100) { sum=sum+i; i++; } printf("\n1+2+3....+100=%d",sum); }
第5章
循环结构程序设计
如: for(i=1; i<=100; i++) sum=sum+i; 先给i赋初值1,判断i是否小于等于100, 若是则执行语 句sum=sum+i,之后值增加1。再重新判断, 直到条件为 假,即i>100时,结束循环。
《C语言程序设计》
清华大学出版社
5.3
语句运行流程图如下:
《C语言程序设计》
清华大学出版社
5.3
for语句
第5章
循环结构程序设计
[例5.6] 检测给定整数是否素数。
main( ) 运行结果: { int i, k, flag; 17↙ 17 is a prime scanf("%d",&k); flag=1; /* 若标志变量flag等于0,k不是素数,若flag不等于0, 则k是数。*/ for ( i=2; i<k; i++ ) /* i循环中分别检测k能否被i整除,i=2, 3„,k-1 */ if ( k%i==0 ) { flag=0; /* k能被i整除,k不是素数,令l=0 */ i=k; /* 令i为k,使i<k不成立,其作用是退出循环 */ } if ( flag==1 ) printf("%d is a prime\n",k); else printf("%d is not a prime\n",k); }
相关文档
最新文档