版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务3.1华氏温度与摄氏温度的转换主讲:陈静目录教学目标与重难点顺序结构基础概念顺序结构程序示例温度转换任务实施教学总结0102030405教学目标与重难点01教学目标知识目标1.理解顺序结构的执行流程与特点,掌握"输入—计算—输出"的程序设计基本模式。2.掌握算术运算符的使用,能将数学公式正确转换为C语言表达式。3.掌握float/double浮点型变量的定义、输入(%lf)与格式化输出(%.2f)方法。能力目标1.能运用顺序结构设计"输入—计算—输出"三步式程序,合理安排语句执行顺序。2.能将温度转换等数学公式转化为C语言表达式,正确使用算术运算符完成计算。3.能独立完成华氏温度与摄氏温度转换程序的编写、编译与调试,确保计算结果准确。素养目标1.培养"融通中西"的开放视野,理解并尊重不同国家的计量习惯与文化差异。2.树立"学以致用"的实践意识,能将数学知识转化为程序解决生活实际问题。3.学习李道增院士严谨务实、兼容并蓄的工作态度,培养国际化背景下的职业素养。树立“学以致用”的实践意识教学重难点教学重点顺序结构的执行流程语句按书写顺序依次执行,自上而下逐行运行,程序流程与代码书写顺序完全一致"输入—计算—输出"三步曲程序设计的基本方法:先获取数据,再进行运算处理,最后输出结果数学公式到C语言表达式的转换掌握温度转换等数学公式的程序实现技巧,正确书写算术表达式教学难点语句顺序对执行结果的影响深入理解代码书写顺序决定执行顺序,顺序错误将导致计算结果错误浮点数类型的输入输出格式正确处理%f、%lf等格式控制符,确保浮点数精度与显示格式准确无误变量定义、赋值、运算的顺序确保先定义后使用、先赋值后运算的顺序正确性,避免未定义错误顺序结构基础概念02什么是顺序结构程序语句按代码出现顺序依次执行,无跳转、分支或重复从第一个可执行语句开始程序入口点,顺序结构的起点逐条执行后续语句自上而下,依次推进,不跳跃直到最后一条语句执行完毕程序正常结束,流程完成类比理解如同按照时间顺序记录的日记,一页接着一页连续翻阅顺序结构的核心特点语句顺序的重要性语句的先后顺序直接影响程序的执行结果若将计算语句放在变量定义之前,会导致编译错误变量定义与使用规则必须先定义变量,然后才能为其赋值或参与运算未定义的变量无法被编译器识别,会导致"未声明的标识符"错误函数调用顺序函数使用前需要先声明或定义若自定义函数放在main函数之后,需要在main函数之前进行声明课堂互动:语句顺序判断问题情境:观察代码片段sum=a+b;inta,b,sum;a=10;b=20;思考问题这段代码的执行顺序是什么?会出现什么问题?为什么?如何修正才能正确执行?正确顺序1定义变量→2赋值→3计算→4输出核心判断:顺序错误变量在使用后才定义,导致编译失败。顺序结构要求语句按逻辑先后依次执行顺序结构程序示例03示例:两数求和inta,b,sum;a=10;b=20;sum=a+b;printf(“%d”,sum);return0;
定义整型变量a、b、sum为变量a赋值10,为变量b赋值20计算a+b的结果,赋给sum通过printf函数输出计算结果执行return0,程序正常结束程序功能计算两个整数的和,演示顺序结构的基本执行流程执行特点所有语句严格按照书写顺序依次执行,自上而下、逐行推进,无分支跳转、无循环往复,是顺序结构最典型的特征学生实训任务一时间要求:10分钟计算圆的面积输入半径输入圆的半径(浮点数)计算公式面积=3.14159×
半径
×
半径输出结果输出圆的面积,保留两位小数定义变量定义float类型变量存储半径和面积获取输入使用scanf获取用户输入执行计算按照公式计算面积格式化输出使用printf输出结果温度转换任务实施04任务导入:为什么需要温度转换2种温度计量体系华氏/摄氏1步转换公式复杂度线性运算出国旅游或学习很多国家使用华氏温度作为温度计量单位我国使用习惯我国习惯使用摄氏温度快速适应需求需要快速适应不同国家的温度表达方式输入华氏温度自动计算对应摄氏温度快速实现转换温度单位一键转换转换公式摄氏温度=(华氏温度-32)×5/9任务分析实施步骤数据类型选择1定义变量存储华氏温度和摄氏温度2获取输入使用scanf函数读取华氏温度3执行计算按公式计算对应的摄氏温度4输出结果显示转换结果,保留两位小数5验证运行确保语句顺序正确,程序正常编译运行double类型存储温度值,保证计算精度输入格式符%lf—读取double类型数据输出格式符%.2f—保留两位小数输出程序实现核心代码结构doublefahrenheit,celsius;定义变量:声明双精度浮点型变量存储华氏温度和摄氏温度printf("请输入华氏温度:");输入提示:向用户显示输入提示信息scanf("%lf",&fahrenheit);获取输入:从键盘读取用户输入的华氏温度值celsius=(fahrenheit-32)*5/9;计算转换:应用转换公式计算对应的摄氏温度printf("华氏温度:%.2f,摄氏温度:%.2f\n",fahrenheit,celsius);输出结果:格式化输出华氏温度和转换后的摄氏温度注意事项运算顺序公式中的运算顺序:先减法,再乘法,最后除法格式控制输出时使用
%.2f
格式保留两位小数变量声明确保变量定义在使用之前,遵循C语言先声明后使用原则课堂互动:代码纠错问题代码doublefahrenheit,celsius;celsius=(fahrenheit-32)*5/9;
←错误:未输入先计算scanf("%lf",&fahrenheit);printf("摄氏温度:%.2f\n",celsius);讨论问题:这段代码存在什么问题?会导致什么结果?如何修正?正确逻辑输入计算输出//修正后代码doublefahrenheit,celsius;scanf("%lf",&fahrenheit);celsius=(fahrenheit-32)*5/9;printf("摄氏温度:%.2f\n",celsius);顺序结构:先输入,再计算,最后输出VS学生实训任务二限时15分钟任务名称摄氏温度转华氏温度输入要求从键盘接收摄氏温度数值计算公式F=C×9/5+32输出格式华氏温度保留两位小数任务要求输入摄氏温度使用input()函数获取用户输入的摄氏温度值使用转换公式华氏温度=摄氏温度
×9/5+32输出转换结果输出华氏温度,保留两位小数格式拓展思考如何验证转换结果的正确性?能否编写一个程序同时实现双向转换?学生实训任务三限时15分钟成绩平均分计算输入数据三门课程成绩(浮点数)计算逻辑求和除以3得平均分输出格式成绩与平均分,保留一位小数任务要求输入三门课程的成绩(浮点数)计算平均分输出三门课程的成绩和平均分,保留一位小数设计要点定义四个变量:三个成绩和一个平均分使用顺序结构完成输入、计算、输出注意输入提示语的友好性拓展提升:融通中西,学以致用技术无国界,标准可互通融通中西的开放视野理解并尊重不同国家的计量习惯,在差异中寻找转换方法学以致用的实践能力将数学公式转化为可运行的C语言表达式,用技术解决生活中的实际问题李道增
院士中国工程院院士在主持设计涉外建筑项目时,面对中外不同的建筑规范、度量标准,始终坚持"以我为主、博采众长"的理念将所有设计参数精确换算,确保建筑既符合国际标准,又彰显中国特色涉外设计标准换算国际视野教学总结05本课小结核心知识点关键技能实践价值顺序结构是C语言程序中最基本、最自然的执行结构语句按照书写顺序依次执行,没有跳转、分支或重复"输入—计算—输出"三步曲是顺序结构程序设计的核心方法正确定义变量并选择合适的数据类型将数学公式转换为C语言表达式确保语句顺序的正确性:定义→输入→计算→输出温度转换程序体现了程序作为"计算工具"的实际应用价值为后续学习选择结构、循环结构奠定基础课后作业完善温度转换程序增加输入提示和输出格式美化米与英尺的转换编写程序实现(1米=3.28084英尺)计算三角形面积已知三边长,使用海伦公式思考异常处理如果用户输入负数温度,程序应该如何处理?提交要求:下次课前提交源代码文件任务3.2季节查询器的实现主讲:陈静教学目标知识目标1.掌握if语句的三种基本形式(单分支、双分支if-else、多分支if-elseif)及选择嵌套结构的用法。2.掌握switch语句的语法结构、执行流程,理解break语句的作用及"穿透"现象。3.理解if-elseif与switch两种多分支语句的适用场景,能合理选择使用。能力目标1.能运用if-elseif语句和switch语句实现多分支条件判断,处理范围判断与离散值判断。2.能使用选择嵌套结构或逻辑运算符处理多条件联合判断的复杂逻辑。3.能独立完成季节查询器程序的编写,正确处理有效月份与无效输入两种情况。素养目标1.培养"因时制宜"的辩证思维,能根据不同条件做出恰当的选择与判断。2.树立"严守规则"的执行意识,确保每种情况都有对应处理分支,不遗漏、不错判。3.学习都江堰"因势利导、顺应规律"的工程智慧,感悟在正确时间做出正确选择的人生哲理。树立"严守规则"的执行意识教学目标KNOWLEDGE知识目标ABILITY能力目标知识目标if语句三种基本形式掌握单分支、双分支、多分支结构的使用方法选择嵌套结构理解使用场景与注意事项,避免逻辑混乱switch语句掌握语法格式与执行流程,实现多路分支能力目标选择合适分支结构能够根据实际问题特点,选择if或switch实现最优解编写判断程序能够编写包含逻辑判断的完整C语言程序教学重难点教学重点if-elseif多分支语句的语法与应用switch语句的语法格式与执行流程分支结构的实际应用场景教学难点选择嵌套结构的逻辑设计与代码实现switch语句中break语句的作用与穿透现象两种分支结构的适用场景判断目录if语句的三种基本形式选择嵌套结构switch语句任务实施01020304任务导入生活选择天气寒冷时穿棉衣,炎热时穿短袖考试成绩及格则通过,不及格则补考季节案例3至5月为春季,6至8月为夏季9至11月为秋季,12至次年2月为冬季输入月份,程序自动输出对应季节无效月份需给出"月份无效"提示程序目标输入月份,程序自动输出对应季节无效月份需给出"月份无效"提示if语句的三种基本形式01单分支if语句语法格式if(条件表达式){//条件为真时执行的语句块}执行逻辑条件为真条件表达式为非0(真)时,执行语句块条件为假条件表达式为0(假)时,跳过语句块单语句省略若语句块只有一条语句,大括号可省略示例:判断正数当
num>0
时,输出"是正数"if(num>0){printf("是正数");}双分支if-else语句执行逻辑条件为真时执行if后面的语句块条件为假时执行else后面的语句块if(条件表达式){
//条件为真时执行的语句块}else{
//条件为假时执行的语句块}示例场景判断正数或非正数num>0输出"是正数"否则输出"非正数"多分支if-elseif语句if(条件表达式1){
//条件1为真时执行}elseif(条件表达式2){
//条件2为真时执行}elseif(条件表达式3){
//条件3为真时执行}else{
//所有条件都为假时执行}依次判断各条件表达式程序从上到下依次检测每个条件表达式的真假值第一个为真即跳出遇到第一个为真的条件时,执行对应语句块后立即跳出整个结构else语句块(可选)所有条件都为假时,执行else语句块;else部分可以省略多分支if-elseif语句示例如果
score=85,程序会输出什么?1score>=90输出"优秀"2score>=80输出"良好"3score>=60输出"及格"4其他情况输出"不及格"如果score=85,程序会输出什么?输出"良好"条件判断的顺序是否可以调整?顺序不可调整。若先判断>=60,85会被误判为"及格"而非"良好"选择嵌套结构02选择嵌套结构语法→选择嵌套结构语法if(条件表达式1){if(条件表达式2){//条件1和条件2都为真时执行}else{//条件1为真、条件2为假时执行}}else{//条件1为假时执行}外层if第一层条件判断内层if第二层条件判断多条件联合判断需要多条件联合判断的复杂逻辑场景,通过嵌套结构实现层层筛选外层满足后再判断外层条件满足后,再进行内层判断,形成逐级细化的决策流程选择嵌套结构示例训练项目:编写程序判断一个数是否为负奇数正偶数同时满足外层条件num>0与内层条件num%2==0正奇数满足外层条件num>0,但不满足内层条件num%2!=0非正数不满足外层条件num<=0,内层判断不再执行1外层判断:num>0首先判断数值是否为正数,决定后续是否进入内层分支2内层判断:num%2==0外层为真时,进一步判断奇偶性,实现嵌套逻辑分层选择嵌套结构注意事项大括号规范内层if语句需正确使用大括号明确范围,避免作用域歧义导致的逻辑错误嵌套层次限制嵌套层次不宜过多,一般建议不超过3层,防止结构过于复杂可读性影响过多嵌套会降低代码可读性,增加维护难度,不利于团队协作和后期调试逻辑运算符简化可通过逻辑运算符简化嵌套结构,将多层判断合并为单条表达式代码示例if(num>0&&num%2==0)使用&&运算符替代多层if嵌套,判断"正数且偶数"switch语句03switch语句语法格式switch语句语法结构123456789101112switch(表达式){case
常量值1://执行语句break;case
常量值2://执行语句break;default://默认执行语句break;}表达式类型要求表达式类型必须为整数类型(int、char等)case常量值规则case后的常量值必须是整数常量且不能重复switch语句执行流程1计算表达式值计算switch后表达式的值→2与case常量比较将表达式的值与各个case后的常量值进行比较→3匹配后执行找到匹配的case后,从该处开始执行语句→4break或结束停止遇到break语句或switch语句结束时停止→5执行default若没有匹配的case,执行default后的语句break跳出break语句用于跳出switch结构穿透现象省略break会产生"穿透"现象switch语句示例1星期一case12星期二case23星期三case34星期四case45星期五case56星期六case67星期日case7!无效的数字defaultswitch语句使用注意事项适用场景case后的常量值必须是整数常量,且不能重复case标签后只能跟整型常量表达式,如1、2、'A'等,且同一switch中各case值必须互不相同,否则编译报错break语句用于跳出switch结构,省略会导致穿透执行完case分支后,break立即终止switch;若省略break,程序会继续执行下一个case的代码,称为"穿透"现象default语句通常放在最后,用于处理未匹配情况当表达式的值与所有case都不匹配时,执行default分支;建议始终编写default以处理意外输入default的位置不影响执行逻辑default可以放在switch的任何位置,但需注意:若default不在末尾且没有break,同样会发生穿透适合处理离散的常量值判断当判断条件是确定的、不连续的整数值时,如菜单选项(1,2,3)、星期几(1-7)、月份(1-12)等,switch结构清晰、效率高对于范围判断,使用if-elseif语句更合适当判断条件是连续区间如成绩等级(90-100为A)、年龄分段等,if-elseif更灵活,switch无法直接处理范围表达式switch语句课堂互动如果省略break语句,程序会如何执行?case1:case2:printf("工作日\n");break;穿透执行路径case1和case2共用代码利用穿透简化代码任务实施04任务实施思路根据用户输入的月份,输出对应的季节步骤1:获取用户输入使用scanf函数获取用户输入的月份(整数)步骤2:双方式实现分别使用if-elseif语句和switch语句两种方式实现步骤3:异常处理对于无效月份(小于1或大于12),输出提示信息步骤4:质量保障确保程序逻辑正确,输出格式清晰季节查询器代码实现春季case3、4、53月·4月·5月夏季case6、7、86月·7月·8月秋季case9、10、119月·10月·11月冬季case12、1、212月·1月·2月default:输入无效处理超出1-12范围的非法月份输入训练项目使用if-elseif语句重新实现季节查询器条件分支逻辑对比代码重构switch实现优势多分支等值判断,结构清晰效率高if-elseif对比训练掌握两种结构适用场景与转换方法选择分支结构应用案例闰年判断规则//闰年判断:满足以下任一条件即为闰年if((year%4==0&&year%100!=0)||(year%400==0)){printf("%d是闰年\n",year);}else{printf("%d不是闰年\n",year);}逻辑与&&逻辑或||规则一:普通闰年能被4整除但不能被100整除的年份为普通闰年,如2004年、2008年、2020年等规则二:世纪闰年能被400整除的年份为世纪闰年,如1600年、2000年、2400年等逻辑运算符优先级&&逻辑与→||逻辑或优先级:&&高于||,建议使用括号明确运算顺序教学总结if语句的三种形式单分支:条件成立时执行特定操作双分支:条件成立与否分别执行不同操作多分支:多个条件依次判断,实现多路选择选择嵌套结构使用场景:复杂条件判断、多层级决策注意事项:避免过深嵌套,保持代码可读性switch语句语法格式:switch(表达式){case常量:...}执行流程:表达式值匹配case,执行对应分支适用场景:多分支等值判断,代码更清晰两种结构对比与选择if-else:适合条件表达式、范围判断switch:适合等值判断、多分支场景因时制宜的辩证思维根据实际问题特点,灵活选择最适合的分支结构严守规则的执行意识遵循语法规范,确保代码逻辑正确、结构清晰完整分支的处理能力每种情况都有对应的处理分支,不遗漏、不错判任务3.3斐波那契数列的计算主讲:陈静目录教学目标与重难点任务导入:循环结构的必要性必备知识:循环语句详解任务实施:斐波那契数列计算教学总结与拓展0102030405教学目标与重难点01教学目标知识目标理解循环结构的基本概念和执行流程掌握while、do-while、for三种循环语句的语法格式和使用方法理解break和continue语句的作用及区别能力目标能够根据实际问题选择合适的循环语句能够使用循环结构解决重复性计算问题能够编写斐波那契数列等经典算法程序素养目标培养"循序渐进、持之以恒"的坚韧品质领悟"积少成多、厚积薄发"的人生智慧教学重难点教学重点while、do-while、for循环的语法格式与执行流程掌握三种循环语句的基本结构,理解程序执行顺序循环变量的初始化、条件判断和更新操作正确设置循环三要素,确保循环正常执行循环嵌套的使用方法理解多重循环的执行逻辑,掌握嵌套结构的应用教学难点三种循环语句的适用场景选择根据问题特点灵活选用最合适的循环结构循环条件的正确设置,避免无限循环准确判断边界条件,防止死循环发生循环嵌套的逻辑理解与变量控制理清内外层循环关系,避免变量混淆任务导入:循环结构的必要性02为什么需要循环结构实际编程中的重复问题循环结构的价值计算全班50名学生的平均成绩需重复50次"输入成绩并累加",代码量随学生人数线性增长输出100以内的所有偶数需重复判断100次,手动编写将产生大量冗余代码逐条写出重复代码的后果程序冗长且难以维护,修改一处需改动多处,极易引入错误少量代码解决问题用少量代码解决重复执行问题提升代码质量提高程序的可读性和可维护性高效完成任务让计算机快速完成重复计算任务课堂互动:生活中的循环思考与讨论如何用循环思维描述生活中的重复?每天早起刷牙洗脸日复一日的晨间routine每周完成作业打卡规律性的学习任务每月统计消费支出周期性的财务管理讨论要点1循环的起点是什么?讨论要点2循环的条件是什么?讨论要点3循环体包含哪些操作?斐波那契数列简介第1、2项为1,从第3项起每项等于前两项之和前10项1,1,2,3,5,8,13,21,34,55...斐波那契数列核心定义向日葵花盘种子呈螺旋排列,顺时针与逆时针螺旋数常为相邻斐波那契数松果鳞片鳞片分布遵循斐波那契螺旋,展现自然界最优packing效率鹦鹉螺壳生长曲线完美契合斐波那契螺旋,体现生物生长的数学规律前20项计算挑战手动计算前20项不现实,易出错且耗时循环结构可快速完成,代码简洁高效手动计算效率极低循环程序效率极高必备知识:循环语句详解03while循环语法格式while(条件表达式){循环体语句;}执行流程1计算条件表达式的值2若条件为真(非0),执行循环体;若为假(0),退出循环3循环体执行完毕后,回到步骤1重复判断"先判断,后执行"可能一次都不执行特点while循环采用"先判断,后执行"的执行模式,即首先检验条件表达式的真假,只有当条件成立时才进入循环体执行。这种机制决定了循环体可能一次都不执行——当首次判断条件即为假时,程序将直接跳过整个循环结构。注意事项循环变量必须在循环前初始化,否则条件判断将基于不确定的随机值循环体中必须包含更新循环变量的语句,否则将形成死循环确保循环条件在某个时刻会变为假,保证循环能够正常终止while循环示例【例3-6】计算1到10的累加和//循环变量初始化inti=1;//存储累加和intsum=0;while(i<=10){//循环条件sum+=i;
//累加i++;
//更新循环变量}运行结果:1到10的和为:55初始化i=1,sum=0条件判断i<=10循环体累加操作+变量更新while循环执行流程条件判断执行循环体更新变量返回重新判断课堂互动:while循环分析代码找错inti=1;while(i<=10){printf("%d",i);}循环会执行多少次?程序会出现什么现象?如何避免这个问题?无限循环风险正确做法修正点inti=1;while(i<=10){printf("%d",i);i++;}在循环体内添加
i++
更新循环变量确保循环变量向终止条件逼近循环将正常执行
10
次后结束do-while循环先执行,后判断至少执行一次菜单选择密码验证语法格式do{循环体语句;}while(条件表达式);执行流程1先执行一次循环体语句2计算条件表达式的值3条件为真则回到步骤1,为假则退出核心特点do-while循环采用"先执行,后判断"的执行模式,循环体语句至少会被执行一次,然后才进行条件判断。这与while循环的"先判断,后执行"形成鲜明对比。与while循环的区别do-while至少执行一次循环体,确保初始化操作必然发生while可能一次都不执行,若初始条件为假则直接跳过适用场景不同:菜单选择、密码验证等必须执行一次的场景do-while循环示例实现相同功能,语法结构不同【例3-7】do-while循环使用do-while循环计算1到10的累加和inti=1;intsum=0;do{sum+=i;i++;}while(i<=10);
注意分号运行结果:1到10的和为:55语法注意:while后面的分号不能省略while循环i=1;sum=0;while(i<=10){sum+=i;i++;}do-while循环i=1;sum=0;do{sum+=i;i++;}while(i<=10);执行顺序不同while先判断后执行,do-while先执行后判断循环次数差异条件不满足时,do-while至少执行1次语法格式区别do-while必须以分号结束,while不需要学生实操任务一学生实操任务一任务要求使用while循环编写程序,输出1到100之间所有3的倍数//代码框架提示inti=1;while(i<=100){if(i%3==0)printf("%d",i);i++;}循环范围循环变量从1开始,到100结束整除判断使用if语句判断是否能被3整除输出格式输出格式:每行显示10个数拓展思考如何用do-while循环实现相同功能?思考循环条件的位置变化两种方式有何区别?while先判断后执行,do-while先执行后判断for循环for循环语法格式for(初始化表达式;条件表达式;更新表达式){循环体语句;}执行流程1执行初始化表达式(仅执行一次)2计算条件表达式的值,若为真执行循环体,若为假退出循环3循环体执行完毕后,执行更新表达式4回到步骤2重复判断和执行结构紧凑将初始化、条件判断、变量更新集中在一处灵活性初始化表达式可声明和初始化多个变量三个表达式均可省略,但分号不能省略适用于循环次数已知或可明确控制的场景for循环示例核心代码inti,sum=0;for(i=1;i<=10;i++){sum+=i;}551到10的和为:55代码优势初始化、条件、更新集中在一行,结构紧凑,一目了然代码结构清晰,易于理解和维护最常用的循环语句之一,实际开发中应用广泛循环嵌套注意事项内外层循环使用不同的循环变量嵌套层次不宜过多(一般不超过3层)内层循环条件可依赖外层循环变量循环嵌套概念在一个循环体内包含另一个完整的循环结构,形成多层循环的嵌套关系执行规则外层循环每执行一次,内层循环完整执行其所有迭代。外层循环变量控制整体流程,内层循环变量控制细节处理,两者协同完成复杂重复任务【例3-9】打印5行5列矩形星号图案1for(i=0;i<5;i++){//外层控制行数2for(j=0;j<5;j++){//内层控制列数3printf("*");4}5printf("\n");//每行结束后换行6}学生实操任务二使用for循环嵌套打印九九乘法表实现提示外层循环控制行数(1到9)内层循环控制每行的列数(1到当前行号)输出格式1*1=11*2=2......拓展挑战如何修改代码,打印倒三角形式的乘法表?💡
思考:行号与列数的关系如何变化?跳转语句:break和continuebreak语句立即终止当前循环,跳出循环体执行循环后的语句用于提前退出循环完全终止循环continue语句跳过当前循环体中剩余的语句直接进入下一次循环的条件判断用于跳过特定条件的迭代仅跳过本次循环的剩余部分核心区别特性breakcontinue循环终止完全终止继续下次后续语句执行循环后跳过剩余嵌套影响仅影响最内层循环break与continue示例【例3-10】break示例for(i=1;i<=10;i++){if(i%3==0){printf("第一个能被3整除的数是:%d\n",i);break;//找到后立即退出循环}}运行结果3i=1,2时条件不成立i=3时条件成立执行break退出【例3-11】continue示例for(inti=1;i<=10;i++){if(i%2==0){continue;//跳过偶数}printf("%d",i);}运行结果13579i=2,4,6,8,10为偶数执行continue跳过只输出奇数break的作用立即终止整个循环,程序流程跳出循环体,继续执行循环之后的语句常用于查找满足条件的第一个元素后及时退出,避免不必要的后续遍历,提高程序效率continue的作用跳过当前循环的剩余语句,直接进入下一次循环判断(i++后判断循环条件)常用于过滤特定条件的数据,如跳过偶数、跳过无效输入等,实现选择性处理课堂互动:循环语句对比讨论要点三种循环语句各有什么特点?如何选择合适的循环语句?循环类型执行特点适用场景while先判断后执行循环次数不确定,可能一次都不执行do-while先执行后判断循环体至少执行一次(菜单、密码验证)for结构紧凑循环次数已知或可明确控制三种循环可以相互转换吗?实际编程中如何选择?任务实施:斐波那契数列计算04实施思路与任务分析编写C程序,使用循环结构计算斐波那契数列前20项并输出任务分析分别使用while、do-while和for循环三种方式实现输出格式:每行显示5项,项之间用空格分隔程序逻辑清晰,代码简洁高效数列规律第1项和第2项均为1从第3项开始,每一项等于前两项之和数列:1,1,2,3,5,8,13,21,34,55......1,1,2,3,5,8...斐波那契数列前6项while循环实现while循环实现代码intcount=0,a=1,b=1,next;while(count<20){printf("%d",a);count++;if(count%5==0)printf("\n");next=a+b;a=b;b=next;}实现要点解析count控制输出项数循环变量count从0开始计数,每次迭代自增1,当count达到20时终止循环,精确控制输出20项斐波那契数a和b存储当前项和下一项变量a保存当前要输出的斐波那契数,变量b保存下一项,初始值均为1,体现斐波那契数列的递推特性next计算新的下一项通过next=a+b计算下一项,然后依次更新a=b、b=next,实现斐波那契数列的递推公式F(n)=F(n-1)+F(n-2)每输出5项换行一次利用取模运算count%5==0判断,每输出5个数后打印换行符,使输出结果格式整齐,每行5个数便于阅读do-while循环实现do-while循环实现intcount=0,a=1,b=1,next;do{printf("%d",a);count++;if(count%5==0)printf("\n");next=a+b;a=b;b=next;}while
注意分号!(count<20);while后面必须有分号,这是与while循环的关键区别循环体至少执行一次do-while属于"先执行、后判
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年黑龙江农垦科技职业学院高职单招笔试化学历年参考题库含答案解析
- 2026年闽江学院高职单招笔试英语历年参考题库含答案解析
- 幼儿园户外自主游戏实施路径
- 中型体育训练基地配套用房建设方案
- 智慧社区应急管理建设项目可行性研究报告
- 小学数学备课组教研活动实施方案
- 新课标背景下初中历史大单元教学研究
- 商业综合体能耗管理与节能改造方案
- 智慧课堂环境下高中地理实践教学研究
- 小学语文一年级下册全册教案(教学设计)
- 2026消防宣传月培训课件(含火灾案例)
- 2026春鲁科版二年级劳动技术全一册每课教案附目录
- 2025年华能集团招聘笔试试题及答案
- 2026年贵州省兴义市房地产行业现状调研分析及发展趋势研究报告
- 偷漏税课件教学课件
- 第九讲:信息与大数据伦理问题-工程伦理
- 2024中医内科临床诊疗指南眩晕病(原发性高血压)
- 丰田汽车7步法培训
- 高三二模作文“常量与变量”审题立意指导及范文
- 三年(2021-2023)中考数学真题分项汇编(江苏专用)专题23几何压轴题(原卷版+解析)
- 新生儿十二指肠狭窄课件
评论
0/150
提交评论