第8章结构体程序设计.ppt
《第8章结构体程序设计.ppt》由会员分享,可在线阅读,更多相关《第8章结构体程序设计.ppt(53页珍藏版)》请在第壹文秘上搜索。
1、 u8.1 结构体数据概述 u8.2 结构体类型和结构体变量u8.3 结构体数组 u8.4 结构体指针变量u8.5 使用链表存储数据u8.6 链表的基本操作u8.7 结构体应用举例结构体数据是由多个数据项组合而成的数据,如表8-1所示的学生信息表,当把每一行视为一个完整数据时,该数据就是一个结构体数据。为了有效地处理这样一类组合数据,C语言提供了“结构体”技术,它可以把多个数据项组合起来,作为一个数据整体进行处理。学号姓名性别成绩9901liujiaM879902wangkaiM899903xiaohuaF819904zhangliF829905wangfengM88u8.2.1 使用结构体变
2、量存储学生信息 u8.2.2 定义结构体数据类型 u8.2.3 结构体变量的定义及使用8-1 利用结构体变量存储表8-1中第1行的学生信息,并输出其姓名和成绩。#includeint main()printf(Name:%sn,stu.name);printf(Score:%dn,stu.score);return 0;l定义结构体类型的一般格式“结构体名”是用户定义的结构体的名字,在以后定义结构体变量时,使用该名字进行类型标识。“成员表”是对结构体数据中每一个数据项的变量说明,其格式与说明一个变量的一般格式相同:“struct”是关键字,”是结构体类型标识符,在类型定义和类型使用时“stru
3、ct”都不能省略。结构体名称可以省略,此时定义的结构体称为无名结构体。l学生组合数据的结构体类型定义:学生组合数据的结构体类型定义:struct studentint num;char name20;char sex;int score;学号学号姓名姓名性别性别成绩成绩9901liujiaM879902wangkaiM899903xiaohuaF819904zhangliF829905wangfengM88 先定义结构体类型,再定义结构体变量。l一般格式如:student1,student2;在定义结构体类型的同时定义结构体变量。l一般格式例如:struct student int num;c
4、har name20;char sex;int score;student1,student2;不定义结构体类型名,直接定义结构体类型变量。l一般格式;例如:struct int num;char name20;char sex;int score;student1,student2;l引用结构体成员的一般格式例如:student1.score 输入两个学生的信息,然后输出学习成绩高的学生的姓名和成绩信息。若成绩相同时,只输出第1个学生的信息。#includeint main()printf(Data1:);scanf(%d%s%c%d,&stu1.num,stu1.name,&stu1.se
5、x,&stu1.score);printf(Data2:);scanf(%d%s%c%d,&stu2.num,stu2.name,&stu2.sex,&stu2.score);if(stu1.score=stu2.score)printf(%s,%dn,stu1.name,stu1.score);elseprintf(%s,%dn,stu2.name,stu2.score);return 0;stu.num9901intstu.nameliujiacharstu.sexMcharstu.score87intl8.3.1 结构体数组的定义及元素引用 l8.3.2 结构体数组的初始化l8.3.3
6、利用结构体数组管理学生信息数组元素是结构体类型的数组,称为结构体数组。先定义结构体类型,然后用结构体类型定义数组变量。例如:struct student information100;定义结构体类型的同时,定义数组变量。定义无类型名的结构体数组变量。例如:结构体数组名下标.成员名information20.score=91;:studentl 结构体数组的初始化例如:struct student info3=9901,liujia,M,87,9902,wangkai,M,89,9903,xiaohua,F,81;按照表8-1的数据,输入一个班级的学生信息,并进行以下处理:把学习成绩在85以上的
7、学生找出来,并输出这部分学生的姓名和成绩。分别统计男生和女生人数。l分析 定义一个结构体类型,并用它定义一个存储学生信息的结构体数组;向结构体数组中输入学生数据;统计,并输出结果。/*program e8-3.c*/#include#define N 5 struct studentint num;char name20;char sex;int score;int main()struct student stuN;int i,count_m=0,count_f=0;printf(Input Data:n);for(i=0;iN;i+)scanf(%d%s%c%d,&stui.num,stu
8、i.name,&stui.sex,&stui.score);printf(Result:n);for(i=0;i85)printf(%s,%dn,stui.name,stui.score);if(stui.sex=M|stui.sex=m)count_m+;else count_f+;printf(Boys=%d,Girls=%dn,count_m,count_f);return 0;l指向结构体数据的指针变量,称为指向结构体数据的指针变量,称为结构体指针变量结构体指针变量 。与其他类型的指针一样,结构体指针变量既可以指与其他类型的指针一样,结构体指针变量既可以指向单一的结构体变量,也可以指向
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 程序设计
