(1.8)--第8章 自定义类型C语言程序设计.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(1.8)--第8章 自定义类型C语言程序设计.ppt》由会员分享,可在线阅读,更多相关《(1.8)--第8章 自定义类型C语言程序设计.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章 自定义类型自定义类型1 1程序不仅用于数值计算,更广泛地用于处理非数值数据,甚至具有一定结构的非数值数据。例如:性别、月份、颜色,图书、学生、教室等。由一系列相同类型或不同类型的数据构成的数据集合,用于表示具有一定结构的复杂数据称为结构体类型。使用覆盖技术使几种不同类型的变量存放到同一段内存单元中互相覆盖以节省内存空间。这种结构在C语言中被称作“共用体”类型结构。枚举是用自然语言中含义清楚的单词表示变量取值的一种方法。这种方法会使程序更容易阅读和理解。用这种方法定义的类型称枚举类型。学习目标:21.理解结构体类型的含义3.了解共用体类型的定义及使用4.了解枚举类型的定义及使用2.掌
2、握结构体类型的定义及使用本章重点内容:结构体类型1共用体类型23枚举类型38.1结构体4 4结构体(struct)是由一系列具有相同或不同类型的数据构成的数据集合。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体是一些元素的集合,这些元素称为结构体的成员(member)。1.结构体类型结构体类型第一个成员第二个成员第三个成员第n个成员第 一 个 成 员第 二 个 成 员第 三 个 成 员第 n个 成 员结构体是从多个方面(成员)描述同一个体,一维数组是从同一个方面描述不同个体。性别年龄身高体重学号身高1身高2身高3身高4身高5结构体和数组对成员有不同表示方式。18.1结构
3、体5 52.结构体的定义与声明结构体的定义与声明struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,必须列出其所有成员;variable-list为此结构体声明的变量。structtagmember-listvariable-list;tag、variable-list至少要出现1个。以下为示例:structinta;charb;doublec;s1,s220;structSimple1inta;charb;doublec;typedefstructinta;charb;doublec;Simple2;structSimple1t1,t220;Simple
4、2u1,u220;8.1结构体6 63.结构体结构体变量的初始化与赋值变量的初始化与赋值typedefstructcharnum11charname7;charsex;floatscoreM;floattotal;Student;Students1,s2=1508100201,丁兆云,M,92,73,67,92,74,90,0;strcpy(s2.num,1508100201);strcpy(s2.name,丁兆云);s2.sex=M;s2.score0=92;s2.score1=73;s2.score2=67;s2.score4=74;s2.score5=90;s2.average=0;s2
5、=s1;允许相同类型的结构体变量整体赋值7 78.1结构体4.结构体应用:结构体应用:设计一种结构存储下列数据,根据设计一种结构存储下列数据,根据计算所得计算所得总分总分由大到小的顺序排序输出。由大到小的顺序排序输出。学号学号姓名姓名性性别C程程 体育体育英英语高数高数 近代史近代史导论总分分1508100201丁原博男9273679274901508100202马云男9275637675551508100203董明珠女718568716677typedefstructcharnum11charname7;charsex;floatscoreM;floattotal;Student;Stude
6、ntsN;(1)数据类型设计:数据类型设计:用结构体数组存储一个班级学生的信息用结构体数组存储一个班级学生的信息8 88.1结构体for(i=0;iN;i+)printf(输入学号:);gets(swi.num);printf(输入姓名:);gets(swi.name);printf(输入性别(MorF):);ch=getchar();if(ch=m|ch=M)swi.sex=M;elseswi.sex=F;swi.total=0;for(j=0;jM;j+)printf(输入成绩%d:,j+1);scanf(%f,&swi.scorej);swi.total+=swi.scorej;fflu
7、sh(stdin);(2)读入读入N名同学信息和名同学信息和M门功课成绩,并计算总分:门功课成绩,并计算总分:9 9(3)对)对n名同学根据总分由大到小排序:名同学根据总分由大到小排序:8.1结构体voidsort(students,intn)inti,j;Studenttemp;for(i=0;in-1;i+)for(j=0;jn-1-i;j+)if(sj.totalsj+1.total)temp=sj;sj=sj+1;sj+1=temp;/ifprintf(-n);printf(|名次|学号|姓名|性别|成绩1|成绩2|成绩3|成绩4|成绩5|成绩6|总分|n);printf(-n);fo
8、r(i=0;iN;i+)printf(|%4d|%10s,i+1,swi.num);printf(|%6s,swi.name);if(sw0.sex=M)printf(|男);elseprintf(|女);for(j=0;jM;j+)printf(|%5.1f,swi.scorej);printf(|%5.1f|n,swi.total);printf(-n);/for1010(4)对排序结果的输出)对排序结果的输出8.1结构体8.1结构体structDateintmonth;intday;intyear;typedefstructStudentintnum;charname20;charsex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1.8-第8章 自定义类型C语言程序设计 1.8 自定义 类型 语言程序设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内