电脑基础知识第8章结构体与共用体程序有效设计甘玲ppt课件.ppt

电脑基础知识第8章结构体与共用体程序有效设计甘玲ppt课件.ppt

ID:58724600

大小:1.38 MB

页数:135页

时间:2020-10-04

电脑基础知识第8章结构体与共用体程序有效设计甘玲ppt课件.ppt_第1页
电脑基础知识第8章结构体与共用体程序有效设计甘玲ppt课件.ppt_第2页
电脑基础知识第8章结构体与共用体程序有效设计甘玲ppt课件.ppt_第3页
电脑基础知识第8章结构体与共用体程序有效设计甘玲ppt课件.ppt_第4页
电脑基础知识第8章结构体与共用体程序有效设计甘玲ppt课件.ppt_第5页
资源描述:

《电脑基础知识第8章结构体与共用体程序有效设计甘玲ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章结构体与共用体程序设计《C语言程序设计》2《解析C程序设计(第2版)》第8章结构体与共用体程序设计2021/7/27本章内容信息查询问题1信息打印问题2约瑟夫环问题3共用体结构体类型与变量、结构体数组共享内存问题4自引用结构、动态内存分配、链表结构体指针位读取问题5位运算、位段3《解析C程序设计(第2版)》第8章结构体与共用体程序设计2021/7/27信息查询问题学号姓名性别数学英语计算机C语言通信网平均分101张三M809098869088.8102李四M828994819187.4103王五F927886798984.8104何六M898178637677.4105周七F98699

2、1856782106……数组是非常有用的一种数据结构,但它的所有元素的数据类型都必须相同。但是,在现实生活中,将一组异型的数据看作一个整体也很重要。如:对一个班的所有学生各课程按平均分排名。假定输入某班30个学生信息(包括:学号、姓名、性别、5门课程成绩、平均分),要求按平均分由高到低输出该班学生信息。我们该怎么做呢?4《解析C程序设计(第2版)》第8章结构体与共用体程序设计2021/7/27问题分析例8-1对一个班的学生成绩进行排名。假定要求输入某班30个学生的信息(包括学号、姓名、性别、3门课成绩),求得平均成绩,要求按平均成绩由高到低输出该班学生信息。【分析】学生“学号”、“姓名”、“

3、性别”使用字符型数据,几门课程的“成绩”使用整型数据,“平均分”使用实型数据,可以分别定义不同的变量来存放这几个类型的数据。如果要显示某个学生的信息,那么要找到该学生的信息就要从这几个变量中分别查找,并且还要同步移动数组元素位置,这给程序员带来了很多不便。5《解析C程序设计(第2版)》第8章结构体与共用体程序设计2021/7/27数组解决方式intstudentId[30];/*最多可以管理30个学生,每个学生的学号用数组的下标表示*/charstudentName[30][10];intstudentSex;intscoreMath[30];/*数学课的成绩*/intscoreEnglis

4、h[30];/*英语课的成绩*/intscoreComputer[30];/*计算机原理课的成绩*/intscoreC[30];/*C语言课的成绩*/intscoreTelecomm[30];/*通信网的成绩*/intaveage[30];/*平均成绩*/6《解析C程序设计(第2版)》第8章结构体与共用体程序设计2021/7/27数组解决方式数据的内存管理方式90788978……83927295……72889887……88.887.484.877.4……101102103104……zhangsanlishiwangwuheliu……MMFM……80829289……分配内存不集中,寻址效率不高

5、对数组进行赋初值时,容易发生错位结构显得比较零散,不容易管理7《解析C程序设计(第2版)》第8章结构体与共用体程序设计2021/7/27希望的内存分配101zhangsanM809098…88.8102lisiM828994…87.4103wangwuF927886…84.8104heliuM898178…77.48《解析C程序设计(第2版)》第8章结构体与共用体程序设计2021/7/27问题分析在C语言中,允许用户自己构造一种新的数据类型,它的成员可以包括各种数据类型,这种数据结构就是结构体(structure),它相当于其他高级语言中的“记录”。结构体中的元素称为“成员”,在“记录”中称

6、为“字段”,用来存储所有“记录”的数据集合称为“数据库”。结构体中的所有成员变量在内存中是连续存储的,结构体的内存空间大小为各成员内存空间大小之和。本例声明一个结构体类型structstudent,它包括:学号、姓名、性别、3门课成绩、平均成绩共5个成员。存放一个学生的信息定义一个结构体变量,要存放30个学生的信息就要定义一个结构体数组。9《解析C程序设计(第2版)》第8章结构体与共用体程序设计2021/7/27例8-1实现代码/*LI8_1.c*/#include/*声明结构体类型*/structstudent{charnum[5];/*学号*/charname[10];

7、/*姓名*/charsex;/*性别:M男,F女*/intscore[3];/*3门成绩*/floataverage;/*平均成绩*/};/*自定义函数的声明*/voidenter(structstudenta[],intn);/*输入学生信息*/voidsort(structstudenta[],intn);/*按平均成绩由高到低排序*/voidprint(structstudenta[],intn);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。