版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计教案第4章循环结构程序设计授课内容第4章循环结构程序设计任课教师授课形式理实一体任课班级教学方法本节采用以教师为主导,在教学过程中同时采用提问法、讨论法和互动式教学方法。教学重点(1)掌握while循环和do-while循环语句的概念、格式、功能和用法。(2)掌握for循环语句的概念、格式、功能和用法。教学难点(1)while循环和do-while循环语句的理解和运用。(2)break语句和continue语句语句的理解和运用。教学目标教学目标(1)通过两个循环语句的学习,理解循环结构程序的基本思想,掌握循环结构程序的设计方法;通过实例使学生体会算法的基本思想,加强学生逻辑思维能力和推理能力的培养,同时帮助学生掌握更多的编程技巧。(2)通过for循环语句的学习,理解循环结构程序的基本思想,掌握循环结构程序的设计方法;通过实例使学生体会算法的基本思想,加强学生逻辑思维能力和推理能力的培养,同时帮助学生掌握更多的编程技巧。技能目标(1)能熟练运用三种循环语句编写程序。(2)能学会解决具体问题,编写简单的C语言程序。(3)能解决初学者编写程序易犯的错误。素质目标(1)通过编写程序培养学生耐心、细致、有条理的工作作风,通过调试程序培养学生面对问题时具有自信和冷静的心理素质。(2)通过循环语句的学习,增强对学习知识的自信心,日积月累,必有收获。(3)通过编程案例,培养由浅入深的思维方式和反复推敲的习惯。思政目标学以致用、力争上游、规范意识。鼓励学生与正能量的人交往,树立正确的交友观和价值观。软件信息安全、编码规则、规范意识。培养学生持之以恒、百折不挠、不断打磨专业能力的品质和工匠精神。教学步骤及内容教学步骤及内容教学步骤及内容教学步骤及内容教学步骤及内容教学步骤及内容教学步骤及内容:教学过程:复习旧课导出新课二、讲授新课4.1循环程序结构4.1.1while循环循环是指使用一定条件对同一个程序段重复执行若干次。循环体是指被重复执行的部分(可能由若干语句组成)。while语句一般格式如下:while(表达式)语句其中,“表达式”是循环条件,“语句”是循环体,既可以是一个简单语句,也可以是复合语句。while语句是“先判断,后执行”。即首先计算条件表达式的值,如果表达式的值为非0(真),则执行循环体语句;重复上述操作,直到表达式的值为0(假)时才结束循环。如果刚进入循环时条件就不满足,则循环体一次也不执行。4.1.2do-while循环do-while语句一般格式如下:do循环体语句while(表达式);首先执行循环体中的语句一次,然后计算表达式的值,若为真(非0)则继续执行循环体,再计算表达式的值,当表达式的值为假(0)时,终止循环,执行do…while语句后的下一条语句。4.1.3for循环for语句一般格式如下:for(表达式1;表达式2;表达式3) 循环体语句其中,表达式1称为初始化表达式,用于给出循环初值;表达式2称为条件表达式,用于给出循环条件;表达式3称为修正表达式,用来控制变量的变化,多数情况下为自增或自减表达式,实现对循环变量值的修正。它是在执行完循环体后才执行的。因此,for语句可以理解为:for(循环变量赋初值1;循环条件;修正循环变量) {循环体语句}for语句的执行过程如下:(1)首先计算表达式1的值。(2)再计算表达式2的值,若值为真(非0),则执行循环体一次,否则跳出循环。(3)然后再计算表达式3的值,转回第2步重复执行。在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次。循环体可能多次执行,也可能一次都不执行。4.2循环的嵌套和特殊控制语句4.2.1循环的嵌套循环的嵌套是指一个循环体内又包含另一个完整的循环结构,也称多重循环。内嵌的循环中还可以嵌套循环,形成多重循环。一个循环的外面包含一层循环称为双重循环。for语句、while语句、do-while语句本身可以嵌套,也可以相互嵌套,自由组合,构成多重循环。但需要注意的是,各个循环必须完整包含,相互直接绝对不允许有交叉现象。(1)for(){ …while(){…}…}(2)do{ … for() {…}…}while();(3)while(){ … for() {…} …}(4)for(){ …`for(){…} }4.2.2三种循环语句的比较(1)while语句和for语句都是先判断后循环,而do-while语句是线循环后判断。do-while语句循环要执行一次循环体,而while语句和for语句在循环条件不成立时,循环体一次也不执行。(2)while语句和do-while语句的表达式只有一个,控制循环结束的作用,循环变量的初值等都用其他语句完成;for语句可有三个表达式,不仅有控制循环结束的作用,还可给循环变量赋初值。(3)三种循环都能嵌套,而且它们之间还能混合嵌套。(4)三种循环都能用break结束循环,用continue开始下一次循环。(5)对于同一问题,三种语句均可解决,但方便程度视具体情况而异。4.2.3特殊控制语句1.break语句break语句只能用在循环语句和多分支选择结构switch语句中,当break语句用于switch语句中时,可使程序跳出switch语句而继续执行switch语句下面的一个语句;当break语句用于while语句、do…while语句和for循环语句中时,可用于从循环体内跳出,即使程序提前结束当前循环,转而执行该循环语句的下一个语句。break语句一般格式如下:break;break语句对于减少循环次数,加快程序执行起着重要的作用。2.continue语句continue语句的作用为结束本次循环,即跳过循环体中尚未执行的语句,接着进行循环条件的判定。continue语句的一般格式如下:continue;4.3结构化程序设计思想4.3.1结构化程序设计方法一个结构化程序就是用高级语言表示的结构化算法。用3种基本结构组成的程序必然是结构化的程序,这种程序便于编写、阅读、修改和维护,可以减少程序出错的机会,提高程序的可靠性,保证程序的质量。结构化程序设计强调程序设计的风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。具体来说就是采取自顶向下、逐步细化、模块化设计和结构化编码来保证得到结构化的程序。4.3.2结构化程序设计优点(1)结构化构造减少了程序的复杂性,提高了可靠性、可测试性和可维护性。(2)使用少数基本结构,使程序结构清晰,易读易懂。(3)容易验证程序的正确性。4.4常见错误分析4.4.1忘记给变量赋初值在计算累加或阶乘问题时,初学者很容易忘记给变量赋一个合理的初值。4.4.2大括号不匹配由于各种控制结构的嵌套,有些左右大括号相距可能较远,这就可能会忘掉右侧的大括号而造成大括号不匹配。4.4.3while语句后面多加分号使用while语句时,初学者容易给while语句后多加分号。}错误分析:编译过程中没有任何报错信息,但是程序不能输出结果,是因为while(i<=10);多加了分号,相当于一条空语句,条件成立,程序不执行任何操作。4.4.4for语句表达式之间使用逗号使用for语句时,初学者容易将for语句括号内的表达式式用分号隔开。4.5循环结构程序设计应用实战4.5.1实战背景2013年1月16日,北京一个名为“IN_33”的团体发起“光盘行动”的公益活动。“光盘行动”的宗旨是:餐厅不多点、食堂不多打、厨房不多做,倡导厉行节约,反对铺张浪费,引导大家珍惜粮食,制止餐饮浪费行为。活动一经提出,就得到社会各方的大力支持。在2018年世界粮食日,光盘打卡应用系统在清华大学正式发布。参与者用餐后手机拍照打卡,经由人工智能识别为“光盘”后可获得积分奖励,通过这种奖励的方式逐步引导人们养成节约的习惯,让中华民族勤俭节约的传统美德在新时代发扬光大。4.5.2实战目的(1)掌握for语句实现循环结构程序设计的方法。(2)理解多分支选择结构和for语句的执行过程。4.5.3实战内容“光盘行动餐饮系统”是一个具有点餐、进餐和结算功能的建议系统。在“点餐”功能模块中,根据人数点餐,每人限点1份。在“进餐”功能模块中,通过显示语句进行模拟。在“结算”功能模块中,模拟AI机器人,通过扫描盘中剩余食品克数进行费用计算:如果总剩余量小于或等于50g,则总餐费打七折;如果总剩余量小于或等于100g,则总餐费打八折;如果总剩余量小于或等于150,则总餐费打九折;如果总剩余量大于150,则总餐费为应付餐费的1.5倍。4.5.4实战过程#include<stdio.h>intmain(){ inti,num,money=0,time=15,residus; floatprice,total=0,pay=0; charfood; printf("欢迎光临<<节约光荣,浪费可耻>>餐馆,本餐馆实行'光盘行动',请大家遵守以下规则:\n"); printf("1.根据人数进行点餐,每人限点餐1份。\n"); printf("2.进餐时间为人数*15分钟。\n"); printf("3.根据剩余食品克数进行收费:\n"); printf("****如果总剩余量小于或等于50g,则总餐费打七折****\n"); printf("****如果总剩余量小于或等于100g,则总餐费打八折****\n"); printf("****如果总剩余量小于或等于150,则总餐费打九折****\n"); printf("****如果总剩余量大于150,则总餐费为应付餐费的1.5倍。\n"); printf("光盘行动,从我做起!\n"); printf("请输入进餐人数:"); scanf("%d",&num); /*输入进餐人数*/ printf("请点餐%d份,注意荤素搭配!\n",num); for(i=1;i<=num;i++) { printf("请输入您的第%d份餐品:",i); scanf("%s",&food); /*输入餐品的名称*/ printf("请服务员报价:"); scanf("%f",&price); /*输入餐品的价格*/ total=total+price; } printf("您一共消费%.1f元\n",total); time=num*15; /*计算进餐的时间*/ printf("现在是您的用餐时间,时间为%d分钟。\n",time); printf("======进餐中...======\n"); printf("现在请AI机器人扫描您盘中剩余食物:\n"); printf("请AI机器人报剩余食物克数:"); scanf("%d",&residus); /*输入剩余食物的克数*/ if(residus>=0&&residus<=50) /*剩余食物的克数小于等于50*/ pay=total*0.7; elseif(residus>50&&residus<=100) /*剩余食物的克数小于等于100*/ pay=total*0.8; elseif(residus>100&&residus<=150) /*剩余食物的克数小于等于150*/ pay=total*0.9; elseif(residus>150) /*剩余食物的克数大于150*/ pay=total*1.5; printf("您最终需要支付%.1f元\n",pay); printf("感谢您为光盘行动做的贡献,欢迎下次光临!"); return0;}4.5.5实战意义本案例模拟“光盘行动”号召下的餐饮系统,综合前面所学知识进行设计和模拟。通过案例,可以很好地理解和掌握数据类型和程序控制结构。当然,该案例所实现功能较为简单,但是随着后续知识的学习,可以实现更复杂、更真实的餐饮系统。“历览前贤国与家,成由勤俭破由奢。”尽管现在的物质资源逐渐丰富,但勤俭节约的观念和习惯仍未过时,也绝不能丢,必
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版智慧城市建设项目投资入股协议书范本3篇
- 2025年度工钱垫付与劳动保障政策执行协议范本2篇
- 2025版国际能源合作习协议书3篇
- 2025版小麦种子进出口贸易合同样本3篇
- 2025年度个人房屋买卖绿色环保协议3篇
- 2025-2030全球一次性使用2D储液袋行业调研及趋势分析报告
- 2025年全球及中国湿式无线远传智能水表行业头部企业市场占有率及排名调研报告
- 2024年秋季江苏七年级入学分班考试语文模拟卷2(解析版)
- 2024年煤矿安全生产知识竞赛题库及答案(共80题)
- 2025版新能源汽车租赁与保险代理服务合同3篇
- 2024版塑料购销合同范本买卖
- 2024-2025学年人教新版高二(上)英语寒假作业(五)
- JJF 2184-2025电子计价秤型式评价大纲(试行)
- GB/T 44890-2024行政许可工作规范
- 2024年安徽省中考数学试卷含答案
- 2025届山东省德州市物理高三第一学期期末调研模拟试题含解析
- 2024年沪教版一年级上学期语文期末复习习题
- 两人退股协议书范文合伙人签字
- 2024版【人教精通版】小学英语六年级下册全册教案
- 汽车喷漆劳务外包合同范本
- 微项目 探讨如何利用工业废气中的二氧化碳合成甲醇-2025年高考化学选择性必修第一册(鲁科版)
评论
0/150
提交评论