第 9 章 用户自定义数据类型
主要任务 :
对“班级学生成绩管理系统”中学生的数据进行增
加、删除、修改、显示等操作。在这次任务中,
主要培养学生掌握自定义数据类型的定义及使用,
并将用户自定义类型应用到“班级学生成绩管理系
统”中。
知识目标:
1 、掌握结构体类型的定义。
2 、掌握定义结构体类型变量及引用。
3 、掌握使用结构体变量成员运算符和指针
变量引用成员运算符输入输出结构体成员。
4 、掌握结构体数组的定义及使用。
能力目标:
1 、能够正确定义结构体类型和结构体变量。
2 、能正确使用结构体变量成员运算符和指针变量
引用成员运算符输入输出结构体成员。
3 、能将结构体类型数据定义成数组。
4 、能用数组元素下标和指针变量访问结构体类型
的数组成员。
5 、能将“班级学生成绩管理系统”中的学生信息定义
成结构体类型。
6 、能对“班级学生成绩管理系统”中的结构数组进行
输入输出操作。
7 、能用结构体实现“班级学生成绩管理系统”中学生
数据的增加、删除、修改、显示等操作。
用结构体实现学生数据的操作
任务情境 :
1 、在本次任务中,要求学生掌握结构类型的构造及使用,通过使用结
构体类型来实现在“班级学生成绩管理系统”中数据的增加、删除、修
改、显示等操作,以保证系统功能的实现。
2 、在“班级学生成绩管理系统”中 , 学生的记录数据通常采用不同的数据
类型来存放。例如,在学生基本信息登记表中,学号通常采用整型或
字符型;姓名往往为字符型;性别应为字符型;年龄采用整型;成绩
可以为整型或实型。 由于数据类型多样,因此不适合采用数组形式
来存放这样一组数据。因为数组中各元素的类型和长度都必须一致,
以便于编译系统处理。为了解决数据类型多样化的问题,在C语言中
给出了解决问题的办法,即构造一定新的数据类型——“结构( struct
ure )”或叫“结构体”,它是一种构造类型;这种构造类型是由若干“成
员”组成的。每一个成员类型可以是一个基本数据类型或者又是一个
构造类型。因此这种构造类型也要象基本类型一样在说明和使用之前
要先定义它。
知识必备 :
1 、结构体类型的声明
在前面章节中讲过,用数组来存放数据。由于数组中各元素的类型和长
度都必须一致,以便于编译系统处理,而在学生基本信息表中,当学生
的学号、姓名和各科成绩的类型和长度存在差异的情况下,再采用数组
已经不能满足要求了。因此,需要构造出一种新的类型——“结构
( structure )”或叫“结构体”。 “结构”是一种构造类型,它是由
若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一
个构造类型。
声明结构体类型的形式为:
struct 结构体名
{
类型名 成员 1 名 ;
类型名 成员 2 名 ;
……
类型名 成员 n 名 ;
};