- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(C、C++)--蒋富--12.ppt-欢迎来到.ppt
;C
数
据
类
型;学习目标 ;学习内容 ;9.1 结构体;1、结构体类型的定义; 在结构体中数据类型相同的成员,既可逐个、逐行分别定义,也可合并成一行定义,就象一次定义多个变量一样。 ;struct Student_Info
{
char no[9], name[20], sex;
unsigned int age, classno;
float grade;
};
struct Student_Info student;;struct student;;2、结构体变量的定义和引用;几点说明:;例 struct student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
} stu1, stu2; ;3、结构体变量的赋值;3、结构体变量的赋值;strcpy (stu1.no, stu.no);
strcpy (stu1.name, stu.name);
stu1.sex = stu.sex;
stu1.age = stu.age;
stu1.classno = stu.classno;
stu1.grade = stu.grade;;【例】 计算学生5门课的平均成绩,最高分和最低分。;4、简化结构体类型名 ;5、结构体数组 ; 结构体数组与二维表的对应关系; 结构体数组的初始化; 结构体数组的引用;【例】统计侯选人选票。;9.3 线性链表;线性链表中的节点可以用一个结构体类型来定义,其形式为: ;2、线性链表的基本操作;【例】 链表创建操作函数Create_LinkList。; pnew-score = score;
pnew-next = NULL;
tail-next = pnew;
tail = pnew;
}
return (head);
};2、线性链表的基本操作;【例】 链表插入操作函数Insert_LinkList 。;2、线性链表的基本操作;【例】链表删除操作函数Delete_LinkList 。;2、线性链表的基本操作;2、线性链表的基本操作;void Free_LinkList(NODE *head)
{
NODE *p, *q;
p = head;
while (p-next != NULL)
{
q = p-next;
p-next = q-next;
free (q);
}
free (head);
};3、线性链表应用举例;9.4 联合体;2、联合体变量的定义和引用 ; 联合体变量的引用;3、联合体变量的赋值 ;3、联合体变量的赋值 ;几点说明: ;【例1】 共用体成员间的相互影响。;【例2】设有一个教师与学生通用的表格,教师数据有姓名、年龄、职业,教研室四项。学生有姓名、年龄、职业、班级四项。编程输入人员数据, 再以表格输出。 ;9.6 枚举类型变量的定义和引用 ;enum weekday {sun, mon, tue, wed, thu, fri, sat} today, nextday;;if (today == 6)
nextday = 0;;9.7 复杂数据类型应用综合举例;【例】 输入n个学生的基本信息,然后对学生信息按成绩从高到低进行排序,并将排序后的结果输出。 ; void main ( )
{
STUDENT **pstu;
int i, num;
printf (input the number of the students: ); //输入学生人数
scanf (%d, num);
if (num = 0) //人数小于或等于零,返回
return;
//动态建立结构体指针数组
pstu = (STUDENT **)malloc (num * sizeof(STUDENT *));
if (pstu == NULL) //分配失败,返回
{
printf (not enough memory!\n);
return;
};//输入学生信息
STUDENT *GetStuInfo (int i)
{
STUDENT *p;
文档评论(0)