第九章结构体与共用体
【教学目标】
使用结构体解决简单问题。
【教学内容】
结构体的概念和特点;
结构体变量的定义及初始化;
结构体数组;
结构体指针;
共用体的概念、定义和使用方法;
枚举类型的概念、定义。
【教学重点和难点】
结构体类型的定义、结构体变量的初始化方法;
共用体变量的使用方法;
结构体指针的应用;
共用体变量的使用。
【问题的提出】
前面的课程我们学习了一些简单数据类型(整型、实型、字符型)的定义和应用,还学
习了数组(一维、二维)的定义和应用,这些数据类型的特点是:当定义了某一特定数据类
型,就限定该类型变量的存储特性和取值范围。对简单数据类型来说,既可以定义单个的变
量,也可以定义数组。而数组的全部元素都具有相同的数据类型,或者说是相同数据类型的
一个集合。
在日常生活中,我们常会遇到一些需要填写的登记表,如住宿表、成绩表、通讯地址等。
在这些表中,填写的数据是不能用同一种数据类型描述的,在住宿表中我们通常会登记上姓
名、性别、身份证号码等项目;在通讯地址表中我们会写下姓名、邮编、邮箱地址、电话号
码、E-m a i l 等项目。这些表中集合了各种数据,无法用前面学过的任一种数据类型完全描
述,因此 C 语言引入一种能集中不同数据类型于一体的新的数据类型—结构体类型。结构体
类型的变量可以拥有不同数据类型的成员,是不同数据类型成员的集合。
所谓共用体类型是指将不同的数据项组织成一个整体,它们在内存中占用同一段存储单
元。
【教学要点】
1. 结构体变量的使用
【例 】定义一个结构变量, 其中每个成员都从键盘接收数据, 然后对结构中的浮点数求
和, 并显示运算结果, 同时将数据以文本方式存入一个名为 的磁盘文件中。
#include <>
main()
{
struct{ /*定义一个结构变量*/
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} a;
FILE *fp;
float wage;
char c='Y';
fp=fopen("", "w"); /*以只写方式创建一个文件*/
while(c=='Y'||c=='y')
{
printf("\nName:");
scanf("%s",); /*输入姓名*/
printf("Age:");
scanf("%d",&); /*输入年龄*/
printf("Sex:");
scanf("%s",); /*输入性别*/
printf("Dept:");
scanf("%s",); /*输入部门*/
printf("Wage1:");
scanf("%f",&); /*输入工资*/
printf("Wage2:");
scanf("%f",&);
pr
第九章 结构体与共用体 来自淘豆网m.daumloan.com转载请标明出处.