深 圳 职 业 技 术 学 院Shenzhen Polytechnic
计算机系乌云高娃 Wygw@21cn.com 第 63 页 共 83 页
第八单元(1):结构体变量的定义、引用、初始化
教学内容 结构体变量的定义、引用、初始化
教学目标
应知 结构体变量的定义(间接定义法,直接定义法)、成员的引用、初始化操作
根据情况定义结构体类型、变量,并引用 应会
在函数中使用结构体变量作函数参数
难点 结构体变量作函数参数
教学方法
项目拓展结合实例教学法
教学过程
1,提问与复习
学习过几种数据类型?分别是那些?分别如何操作(定义、初始化、引用、输入输出)?
2,考虑一个学生的信息,(考虑家长通知书上的成绩单问题)
定义一个学生的信息,姓名( char name[10]),两门课的成绩(int math,english),
求该同学的平均分数,从键盘输入,并且输出结果(不使用结构的情形)
3,将第二步的数据定义为结构体类型(student)变量stu,进行同样的操作,
从键盘输入,并且输出。(结构体变量的定义、成员引用、输入输出)
4,用指向结构体变量的指针变量处理第二步。定义指向结构体变量的指针p,
从键盘输入,并且输出。(用两种方法表示:(*p).成员名,p->成员名)
(通过指向结构体变量的指针引用结构成员)
5,用结构体变量a1作实参,编写函数struct student input(struct student
s)完成从键盘输入数据的功能,在main函数中输出
6,用结构体变量作函数参数,编写函数void output(struct student s)完成数据输出
深 圳 职 业 技 术 学 院Shenzhen Polytechnic
计算机系乌云高娃 Wygw@21cn.com 第 64 页 共 83 页
7,用结构体变量作函数参数,编写函数 struct student average(struct
student s)求该名学生的平均分
8,输入两个学生的成绩信息,按平均分高低输出。
学生容易出错的地方
定义结构体变量前不先定义类型
定义类型时大括号后不加分号
问题与讨论
为什么使用结构体类型?
如果定义一个日期类型的结构体,应包含哪些成员?
小结(可由问题与讨论方式给出)
结构体变量中的成员类型可以各不相同
必须先定义结构体类型,再用该类型定义结构体变量
对于结构变量的使用必须通过引用成员实现,使用.符号
结构变量的初始化时注意数据的顺序、类型要与结构类型定义时相匹配,可以对部分数据初始化
结构变量作函数参数时同简单变量作函数参数时一样,是单向“值传递”方式,形参数据改变不影响实参
课后任务
教科书p.83,10.1,10.2