C语言程序设计 教案6-1 声明结构体类型、利用结构体变量处理一组数据(2课时).docx
-
资源ID:86715686
资源大小:56.65KB
全文页数:6页
- 资源格式: DOCX
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
C语言程序设计 教案6-1 声明结构体类型、利用结构体变量处理一组数据(2课时).docx
C语言程序设计教学设计 日期:年月日教学内容声明结构体类型、利用结构体变量处理一组数据教学学时2授课教师班级地点周次星期节次教学 目标素质目标知识目标能力目标(1)基本职业素养:遵守工作时间, 使用实践设备时注意用电安全,实践设 备使用完毕后要断电并放于指定位置, 程序设计要注重工程规范,养成良好的 工作习惯。(2)团结协作素养:小组内成员互查 程序代码书写规范性、准确性和完整性, 取长补短,具有责任意识、团队意识与 协作精神。(3)自主学习素养:能根据任务要求, 查找相关资料解决实际问题;能自主完 成练习,培养自主学习的意识与一丝不 苟、实事求是的工作作风。(4)思政和劳动素养:具有一定的辩 证唯物主义运用能力、安全意识、劳动 意识、创新意识、创新能力和强烈的爱 国主义精神。(1)掌握结构体 类型的声明方法(2)掌握结构体 变量的定义、初始化 和引用方法(1)能根据 实际需要声明 结构体类型(2)会用结 构体变量解决 实际问题教学重点1 .结构体类型的声明方法2,结构体变量的定义、初始化和引用方法教学难点结构体类型的声明、结构体变量的引用能力训练 任务任务1:掌握结构体类型的声明方法任务2:掌握结构体变量的定义、初始化和引用方法教学材料(1)教材:朱琨C语言程序设计,机械工业出版社,978-7-111-66954-8, 2021(2)教学资源:电子教案、教学课件、微课视频、在线开放课程(3)仪器与设备:电脑(装有VC+开发环境)教学进度设计步骤教学内容及目标思政元素教师活动学生活动时间.一、复习与 导入前面已学基本类型(整型、实型、 字符型)和一种构造类型一一数 组,数组是将相同类型的多个数据 组合在一起。在实际问题中,一组 数据往往具有不同的数据类型。例 如,在学生成绩表中,一名学生的 学号为整型、姓名为字符型、成绩 为实型,显然不能用一个数组将某 个学生的这些数据组合在一起。为 解决此类问题,用户可以建立由不 同类型(或相同类型)数据组成的 组合型数据结构一一结构体。学而时习之、 温故知新提问、导入新课、 布置学习任务总结、回 答、明确学 习任务5m i n二、实施任 务1:掌握 结构体类型 的声明方法结构体类型声明的三要素:(1)关键字struct(2)结构体名(3)成员名民主集中制、 集体与个人讲解听讲,掌握10mi n三、实施任 务2:掌握 结构体变量 的定义、初 始化和引用 方法1、定义结构体变量的3种方法2、结构体变量的初始化方法(类 似于数组的初始化方法)3、结构体变量的引用方法4、结构体变量的有关说明5、例题分析6、学以致用知识迁移, 归属感、幸福 感,学以致用对比讲解;引导 学生参照数组掌 握结构体变量的 初始化方法,类 比归属(中国.省. 市)和通过例题 掌握结构体变量 成员引用方法; 巡回指导听讲,理 解,分析、 编写和运 行教材例 题程序,完 成练习题70m i n四、总结概括基本内容,归纳重点内容自主学习引导学生归纳总 结,然后布置课 后任务思考,记 录,整理场 地5m i n作业通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题(可穿插到上述任务 中);预习下次课内容(结构体数组、结构体指针)。后会 课体1 ,结构体常用于网络通信数据包的数据组织,类似于民主集中制、集体与个人的关系。2 .结构体变量的初始化方法类似于一维数组的初始化方法,通过知识迂移,学生很容易 掌握。3 .结构体变量成员的引用方法中的“结构体变量名,成员名”蕴含着“归属感”,引导学 生为身处伟大的社会主义祖国而幸福。4,通过布置的练习题,激发学生学习兴趣,达到学以致用之目的。声明结构体类型、利用结构体变量处理一组数据教学详案步骤一:复习与导入(时间:5分钟)前面已学基本类型(整型、实型、字符型)和一种构造类型一一数组,数组是将相同类 型的多个数据组合在一起。在实际问题中,一组数据往往具有不同的数据类型。例如,在学 生成绩表中,一名学生的学号为整型、姓名为字符型、成绩为实型,显然不能用一个数组将 某个学生的这些数据组合在一起。为解决此类问题,用户可以建立由不同类型(或相同类型) 数据组成的组合型数据结构一一结构体。步骤二:任务1:掌握结构体类型的声明方法(时间:10分钟) 结构体类型声明的三要素:关键字struct、结构体名、成员名stnict Student (int stu ID;学号char name20;姓名char sex;性别float score;成绩; /胜意最后要有分号struct Date声明一个结构体类型的一般形式为:struct结构体名iut month;月int day; /I I成员列表iut year;年););成员声明形式:类型标识符成员名;步骤三:任务2:掌握结构体变量的定义、初始化和引用方法(时间:70分钟) 声明的结构体类型,仅相当于一个模型,其中并无具体数据,系统并不对其分配内存空 间。系统只对变量或数组分配内存空间,因此为了能在程序中使用结构体类型的数据,应当 定义结构体类型的变量或数组。1、定义结构体变量的三种方法(3)不指定结的体名而直接定义结构体变量struct int stu ID;学号char name20;姓名char sex;性别float score;成绩stul, stu2;没有结狗体名,不能再用此结恂体类型去定义其他变量,实际应用较少。(1)先声明结构体类型 再定义结构体变量struct Studentint stu ID; 学 v char name20;姓名char sex;性别float score;成绩);struct Student stul9 stu2;在声明类型后可以随 时定义变量,使用灵活。(2)在声明结物体类型的 同时定义结构体变量struct Student (int stu_ID;学号char name20;姓名char sex;性别float score;成绩stul9 stu2;能直接看到结构体的结构, 较为直观,在编写小程序时 常用此方法。定义的两个变量stul和stu2都具有struct Student类型的结构:【注意】结构体变量在程序执行期间,所有成员一直驻留在内存中。【实验】用sizeof运算符测试结构体类型struct Student的长度。 【学习检验】教材单元练习第1、2、3、4题。关于结构体成员的两点说明:(1)结构体中的成员也可以是一个结构体类型的变量。例如:stuIDnamesexbirthdavscoremonthdayyear;struct Datestruct Studentint month;月int stu_ID;学号int day;日char name20;姓名int year;年char sex;性别;struct Date birthday;/birthday 为 struct Date 类型float score;成绩(2)结构体中的成员名可与程序中其它变量同名,但二者代表不同的对象,互不干扰。2、结构体变量的初始化方法(类似于数组的初始化方法)和其他类型的变量一样,结构体变量可以在定义时进行初始化赋值。初始化列表是用 花括号括起来的一些常量(依次赋给结构体变量中的成员)。struct Studentint stu ID ;学号char name20;姓名char sex;性别float score;成绩struct Student stul=1001, nZhang ping" 78.5;3、结构体变量的引用方法在定义结构体变量以后,便可引用该变量。C允许具有相同类型的结构体变量相互赋 值;而对结构体变量的输入、输出及各种运算都是通过结构体变量的成员来实现的。结构体变量成员的引用形式:结构体变量名.成员名例如:stul.stuD即第一名学生的学号;stu2.sex即第二名学生的性别成员(分量)运算符的优先级最高。stul.stuD作为一个整体看待。若成员本身又是一个结构体类型,则必须逐级找到最低级的成员才能使用。例如:stu 1 .birthday.month为第1名学生出生的月份4、结构体变量的有关说明(1)结构体变量成员可以和普通变量一样进行各种运算。(2)可以引用结构体变量成员的地址,也可以引用结构体变量的地址。5、例题分析【例6.1】结构体变量的初始化和引用。/include <stdio.h>#include <string.h> struct Studentint stu ID;char name20; float score;);声明结构体类型学号姓名成绩int main(void)struct Student stul=1001, MSun LiM,75.0; 定义 stul 变量并初始化struct Student stu2, stu3;stu2.stu_ID =1002;strcpy(stu2.name,MZhang Ping");stu2.score=80.0;stu3=stul;printf(”学号t 姓名tt成绩iT);struct Student stu2, stu3;stu2.stu_ID =1002;strcpy(stu2.name,MZhang Ping");stu2.score=80.0;stu3=stul;printf(”学号t 姓名tt成绩iT);定义stu2、stu3变量引用结构体变量成员,并赋值结构体变量相互赋值printf(M%d %>-20sstul.stu ID, stul.name, stul.score);printf(M%d %-20s %4.1fnM, stu2.stu_ID, stu2.name9 stu2.score); printf(M%d %-20s %4.1fnM, stu3.stu_ID, stu3.name9 stu3.score); 1001Sun Li75.01002Zhang Ping80.01001Sun Li75.06、学以致用设计购物小票:先声明一个商品结构体类型(结构体名为commodity),其结构如下图 所示(成员id、name> price> qty、total分别代表商品的编号、名称、单价、数量和总价, 其中总价等于单价与数量的乘积)。在主函数中,首先定义该结构体类型的3个变量并对它 们的前4个成员进行初始化,然后分别对这3个变量的total成员进行赋值,最后分行输出 这3个变量中的各成员值(输出形式参照下面的运行结果)。idnameprice qty total6个字符12个字符浮点数整数浮点数编号名称单价数量总价10001铅笔0. 603018. 0010002橡皮擦0. 504020. 0010003黑色签字笔1.205060. 00步骤四:概括基本内容,归纳重点内容(时间:5分钟)1、引导学生概括本次课的基本内容,归纳重点内容(结构体类型的声明方法,结构体 变量的定义方法、初始化方法、引用方法)。2、作业布置:通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题, 学以致用;预习下次课内容(结构体数组、结构体指针)。