8.1结构体类型(教案)-《C语言程序设计》同步教学(电子工业版)

2024-11-18
| 4页
| 121人阅读
| 0人下载
普通

内容正文:

课程单元教案 本课编号 23 本课课时 2学时 内容提要 项目8 自定义数据类型应用 任务1结构体类型 教学目的 1.了解什么是结构体; 2.掌握结构体类型、变量定义和应用的方法。 知识能力 结构 1.掌握结构体类型定义的方法; 2.初步掌握结构体变量定义及应用。 教学重点 难点 重点:结构体类型、结构体变量定义定义和应用。 难点:结构体类型的用法。 教学手段 方法 教学方法:任务驱动教学法、启发式 教学手段:课堂讲授法、多媒体教学 思考题与 习题 1.什么是结构体类型? 2.结构体类型和基本类型的区别是什么? 教学内容进程设计 任务导入:综合实践8 学生成绩管理系统结构体应用设计 学生成绩管理系统文结构体应用设计:应用结构体数组(或结构体指针)实现多名学生成绩信息(包括学号、姓名、5门成绩、总分、平均分等基本信息)的输入、输出及处理。并用结构体数组(或结构体指针)作为函数参数实现综合实践6中的各项功能。 任务1结构体类型 1.1结构体类型定义 有以下表格信息,如何存放一组相关的数据:结构体 学号 姓名 性别 成绩 8001 王帅 m 88.5 8002 张宇 m 90 8003 李响 f 83.5 结构体是一种构造数据类型,它是由若干“成员”组成,每一个成员可以是一个基本数据类型或者又是一个构造类型。 定义格式:struct 结构体名{ 数据类型 成员名1; 数据类型 成员名2; …… 数据类型 成员名n;}; 说明:(1)结构体类型名称由关键字struct和结构体名组合而成,结构体名由用户指定。 (2)大括号内是结构体的成员,对各个成员都要进行类型声明。 (3)结构体类型并非一种,而是用户根据需求设计出许多种结构体类型。 (4)同名的成员变量可以属于不同的结构体类型,互不影响。 (5)定义一个结构体类型后,并不分配内存空间。 举例: struct student{ int num; char name[20],sex; float score; }; 以上定义表示结构体类型名为struct student,有4个成员变量。 1.2结构体变量定义及应用 1.结构体变量定义 结构体的定义仅描述了一个结构体的形式。它相当于一个模型,其中并无具体数据,系统也不会为它分配实际的内存空间。如果要在程序里使用结构体,需要声明结构体类型的变量。定义结构体类型的变量有以下3种方法: (1)先定义结构体类型,再定义该类型的变量, 例如: struct student{ int num; char name[20],sex; float score; }; struct student stu1,stu2; (2)在定义结构体类型的同时定义结构体变量,例如: struct student{ int num; char name[20],sex; float score; }struct student stu1,stu2; (3)直接定义结构体变量,例如: struct{ int num; char name[20],sex; float score; }stu1,stu2; 说明:(1)不可以对结构体类型进行赋值、存取等操作。 (2)结构体成员名可以与普通变量同名,但两者并不代表同一存储单元。 (3)省略结构体名不能再次定义该种类型变量。 (4)结构体类型定义可以在函数的内部,也可以在函数的外部。在函数内部定义的结构体,其作用域仅限于该函数内部,而在函数外部定义的结构体,其作用域是从定义处开始到本文件结束。 2.结构体变量的内存分配 在定义了结构体变量后,系统会分配对应的内存空间。 例如:struct student stu; 变量stu存储分配如图所示: 注意:结构体变量stu所占字节数的计算方法:4+20+1+4=29,即29个字节。(变量stu用sizeof()测试得到的字节数是32,因为计算机对内存的管理是以4字节为单位,开辟空间都是4的倍数, 因此结果是32,而不是29) 3.结构体变量初始化 格式:结构体类型 结构体变量={成员变量初始值列表}; 例如:struct student stu={1001,”李明”,’m’,88.5}; 说明:(1)初始化列表是用大括号括起来的一些常量,常量按照成员变量的顺序依次赋给结构体变量中的各个成员,要求常量的类型和成员变量的类型一致。 (2)初始化是对结构体变量进行的,而不是结构体类型。 (3)可以只对结构体变量的其中一部分成员初始化,按照常量的前后顺序依次对前面的成员初始化,后面的成员可以空余,而不是按数据类型自动去匹配。 4.结构体变量应用 (1)成员变量引用格式 结构体变量名.成员名 “.”是结构体成员运算符,运算级别最高,运算顺序自左向右。例如:stu1.num、stu2.name分别代表stu1的num成员和name成员。 (2)整体引用 同类型的结构体变量,可以将一个结构体变量整体赋值给另一个结构体变量。 例如:struct student stu1={1001, “李明”, ‘m’, 88.5},stu2; stu2 =stu1; 通过赋值,结构体变量stu1中每个成员的值分别赋给stu2每个成员变量。 举例:定义结构体变量赋值后并输出其值。 随堂练习: 定义结构体类型(包含姓名、性别、年龄、家庭住址、电话号码等基本信息),输入两名同学的信息并输出。 教学小结 1.结构体类型定义的方法。 2、结构体变量定义和初始化的方法。 3、结构体变量引用的方法。 4、结构体类型的应用。 学科网(北京)股份有限公司 $$

资源预览图

8.1结构体类型(教案)-《C语言程序设计》同步教学(电子工业版)
1
8.1结构体类型(教案)-《C语言程序设计》同步教学(电子工业版)
2
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。