- 0
- 0
- 约2.16万字
- 约 77页
- 2017-11-12 发布于广东
- 举报
第8章 结构体、共用体与枚举类型 本章要求 理解结构体类型的概念,掌握结构体变量的定义和使用 掌握结构体数组、结构体指针的定义和使用 理解共用体的概念,掌握共用体变量的定义和使用 了解枚举数据类型及自定义数据类型的使用 领会自定义数据类型标识符的意义 理解链表的概念,初步掌握动态链表的常见操作 本章重点 结构体变量的定义和使用 链表的概念 本章难点 动态链表的常见操作 第8章 结构体、共用体与枚举类型 8.1 结构体类型与结构体变量 8.2 结构体数组 8.3 结构体与函数 8.4 共用体 8.5 枚举类型 8.6 自定义类型标识符 8.7 动态数据结构——链表 8.1 结构体类型与结构体变量 8.1.1 结构体概述 例8-1 通过建立表8-1的学生的信息表,要求从键盘输入学生的信息,并将学生成绩小于平均成绩的学生信息输出。 8.1 结构体类型与结构体变量 #include stdio.h #define N 4 void main() { int num[N]; /* 存放各学生的学号 */ char name[N][10]; /* 存放各学生的姓名 */ char sex[N]; /* 存放各学生的性别*/ int age[N]; /* 存放各学生的年龄*/ float score[N]; /* 存放各学生的成绩*/ int i; float sum=0,aver; /* 表示总成绩和平均成绩 */ for(i=0;iN;i++) { scanf(%d %s %c %d %f,num[i],name[i],sex[i],age[i],score[i]); sum+=score[i]; } aver=sum/N; printf(\n); 8.1 结构体类型与结构体变量 for(i=0;iN;i++) if (score[i]aver) printf(%d %s %c %d %f\n,num[i],name[i],sex[i],age[i], score[i]); } 由于程序num、name、sex、age、score分别定义为互相独立的数组,难以反映它们之间的内在联系。 8.1 结构体类型与结构体变量 #include stdio.h #define N 4 struct student /* 定义学生类型结构体 */ { int num; /* 学号成员 */ char name[20]; /* 姓名成员 */ char sex; /* 性别成员 */ int age; /* 年龄成员 */ float score; /* 成绩成员 */ }; void main() { struct student stu[N]; /* 定义学生结构体类型数组 */ int i; float sum=0,aver; /* 表示总成绩和平均成绩 */ 8.1 结构体类型与结构体变量 for(i=0;iN;i++) {scanf(% d% s% c%d %f,stu[i].num,stu[i].name,stu[i].sex, stu[i].age,stu[i].score); sum+=stu[i].score; } aver=sum/N; printf(\n); for(i=0;iN;i++) if (stu[i].scoreaver) printf(%d %s %c %d %f\n,stu[i].num,stu[i].name,stu[i].sex, stu[i].age,stu[i].score); } 8.1 结构体类型与结构体变量 说明: 使用结构体数据,可将一个学生的数据有机组合起来,例中的stu是个结构体数组,stu[i]表第i个学生的数组,stu[i].num表第i个学生的学号,stu[i].name表第i个学生的姓名等。 结构体的每一个成员都是通过其名字来引用,引用形式如下: 结构体变量名. 成员名 结构体的引入为处理复杂的数据结构提供了有力的手段(如链表等),也为函数间传递一组不同类型的数据提供了方便。特别是对于数据结构比较复杂的大型程序提供了方便。 8.1 结构体类型与结构体变量 8.1.2 结构体的声明 定义结构体类型的一般形式: struct 结构体名 { 结构成员1; 结构成员2; …… 结构成员n; } 其中,struct为结构体定义的关键字,不能省略。结
您可能关注的文档
- 人工智能及专家系统课件作者敖志刚第12章节Prolog语言及其程序设计.ppt
- 人工智能及专家系统课件作者敖志刚第13章节基于Prolog程序实现的专家系统开发实例.ppt
- 人工智能原理及应用课件作者罗兵第2章节知识的表示.ppt
- AutoCAD绘图基础实训教程课件作者何文平第三章节精确绘图方法.ppt
- 人工智能原理及应用课件作者罗兵第3章节确定性推理方法.ppt
- AutoCAD绘图基础实训教程课件作者何文平第十一章节图形输出与综合应用.ppt
- 人工智能原理及应用课件作者罗兵第6章节机器学习.ppt
- AutoCAD绘图基础实训教程课件作者何文平第四章节二维图形编.ppt
- 人机界面设计(第二版)课件作者王文周苏涂嘉庆第03章节硬件人机界面设计.ppt
- 人机界面设计课件作者周苏第4讲软件人机界面设计.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)