已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目三学生成绩分等级及分组汇总 项目要点 if表达式switch表达式for循环语句break及continue语句学习目标 if语句及条件运算符的使用方法三种循环语句的使用break及continue语句的使用方法 工作任务导入 工作任务一个小组有成员若干人 数学期末考试成绩出来了 要求寻找最高分和最低分 并对每个学生的成绩进行等级评定 最后统计这一组学生的成绩总分及平均分引导问题1 学生成绩如何比较 如何设置最大值与最小值2 成绩等级如可评定3 各种循环语句有何区别 该如何选择使用4 break及continue语句是如何实现转移控制的 任务1寻找最大值与最小值 3 1 1三种基本控制结构 三种基本结构 顺序结构 分支结构 循环结构 S2 S1 条件 a 顺序结构 b 选择结构 c 循环结构 图3 1三种基本控制结构流程图 任务1寻找最大值与最小值 3 1 1三种基本控制结构 结构化程序设计基本思想 任何程序都可以用三种基本结构表示 结构化程序 由三种基本结构反复嵌套构成的程序 优点 结构清晰 易读 提高程序设计质量和效率 任务1寻找最大值与最小值 3 1 2if语句 输入两个整数 输出其中的较大数voidmain inta b max printf ninputtwonumbers scanf d d a b max a if max b max b printf max d max 形式1 if 表达式 语句 main inta 2 b 3 c 4 if a b c a printf d c 3 任务1寻找最大值与最小值 3 1 2if语句 形式2 if 表达式 语句1 else语句2 例3 2输入两个整数 输出其中的较大数 main inta b printf inputtwonumbers scanf d d 任务1寻找最大值与最小值 3 1 2if语句 形式3 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 else语句n 任务1寻找最大值与最小值 3 1 2if语句 voidmain charc printf inputacharacter c getchar if c 0 c A c a c z printf Thisisasmallletter n elseprintf Thisisanothercharacter n 任务1寻找最大值与最小值 3 1 2if语句 练习 输入一个年份 判断是否为闰年 是闰年输出为 isaleapyear 否则输出为 isn taleapyear 任务1寻找最大值与最小值 3 1 2if语句 注意 在三种形式的if语句中 在if关键字之后均为表达式 该表达式通常是逻辑表达式或关系表达式 但也可以是其它表达式 如赋值表达式等 甚至也可以是一个变量 main inta 2 b 3 if a b printf d a if 3 printf OK if a printf d a 3OK97 任务1寻找最大值与最小值 3 1 3if语句使用注意事项 在if语句中 条件判断表达式必须用括号括起 在语句之后必须加分号 在if语句的三种形式中 所有的语句应为单个语句 如果要想在满足条件时执行一组 多个 语句 则必须把这一组语句用 括起来组成一个复合语句 但要注意的是在 之后不能再加分号 例如 if a b a b else a 0 b 10 任务1寻找最大值与最小值 3 1 3if语句使用注意事项 任务1寻找最大值与最小值 3 1 4条件运算符和条件表达式 条件运算符 三目运算符条件表达式 由条件运算符组成条件表达式表达式1 表达式2 表达式3条件运算符不能分开单独使用 配套使用 例如 if a b max a elsemax b 可用条件表达式写为max a b a b max a b a b 编程 输入一个字符 判别它是否为大写字母 如果是 将转换成小写字母 如果不是 则不转换 然后输出得到的字符 main charch c scanf c if ch A ch Z c ch 32 elsec ch printf c c 条件语句部分用下面的条件表达式来代替 c ch A ch Z 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 1switch语句 不带break语句 一般形式为 switch 表达式 case常量表达式1 语句1 case常量表达式2 语句2 case常量表达式n 语句n default 语句n 1 例3 7从键盘输入一个数字 则输出一个英文单词 voidmain inta printf inputintegernumber scanf d a switch a case1 printf Monday n case2 printf Tuesday n case3 printf Wednesday n case4 printf Thursday n case5 printf Friday n case6 printf Saturday n case7 printf Sunday n default printf error n 任务2将学生成绩分等级 3 2 2switch语句 带break语句 一般形式为 switch 表达式 case常量表达式1 语句1 break case常量表达式2 语句2 break case常量表达式n 语句n break default 语句n 1 break voidmain inta printf inputintegernumber scanf d 任务2将学生成绩分等级 练习 编程 运输公司对用户计算运费 路程 s 越远 每公里运费越低 标准如下 s 300015 折扣设每公里每吨货物的基本运费为p 货物重为w 距离为s 折扣为d 则总运费的计算公式为 f p w s 1 d 3 2 3switch语句使用注意事项 1 在每个case后的各常量表达式的值应互不能相同 否则会出现错误 2 在每个case后允许有多个语句 可以不用 括起来 3 许多个case共用一个语句序列 4 如果每个case中都有break语句 那么case和default出现的次序不会影响程序的运行结果 5 default子句可以省略不用 6 字符常数出现在case中 它们会自动转换成整型 7 switch可以嵌套使用 要求内层的switch必须完全包含在外层的某个case中 内 外层switch的case中含有相同的常数 不会引起误会 8 switch语句只能进行相等性检查 而if不但可进行相等性检查 还可以计算关系或逻辑表达式 因此switch语句不能完全替代if语句 任务2将学生成绩分等级 练习 1 编程 用户输入运算数和四则运算符 输出计算结果 2 本任务对某位同学的一次考试成绩进行百分制评分 共分A B C D E五个等级 90分以上为 A 80 89分为 B 70 79分为 C 60 69分为 D 60分以下为 E 任务3统计一组学生的总分及平均分 数学期末考试成绩出来了 一个小组有成员10人 要求计算这一组的成绩总分与平均分 并按要求输出 表达式1 通常用来给循环变量赋初值 一般是赋值表达式 也允许在for语句外给循环变量赋初值 此时可以省略该表达式 表达式2 通常是循环条件 一般为关系表达式或逻辑表达式 表达式3 通常可用来修改循环变量的值 一般是赋值语句 语句 为循环体语句 任务3统计一组学生的总分及平均分 问题3 10用for语句计算s 1 2 3 99 100voidmain intn s 0 for n 1 n 100 n s s n printf s d n s 从0开始 输出n个连续的偶数voidmain inta 0 n printf ninputn scanf d n for n 0 a n printf d a 2 任务3统计一组学生的总分及平均分 练习 1 编程 从0开始 输出n个连续的偶数 for语句使用注意事项 在循环变量已赋初值时 可省去表达式1 如例3 11即属于这种情形 for语句中的各表达式都可省略 但分号间隔符不能少 如 for 表达式 表达式 省去了表达式1 for 表达式 表达式 省去了表达式2 for 表达式 表达式 省去了表达式3 for 省去了全部表达式 如省去表达式2或表达式3则将造成无限循环 这时应在循环体内设法结束循环 任务3统计一组学生的总分及平均分 循环体可以是空语句 includevoidmain intn 0 printf inputastring n for getchar n n printf d n 3 3 2while语句的一般形式 while 表达式 语句 其中 表达式是循环条件 语句为循环体 任务3统计一组学生的总分及平均分 统计从键盘输入一行字符的个数 voidmain intn 0 printf inputastring n while getchar n n printf d n 3 3 2while语句 while循环计算1加到100main intn 1 s 0 while n 100 s s n n printf s d s 练习 1 编程 统计从键盘输入一行字符的个数 3 3 2while语句使用注意事项 循环体如包括有一个以上的语句 则必须用 括起来 组成复合语句 应注意循环条件的选择以避免死循环 允许while语句的循环体又是while语句 for语句或do while语句 从而形成多重循环 循环的嵌套使用参见3 5节 while语句中的表达式一般是关系表达或逻辑表达式 只要表达式的值为真 非0 即可继续循环 3 3 2while语句使用注意事项 while语句的应用voidmain inta 0 n printf ninputn scanf d voidmain inta n 0 while a 5 printf d n 3 3 3do while语句的一般形式 其中 语句是循环体 表达式是循环条件 do 语句 while 表达式 任务3统计一组学生的总分及平均分 do while语句的应用 改写程序 voidmain inta 0 n printf ninputn scanf d n do printf d a 2 while n Do while循环计算1加到100main intn 1 s 0 do s s n n while n 100 printf s d s 3 3 3do while语句 3 3 3do while语句使用注意事项 在if语句 while语句中 表达式后面都不能加分号 而在do while语句的表达式后面则必须加分号 do while语句也可以组成多重循环 而且也可以和while语句相互嵌套 在do和while之间的循环体由多个语句组成时 也必须用 括起来组成一个复合语句 do while和while语句相互替换时 要注意修改循环控制条件 练习 1 编程 计算一组的成绩总分与平均分 并按要求输出各种等级的人数 可分别使用for语句 while语句 do while语句来实现 4种转移语句 break continue return和goto break语句的一般形式为 break 功能 跳出switch语句或跳出本层循环 转去执行后面的程序 注 只能使用在switch语句或循环体语句中 3 4 1break语句 任务4任务拓展 输入一个整数 判断该数是否为素数 质数 voidmain inti n scanf d 练习 输出100以内的素数 3 4 1break语句 continue语句的一般形式为 continue 功能 结束本次循环 不再执行循体中continue语句之后的语句 转入下一次循环条件的判断和执行 注 只能使用循环体中 只结束本层本次循环 并不跳出循环 3 4 2continue语句 输出100以内能被7整除的数 voidmain intn for n 7 n 100 n if n 7 0 continue printf d n 3 4 2continue语句 练习 打印100以内个位数为6且能被3整除的所有数 3 4 3goto语句 一般格式如下 goto语句标号 统计从键盘输入一行字符的个数 include stdio h voidmain intn 0 printf inputastring n loop if getchar n n gotoloop printf d n 3 4 4if语句的嵌套 if else配对原则 缺省 时 else总是和它上面离它最近的未配对的if配对 例 if a b if b c printf a b c elseprintf a b 修改 if a b if b c printf a b c elseprintf a b 实现if else正确配对方法 加 3 4 4if语句的嵌套 for语句可以嵌套使用 循环的嵌套是指一个循环的循环体中包含了另一个循环 构成多重循环 例3 14for的二重循环的使用 打印6以内的乘法表 main inti j for i 1 i 6 i for j j i j printf d d 2d i j i j printf n 1 1 12 1 22 2 43 1 33 2 63 3 94 1 44 2 84 3 124 4 165 1 55 2 105 3 155 4 205 5 256 1 66 2 126 3 186 4 246 5 306 6 36 3 4 5for语句的嵌套 for的三重循环的使用 找出所有的三位数 它和它的各位数字的立方和正好相等 例如 153 13十53十33所以 153就是满足条件的三位数 分析 设所求的三位数 其百位数字是i 十位数字是j 个位数字是k 显然应满足 i i i j j j k k k 100 i 10 j k 程序如下 main inti j k for i 1 i 9 i for j 0 j 9 j for k 0 k 9 k十十 if i i i j j j k k k 100 i 10 j k printf d d d i j k 程序运行结果为15337
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出国劳务协议书范本
- 机车销售合约协议书
- bim签订合同范本
- 来宾象州县公安消防大队征召合同制消防员易考易错模拟试题(共500题)试卷后附参考答案
- 出售林木砍伐协议书
- 农业用电安全协议书
- 广州市荔湾区岭南街安监中队招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 广州城建开发设计院限公司2025年下半年招考易考易错模拟试题(共500题)试卷后附参考答案
- 广东广州龙津街道招聘垃圾分类专职督导员易考易错模拟试题(共500题)试卷后附参考答案
- 广东人民政府驻成都办事处2025年下半年招考人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025湖南长沙浏阳市城乡发展集团有限责任公司招聘12人笔试考试备考试题及答案解析
- 建设银行招聘面试题及答案
- 2025年酒店应聘笔试题目及答案
- GB/T 14746-2025儿童骑行及活动用品安全儿童自行车
- 2025年护理管理试题及答案
- 2025解读NCCN临床实践指南:腹膜间皮瘤(2026.v1)课件
- 济南医学发展集团有限公司招聘22人考试笔试模拟试题及答案解析
- 中考体育学生考前培训
- 2025年小学四年级数学上学期期中测试
- 2025中国电子系统工程第二建设有限公司春季校园招聘笔试历年常考点试题专练附带答案详解试卷2套
- 粉笔线上协议班 合同
评论
0/150
提交评论