(
课件网) 模块9 用户自定义的数据类型--结构体 学习目标 1.认识结构体 2.定义结构体类型 3.定义结构体变量 4.使用结构体变量 5.结构体数组 任务1 认识结构体 任务描述: 将表9-1中的6个不同的成员,学号,姓名,性别,出生日期,入学分数,家庭地址,电话组合起来,形成一个新的数据结构,并起名叫student。 代码提示: struct student { int num; char name[8]; char sex[4]; char birthday[10]; float score; char add[30]; char tel[20]; getch(); }; 任务2 建立结构体类型 建立结构体list 任务描述: 文明寝室评比情况表,见表9-2,将表9-2中的6个不同的成员,班级,寝室,纪律,卫生,礼仪和总分组合起来,形成一个新的数据结构,并起名叫list。 表9-2 文明寝室评比情况表 班级 寝室 纪律 卫生 礼仪 总分 12级1班 201 5 4 4 13 12级2班 202 3 4 4 11 1.结构体类型的定义 struct 结构体名 { 成员列表 }; 2.注意事项: 定义结构体类型的数据时,关键字struct不能省略。结构体名是用户自己起的,符合变量命名规则就可以了。 结构体名后面不能有分号。 成员列表在大括号内,大括号不能省略。 大括号后面是分号,因为是定义语句,语句结束标志是分号。 在成员列表中,对各成员都要进行定义说明。 任务3 定义结构体变量 先声明结构体类型,再定义该类型的变量 任务描述: 首先,将表9-1中的6个不同的成员,学号,姓名,性别,出生日期,入学分数,家庭地址,电话组合起来,形成结构体student,然后,定义两个变量s1和s2,分别用来存放张同学和李同学的个人信息。 任务解析: 先定义结构体类型,后定义结构体变量。 定义结构体变量的形式(1) struct 结构体名 { 成员列表 }; struct 结构体名 结构体变量列表; 结构体类型和其变量同时定义 任务描述: 将文明寝室评比情况表9-2中的6个不同的成员,班级,寝室,纪律,卫生,礼仪和总分组合起来,形成结构体类型,并起名叫list,同时,为该结构体定义两个变量b1和b2,用来存放12级1班和2班的文明寝室评比情况。 代码提示: struct list { char class[12]; char room[4]; int jl; int ws; int ly; int zf; getch(); }b1,b2; 任务解析: 结构体类型和结构体变量同时定义。 定义结构体变量的形式(2) struct 结构体名 { 成员列表 }结构体变量列表; 直接定义变量 任务描述: 将电子产品销售统计表9-3中的6个不同的成员,产品代码,产品名称,生产厂家,销售员,单价和数量组合起来,不用起名,同时,定义该结构体类型的两个变量c1和c2,用来存放饮水机和加湿机两个电子产品销售情况。 代码提示: struct { char dno[4]; char dname[20]; char sc[20]; char name[8]; float price; int num; getch(); }c1,c2; 任务解析: 直接定义结构体变量。 定义结构体变量的形式(3) struct { 成员列表 }结构体变量列表; 任务4 引用结构体变量 一、 使用结构体student中的变量s1和s2 任务描述: 首先,将表9-1中的6个不同的成员,学号,姓名,性别,出生日期,入学分数,家庭地址,电话组合起来,形成结构体student,然后,定义两个变量s1和s2,分别输入张同学和李同学的个人信息,最后,输出他们的个人信息。 结构体变量的引用形式 结构体变量名.成员名 二、 使用结构体list中的变量b1和b2 任务描述: 将文明寝室评比情况表9-2中的6个不同的成员,班级,寝室,纪律,卫生,礼仪和总分组合起来,形成结构体类型,并起名叫list,同时,为该结构体定义两个变量b1和b2,分别输入12级1班和2班的文明寝室评比情况,最后,输出结果。 任务5 初始化结构体变量 任务描述: 将电子产品销售统计表9-3中的6个不同的成员,产品代码,产品名称,生产 ... ...