C语言程序设计PPT_第8章_结构体程序设计

上传人:zw****58 文档编号:51478956 上传时间:2018-08-14 格式:PPT 页数:54 大小:1,020KB
返回 下载 相关 举报
C语言程序设计PPT_第8章_结构体程序设计_第1页
第1页 / 共54页
C语言程序设计PPT_第8章_结构体程序设计_第2页
第2页 / 共54页
C语言程序设计PPT_第8章_结构体程序设计_第3页
第3页 / 共54页
C语言程序设计PPT_第8章_结构体程序设计_第4页
第4页 / 共54页
C语言程序设计PPT_第8章_结构体程序设计_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《C语言程序设计PPT_第8章_结构体程序设计》由会员分享,可在线阅读,更多相关《C语言程序设计PPT_第8章_结构体程序设计(54页珍藏版)》请在金锄头文库上搜索。

1、 C语言程序设计(第3版)张磊编著, 2012年10月清华大 学出版社出版。 该教材面向程序设计初学者编写, 适合将C语言作为第一门程序设计语言的高校学生。该教材理论教学和实验教学合二为一, 在每章之后均设有实验指导。实验指导分为基础实验和综合实验两部分。 基础实验紧 密结合教材中的例题程序设置,以“理解验证完善扩充提 高”为实验教学线索,重在巩固课堂教学知识,提高调试程序及完善程序的能力; 综合实验以算法设计和程序实现为重点,训练运 用所学知识解决实际问题的能力。该教材同时配有程序资源和试题库。Email:C C语言程序设计语言程序设计( (第第3 3版版) )课件课件语言程序设计(第语言程

2、序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社C C语言程序设计语言程序设计第第8 8章章 结构体程序设计结构体程序设计 C语言程序设计(第3版) 张 磊 编著21世纪高等学校规划教材 清华大学出版社语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社第8章 结构体程序设计u8.1 结构体数据概述 u8.2 结构体类型和结构体变量u8.3 结构体数组 u8.4 结构体指针变量u8.5 使用动态链表存储数据u8.6 链表的基本操作u8.7 结构体应用举例语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清

3、华大学出版社8.1 结构体数据概述结构体数据是由多个数据项组合而成的数据,如表8-1所示的学生信息表,当把每一行视为一个完整数据时,该数据就是一个结构体数据。为了有效地处理这样一类组合数据,C语言提供了“结构体”技术,它可以把多个数据项组合起来,作为一个数据整体进行处理。 学号姓名性别成绩 9901liujiaM879902wangkaiM899903xiaohuaF819904zhangliF829905wangfengM88语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社8.1 结构体数据概述语言程序设计(第语言程序设计(第3 3版)张磊编著版)

4、张磊编著 清华大学出版社清华大学出版社8.2 结构体类型和结构体变量u8.2.1 使用结构体变量存储学生信息 u8.2.2 定义结构体数据类型 u8.2.3 结构体变量的定义及使用语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社8.2.1使用结构体变量存储学生信息例例8-1 利用结构体变量存储表8-1中第1行的学生信息,并输出其姓名 和成绩。 #include structstruct student student /* /* 定义结构体数据类型定义结构体数据类型 * */ / intint num; num; char name20;char n

5、ame20; char sex;char sex; intint score; score; ;void main() structstruct student student stustu=9011,“liujia“,M,87;=9011,“liujia“,M,87; printf(“Name: %sn“,stu.name); printf(“Score: %dn“,stu.score); 语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社8.2.2 定义结构体数据类型l定义结构体类型的一般格式 structstruct 结构体名结构体名 成员表成员

6、表; ;说明: “结构体名”是用户定义的结构体的名字,在以后定义结构体变量时, 使用该名字进行类型标识。 “成员表”是对结构体数据中每一个数据项的变量说明,其格式与说明 一个变量的一般格式相同: 数据类型名数据类型名 成员名成员名; ; “struct”是关键字,“ “structstruct 结构体名结构体名”是结构体类型标识符,在类型定 义和类型使用时“struct”都不能省略。 结构体名称可以省略,此时定义的结构体称为无名结构体。语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社9.1.2结构体类型定义l学生组合数据的结构体类型定义: struc

7、t student int num; char name20; char sex; int score; ; 学号姓名性别成绩 9901liujiaM879902wangkaiM899903xiaohuaF819904zhangliF829905wangfengM88语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社8.2.3结构体变量的定义及使用1. 1. 定义结构体变量定义结构体变量 先定义结构体类型,再定义结构体变量。l一般格式 structstruct 结构体类型名称结构体类型名称 结构体变量名;结构体变量名; 如: structstruct

8、student student student1,student2; 语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社8.2.3结构体变量的定义及使用 在定义结构体类型的同时定义结构体变量。l一般格式 structstruct 结构体名结构体名 成员表成员表 结构体变量结构体变量1, 1, 结构体变量结构体变量2 2, ,结构体变量,结构体变量n;n; 例如:struct studentint num; char name20;char sex;int score; student1, student2;语言程序设计(第语言程序设计(第3 3版)张磊

9、编著版)张磊编著 清华大学出版社清华大学出版社8.2.3 结构体变量的定义及使用 不定义结构体类型名,直接定义结构体类型变量。l一般格式 structstruct 成员表成员表; ; 结构体变量结构体变量1,1,结构体变量结构体变量2,2,结构体变量结构体变量n n; 例如:struct int num; char name20;char sex; int score;student1, student2; 语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社8.2.3 结构体变量的定义及使用2. 2. 引用结构体成员引用结构体成员l引用结构体成员的一般

10、格式结构体变量名结构体变量名. .成员名称成员名称例如: student1.age例例8-28-2 输入两个学生的信息,然后输出学习成绩高的学生的 姓名和成绩信息。若成绩相同时,只输出第1个学生的信息。#include structstruct student student intint num; num; char name20;char name20; char sex;char sex; intint score; score; stu1,stu2;stu1,stu2; void main() printf(“Data1: “); scanf(“%d %s %c %d“, printf

11、(“Data2: “); scanf(“%d %s %c %d“, if(stu1.score=stu2.score) printf(“%s,%dn“,stu1.name,stu1.score); else printf(“%s,%dn“,stu2.name,stu2.score); 语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社8.2.3 结构体变量的定义及使用3.3.结构体变量的初始化结构体变量的初始化:定义结构体变量时对其成员赋初值。:定义结构体变量时对其成员赋初值。n n初始化的一般形式初始化的一般形式 structstruct 结构体名结

12、构体名 结构体变量结构体变量=初始化数据初始化数据;例如:例如:说明:说明: “ “ ” ”中的初始化数中的初始化数 据用逗号据用逗号“,”,”分隔。分隔。 初始化数据的个数与结初始化数据的个数与结 构体成员的个数应相同,构体成员的个数应相同, 它们是按成员的先后顺序它们是按成员的先后顺序 一一对应赋值的。一一对应赋值的。 每个初始化数据必须符每个初始化数据必须符 合与其对应的成员的数据合与其对应的成员的数据 类型。类型。structstruct student student intint num; num; char name20;char name20; char sex;char se

13、x; intint score; score; stustu=9901,“liujia“,M,87;=9901,“liujia“,M,87;成成员员员员初始化数据初始化数据数据数据类类类类型型 stu.num9901int stu .nameliujiachar stu.sexMchar stu.score87int语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社8.3 结构体数组l8.3.1 结构体数组概述l8.3.2 结构体数组的初始化l8.3.3 利用结构体数组管理学生信息语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学

14、出版社清华大学出版社8.3.1 结构体数组概述数组元素是结构体类型的数组,称为结构体数组。 l定义方法与其他结构体变量的定义方法相同 。 先定义结构体类型,然后用结构体类型定义数组变量。 例如:struct student information100; 定义结构体类型的同时,定义数组变量。 定义无类型名的结构体数组变量。 例如: structstruct intint year; year;intint month; month;intint day; day; date110,date210;date110,date210; l引用结构体数组成员的一般格式 结构体数组名下标.成员名 inf

15、ormation20.score=91;例如: structstruct student intint year; year;intint month; month;intint day; day; date110,date210;date110,date210;语言程序设计(第语言程序设计(第3 3版)张磊编著版)张磊编著 清华大学出版社清华大学出版社8.3.2结构体数组的初始化 l结构体数组的初始化 例如: struct student info3= 9901,“liujia“,M, 87,9902, “wangkai“, M, 89, 9903, “xiaohua“,F,81;数组元素数组元素成员成员numnum成员成员namename成员成员sexsex成员成员scorescoreinfo0info099019901liujialiujiaM M8787info1info199029902wangkaiwangkaiM M8989info2info299039903xiaohuaxiaohuaF F8181语言程序设计(第语言程序设计(第3 3版)张

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号