C语言 学生成绩分等级及分组汇总

上传人:ldj****22 文档编号:51936887 上传时间:2018-08-17 格式:PPT 页数:51 大小:293KB
返回 下载 相关 举报
C语言 学生成绩分等级及分组汇总_第1页
第1页 / 共51页
C语言 学生成绩分等级及分组汇总_第2页
第2页 / 共51页
C语言 学生成绩分等级及分组汇总_第3页
第3页 / 共51页
C语言 学生成绩分等级及分组汇总_第4页
第4页 / 共51页
C语言 学生成绩分等级及分组汇总_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《C语言 学生成绩分等级及分组汇总》由会员分享,可在线阅读,更多相关《C语言 学生成绩分等级及分组汇总(51页珍藏版)》请在金锄头文库上搜索。

1、项目三 学生成绩分等级及分 组汇总项目要点: if表达式 switch表达式 for循环语句 break及continue语句学习目标: if语句及条件运算符的使用方法 三种循环语句的使用 break及continue语句的使用方法工作任务导入工作任务一个小组有成员若干人,数学期末考试成绩 出来了,要求寻找最高分和最低分,并对每个学 生的成绩进行等级评定,最后统计这一组学生的 成绩总分及平均分引导问题 1、学生成绩如何比较,如何设置最大值与最小值 2、成绩等级如可评定 3、各种循环语句有何区别,该如何选择使用 4、break及continue语句是如何实现转移控制的 任务1 寻找最大值与最小值

