第1章 第5、6节:C语言趣味程序实例与项目开发实例(课件)-《C语言程序设计》(电子工业出版社)上好课

2026-03-30
| 35页
| 26人阅读
| 0人下载
精品

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 课件
知识点 C语言概述
使用场景 同步教学
学年 2026-2027
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 PPTX
文件大小 45.27 MB
发布时间 2026-03-30
更新时间 2026-03-30
作者 糖醋排骨009
品牌系列 上好课·上好课
审核时间 2026-03-30
下载链接 https://m.zxxk.com/soft/57082294.html
价格 5.00储值(1储值=1元)
来源 学科网

内容正文:

1.5、1.6节:C语言趣味程序实例与项目开发实例 C语言程序设计 电子工业出版社 了解循环、条件判断的基本语法,感知模块化设计思想。 能读懂并模仿“歌星大奖赛”和“成绩管理系统”的核心代码。 培养编程兴趣,初步建立用逻辑思维解决问题的习惯。 知识目标 能力目标 素养目标 01 01 01 学习目标 目录 Part 01 教学导入 Part 02 知识讲授 Part 03 师生互动 Part 04 课堂练习 Part 05 课堂小结 教学导入:从问题出发 评委打分的计算逻辑 在电视节目中,评委打分后为何要去掉一个最高分和一个最低分?如何用程序实现这个计算逻辑? 成绩管理系统的实现 学校的成绩管理系统背后是如何通过代码一步步实现的?我们能否从最简单的菜单开始,搭建一个迷你版的系统? 教学导入 接下来,我们将通过两个实例来探索答案 案例一:歌星大奖赛 通过趣味程序设计,深入学习循环结构与简单算法的实际应用,掌握基础逻辑构建。 案例二:学生成绩管理系统 体验模块化项目开发的完整流程,从需求分析到代码实现,构建完整的小型管理系统。 知识讲授 C语言趣味程序实例与项目开发实例 歌星大奖赛程序实例 学生成绩管理系统实例 第一部分 歌星大奖赛程序实例 知识讲授 知识讲授 知识讲授:歌星大奖赛评分系统 问题描述 场景:在歌星大奖赛中,10个评委为选手打分,分数范围 1~100 分。 规则:选手最后得分为去掉一个最高分和一个最低分后的平均值。 目标:编写程序实现该评分逻辑,计算出选手的最终得分。 知识讲授:算法实现 1. 初始化变量 定义总分 sum=0,最高分 max,最低分 min,为后续计算做准备。 2. 循环输入 执行10次循环,每次循环接收一个用户输入的分数,确保数据完整。 3. 累加与比较 将分数累加到sum中,同时动态比较并更新当前的最高分max和最低分min。 4. 计算与输出 循环结束后,计算平均分 (sum/10),并输出最终的统计结果。 知识讲授:算法流程图 01. 初始化设定 启动程序,设定总分、最高分、最低分的初始变量值。 02. 循环输入与处理 循环10次输入分数,累加总分并实时更新最高/最低分。 03. 计算与输出结果 扣除极值后计算平均分,显示最终结果并结束程序。 初始化:sum=0,max=0,min=100,count=0 循环输入成绩score 累加:sum=sum+score count=count+1 比较最值: 若score>max则max=score 若score<min则min=score 计算平均分:average=sum/count 输出:输出max、min、average 结束 知识讲授:核心代码实现 (1/2) 功能说明:展示程序的初始化和循环输入部分。定义了所需的变量,并通过for循环来接收用户输入的10个分数。 int main() { int integer,i,max,min,sum; max=-32768; /*假设当前得最大值max为C语言整型数的最小值*/ min=32767; /*假设当前得最大值min为C语言整型数的最大值*/ sum=0; /*将求累加的变量的初值置为0*/ for(i=1;i<=10;i++) { printf(“Input number %d=”,i); scanf(“%d”,&integer); /*输入评委的评分*/ ………… 知识讲授:核心代码实现 (2/2) 核心逻辑解析 在循环内部累加分数至总分,通过 if 语句动态更新最高分和最低分。循环结束后,剔除极值并计算平均分。 for(i=1;i<=10;i++) { printf(“Input number %d=”,i); scanf(“%d”,&integer); /*输入评委的评分*/ sum+=integer; /*计算总分*/ if(integer>max) max=integer; /*通过比较筛选出最高分*/ if(integer<min) min=integer; /*通过比较筛选出最低分*/ } printf(“Canceled max score:%d Canceled min score:%d ”,max,min); printf(“Averange score:%d ”,(sum-max-min)/8); /*输出结果*/ } 知识讲授:程序运行结果展示 99 90 最终平均分 92 去掉最高分 99 去掉最低分 师生互动:深入思考 核心思考: 如果要找出最公平(评分最接近平均分)和最不公平(与平均分差距最大)的评委,程序应该怎样实现? 解题思路引导 1. 数据存储 需要一个数组来保存所有评委的分数,以便后续遍历比较。 2. 计算差值 遍历数组,计算每个分数与平均分差值的绝对值。 3. 极值查找 比较所有绝对值,找出最大值和最小值对应的评委编号。 师生互动:程序运行结果 课堂问答 Q1: 如果忘了写找最高分的代码,程序会“失忆”吗?😱 程序会“忘记”最高分是多少,计算结果自然就错啦! Q2: 如果只有一位评委,还需要“去掉”最高分吗?🤔 不需要!我们可以加个“小判断”,当只有1位评委时,直接计算平均分。 Q3: scanf里的&符号是“快递员”吗?📦 它是“快递员”,负责把输入的值送到正确的“地址”(变量)。少了它,数据就送错地方啦! 课堂练习 功能A:动态评委人数 修改原有的固定10人评委机制,实现由用户输入评委人数。程序应能根据输入的数值动态调整循环次数,确保逻辑的健壮性。 功能B:计算评分方差 在计算平均分的基础上,增加方差计算功能。通过方差评估评分的离散程度,分析评委打分的一致性,进一步提升数据统计的深度。 练习要求与提示 请独立思考并尝试编写代码,注意代码的规范性。如有困难,可先查阅笔记,或与同桌讨论,也可随时举手向老师求助。 第二部分 知识讲授 学生成绩管理系统实例 知识讲授 知识讲授:项目介绍 项目描述与界面设计 该系统旨在实现学生成绩的高效管理,涵盖信息录入、显示、查询、修改及排序等核心业务流程,确保学校教学管理的信息流畅通。 核心功能模块列表 系统包含八大核心功能:增删改查、成绩排序、统计分析以及文件的读写操作,模块化设计便于维护与扩展。 知识讲授:模块化思想 分工明确 每个模块负责一个特定功能,职责边界清晰,便于团队协作开发和后期维护。 代码复用 封装好的独立模块可以在系统的不同地方被多次调用,避免重复编写代码,提升效率。 便于调试 模块之间低耦合,若程序出错,可以快速定位到出问题的具体模块,降低排查难度。 知识讲授:核心代码实现 界面构建:利用 printf 结合制表符与换行符实现整齐排版 逻辑流转:用户输入后调用 choose 函数分发执行不同功能 知识讲授:程序运行结果 师生互动:代码解读 菜单界面的构建 printf 语句是如何构建出美观的菜单界面的?思考转义字符 \t 和 在控制格式中的具体作用。 choose() 函数解析 choose() 函数的核心作用是什么?它在主程序的逻辑流中是如何被调用和执行的? 功能扩展与修改 如果要增加一个“清空所有数据”的功能,应该如何修改菜单选项以及对应的逻辑代码? 师生互动:功能实现讨论 01. 如何接收输入? 程序如何获取用户输入的信息?例如学号、姓名和成绩等关键数据的录入方式。 02. 如何存储信息? 数据的临时或持久化存储方案。引入数组或结构体的概念,探讨最优的数据组织形式。 03. 如何确保唯一性? 逻辑判断与冲突检测。如何检查学号是否已存在,避免重复添加,保证数据的一致性。 课堂练习:实现简单功能 核心任务:成绩等级评定 功能描述: 输入一个0-100之间的整数成绩,程序判断并输出对应的等级。 等级划分: 90分及以上:优秀 80-89分:良好 70-79分:中等 60-69分:及格 60分以下:不及格 实现思路提示 输入成绩 使用 scanf 函数获取用户输入的成绩。 条件判断 使用 if-else if-else 语句进行多分支判断。 输出结果 根据判断结果,使用 printf 函数输出对应的等级。 课堂练习:代码框架参考 课堂小结 核心知识点回顾 循环与判断 掌握 for 循环和 if 语句的综合应用,构建基础逻辑。 算法设计思想 学会将实际问题抽象为可执行的算法步骤,优化解题思路。 模块化设计 理解复杂系统的分解策略,利用独立函数模块降低耦合度。 全流程项目实践 体验从菜单设计到功能实现的完整开发流程,建立工程思维。 核心能力提升 代码阅读能力 能够快速理解他人代码逻辑,提升学习效率。 逻辑分析能力 面对复杂问题时,能够抽丝剥茧,理清因果关系。 问题解决能力 培养 debug 思维,独立排查并解决代码中的错误。 项目协作意识 理解团队开发规范,为未来的软件工程协作打下基础。 课堂小结 章节小结:基础概念与程序结构 发展历程与特点 起源背景 1972年贝尔实验室 Dennis Ritchie 开发,源于B语言,用于编写UNIX系统。 核心特点 简洁高效,表达能力强 可移植性好,跨平台 兼具高级语言结构与低级语言功能(如指针) 程序基本结构 程序组成 由函数组成,必须有且仅有一个 main() 函数作为入口。 关键要素 头文件:#include 引入库函数 函数体:{} 包裹的功能实现代码 语句:以分号 ; 结束的执行单位 运行环境与过程 开发环境 编译器+ 编辑器 执行流程 编辑:编写 .c 源代码文件 编译:生成 .obj 或 .o 目标文件 链接:生成 .exe 可执行文件 运行:执行程序得到结果 章节小结:数据、运算与流程控制 数据类型与变量 掌握整型、浮点型、字符型等基本数据类型的使用 理解变量的定义与赋值方法,明确作用域概念 运算符与表达式 熟练运用算术、关系、逻辑运算符构建复杂表达式 理解不同运算符的优先级与结合性,避免逻辑错误 输入输出交互 掌握 printf 函数进行格式化输出,控制显示样式 掌握 scanf 函数进行格式化输入,实现人机交互 程序流程控制 顺序结构:程序默认的执行方式 选择结构:使用 if 语句实现条件判断与分支 循环结构:使用 for 语句实现代码的高效重复执行 章节小结:综合实例与工程思想 综合实例应用回顾 歌星大奖赛评分系统 综合运用循环结构与条件判断,实现评分计算功能,巩固流程控制知识。 学生成绩管理系统 初步体验模块化设计思想,将系统分解为录入、查询等独立模块,通过主函数调度,为项目开发打下基础。 工程思想的初步建立 算法设计思维 学会将实际问题抽象为可执行步骤,选择合适算法解决问题。 模块化设计策略 分解复杂系统,降低复杂度,提高代码的可读性与可维护性。 全流程项目实践 体验需求分析、设计到编码实现的完整流程,建立工程思维。 作业布置: 1. 完成第1章节复习题1。 2. 编写程序,用“*”输出字母“E”的图案。 3. 编写程序,在屏幕上输出自己的姓名。 4.编写程序,输出以下信息: 课后任务 谢谢观看 THANKS EV录屏5.4.8软件录制 Lavf58.33.100 本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn EV录屏5.4.8软件录制 Lavf58.33.100 本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn EV录屏5.4.8软件录制 Lavf58.33.100 本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn $

资源预览图

第1章 第5、6节:C语言趣味程序实例与项目开发实例(课件)-《C语言程序设计》(电子工业出版社)上好课
1
第1章 第5、6节:C语言趣味程序实例与项目开发实例(课件)-《C语言程序设计》(电子工业出版社)上好课
2
第1章 第5、6节:C语言趣味程序实例与项目开发实例(课件)-《C语言程序设计》(电子工业出版社)上好课
3
第1章 第5、6节:C语言趣味程序实例与项目开发实例(课件)-《C语言程序设计》(电子工业出版社)上好课
4
第1章 第5、6节:C语言趣味程序实例与项目开发实例(课件)-《C语言程序设计》(电子工业出版社)上好课
5
第1章 第5、6节:C语言趣味程序实例与项目开发实例(课件)-《C语言程序设计》(电子工业出版社)上好课
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。