2、 3.1.1 三种基本控制结构三种基本结构:顺序结构、分支结构、循环结构 S1S2 S2S1条 件S1条件(a)顺序结构 (b)选择结构 (c)循环结构图3.1 三种基本控制结构流程图任务1 寻找最大值与最小值 3.1.1 三种基本控制结构w 结构化程序设计w 基本思想:任何程序都可以用三种基本结构 表示, w 结构化程序:由三种基本结构反复嵌套构成 的程序。 w 优点:结构清晰,易读,提高程序设计质量 和效率。任务1 寻找最大值与最小值 3.1.2 if语句输入两个整数,输出其中的较大数 void main( ) int a,b,max;printf(“n input two numbers

3、:”);scanf(“%d%d“,else printf(“max=%dn“,b);任务1 寻找最大值与最小值 3.1.2 if语句w 形式3:if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else 语句n;表达式1语句1!=0=0表达式2表达式3语句n语句3语句2!=0!=0=0=0任务1 寻找最大值与最小值 3.1.2 if语句void main( ) char c;printf(“input a character: ”);c=getchar( );if(c=0 编程:输入一个字符,判别它是否为大写字母,如果是,将转 换成小写字母,如果不是,

4、则不转换,然后输出得到的字符。 main( ) char ch , c;scanf(“%c” , if(chAchZ)cch+32;else cch ; printf(“ %c” , c); 条件语句部分用下面的条件表达式来代替:c chAchZ? ch+32:ch 练习小组成员3人参与数学期末考试,要 求寻找最高分和最低分。任务2 将学生成绩分等级教师对全班同学的一次考试成绩进 行百分制评分,输出对应的等级分。共 分A、B、C、D、E五个等级。90分以上为 A,81-89分为B,70-79分为C,60-69分 为D,60分以下为E。 。 3.2.1 switch语句 (不带break语句)一

5、般形式为: switch(表达式) case 常量表达式1: 语句1; case 常量表达式2: 语句2; . case 常量表达式n: 语句n; default : 语句n+1; 例3.7 从键盘输入一个数字,则输出 一个英文单词。 void main( ) int a;printf(“input integer number: “);scanf(“%d“,break;case 2:printf(“Tuesdayn“); break;case 3:printf(“Wednesdayn“);break;case 4:printf(“Thursdayn“);break;case 5:printf

6、(“Fridayn“);break;case 6:printf(“Saturdayn“);break;case 7:printf(“Sundayn“);break;default:printf(“errorn“); 任务2 将学生成绩分等级练习编程:运输公司对用户计算运费。路程(s)越远, 每公里运费越低。标准如下:s=3000 15%折扣 设每公里每吨货物的基本运费为p,货物重为w,距离 为s,折扣为d,则总运费的计算公式为:f=p*w*s*(1-d) 3.2.3 switch语句使用注意事项(1) 在每个case后的各常量表达式的值应互不能相同,否则会出现错误。(2) 在每个case后允许

7、有多个语句,可以不用 括起来。(3) 许多个case共用一个语句序列。(4) 如果每个case中都有break语句,那么case和default出现的次序不会影响程序的运行结果。(5) default子句可以省略不用。(6) 字符常数出现在case中,它们会自动转换成整型。(7) switch可以嵌套使用,要求内层的switch必须完全包含在外层的某个case中,内、外层switch的case中含有相同的常数,不会引起误会。(8) switch语句只能进行相等性检查,而if不但可进行相等性检查,还可以计算关系或逻辑表达式。因此switch语句不能完全替代if语句。任务2 将学生成绩分等级练习1

8、、编程:用户输入运算数和四则运算符,输出计 算结果。 2、本任务对某位同学的一次考试成绩进行百分 制评分,共分A、B、C、D、E五个等级,90分以 上为A,8089分为B,7079分为C 、6069分为D,60分以下为E。 任务3 统计一组学生的总分及平均分数学期末考试成绩出来了,一个小组有 成员10人,要求计算这一组的成绩总分与 平均分,并按要求输出。3.3.1 for语句的一般形式为:for(表达式1;表达式2;表达3) 语句; 表达式1: 通常用来给循环变量 赋初值,一般是赋值表达式,也允 许在for语句外给循环变量赋初值 ,此时可以省略该表达式。 表达式2: 通常是循环条件,一 般为关

9、系表达式或逻辑表达式。 表达式3: 通常可用来修改循环 变量的值,一般是赋值语句。 语句: 为循环体语句。表达式1表达式3表达式 2?语句YN任务3 统计一组学生的总分及平均分问题3.10 用for语句计算s=1+2+3+99+100void main( ) int n,s=0;for(n=1;n0;a+,n-)printf(“%d “,a*2);任务3 统计一组学生的总分及平均分练习1、编程:从0开始,输出n个连续的偶数 。 for语句使用注意事项在循环变量已赋初值时,可省去表达式1,如例3.11即属于这种情形。for语句中的各表达式都可省略,但分号间隔符不能少。 如:for(;表达式;表达

10、式)省去了表达式1。for(表达式;表达式)省去了表达式2。for(表达式;表达式;)省去了表达式3。for(;)省去了全部表达式。如省去表达式2或表达式3则将造成无限循环, 这时应在循环体内设法结束循环任务3 统计一组学生的总分及平均分循环体可以是空语句。#include void main( ) int n=0;printf(“input a string:n“);for(;getchar()!=n;n+);printf(“%d“,n);3.3.2 while语句的一般形式while(表达式) 语句; 其中:表达式是循环条件,语句为循环体。 表达式?循环体语句0 =0 任务3 统计一组学生

11、的总分及平均分统计从键盘输入一行字符的个 数。void main( ) int n=0;printf(“input a string:n“);while(getchar()!=n) n+;printf(“%d“,n); 3.3.2 while语句表达式?循环体语句0 =0 while循环计算1加到100main() int n=1,s=0;while(n=100) s=s+n;n+; printf(“s=%d”,s);练习1、编程:统计从键盘输入一行字符的个数 。3.3.2 while语句使用注意事项 循环体如包括有一个以上的语句,则必须用 括 起来,组成复合语句。 应注意循环条件的选择以避免

12、死循环。 允许while语句的循环体又是while语句、for语句 或do-while语句,从而形成多重循环(循环的嵌套 使用参见3.5节)。while语句中的表达式一般是关系表达或逻辑表 达式,只要表达式的值为真(非0)即可继续循环。3.3.2 while语句使用注意事项 while语句的应用 void main( ) int a=0,n;printf(“n input n: “);scanf(“%d“, void main( ) int a,n=0;while(a=5)printf(“%d “,n+); 表达式?循环体语句0 =0 图3.6 while语句 流程图3.3.3 do-whil

13、e语句的一般形式其中:语句是循环体,表达式是循环条件。do语句; while(表达式); 任务3 统计一组学生的总分及平均分do-while语句的应用(改写程序)。 void main( ) int a=0,n;printf(“n input n: “);scanf(“%d“,do s=s+n;n+;while(n=100);printf(“s=%d”,s);3.3.3 do-while语句3.3.3 do-while语句使用注意事项在if语句,while语句中,表达式后面都不能加分号 ,而在 do-while语句的表达式后面则必须加分号。do-while语句也可以组成多重循环,而且也可以和

14、while语句相互嵌套。在do和while之间的循环体由多个语句组成时,也必 须用 括起来组成一个复合语句。do-while和while语句相互替换时,要注意修改循环 控制条件。练习1、编程:计算一组的成绩总分与平均分,并 按要求输出各种等级的人数。可分别使用for 语句、while语句、do-while语句来实现。4种转移语句: break、continue、return和goto。break语句的一般形式为:break; 功能:跳出switch语句或跳出本层循环,转去执 行后面的程序。 注:只能使用在switch语句或循环体语句中。3.4.1 break语句 任务4 任务拓展输入一个整数,

15、判断该数是否 为素数(质数)。void main() int i,n; scanf(“%d“, for(i=2;in;i+)if(n%i=0)break; if(i=n)printf(“YES!“);else printf(“NO!“); 练习: 输出100以内的素数 3.4.1 break语句 continue语句的一般形式为:continue; 功能:结束本次循环,不再执行循体中continue 语句之后的语句,转入下一次循环条件的判断和 执行。 注:只能使用循环体中。 只结束本层本次循环,并不跳出循环。3.4.2 continue语句 输出100以内能被7整除的数。void main( ) int n;for(n=7;n=100;n+) if (n%7!=0) continue;printf(“%d ”,n);3.4.2 continue语句 练习: 打印100以内个位数为6 且能被3整除的所有数。3.4.3 goto语句一般格式如下:goto 语句标号; 统计从键盘输入一行字符的个数。 #include“stdio.h“ void main( ) int n=0;printf(“input a stringn“);loop: if(getchar()!=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号