C语言任务六复杂构造数据类型的应用

C语言任务六复杂构造数据类型的应用

ID:39548066

大小:311.50 KB

页数:27页

时间:2019-07-06

C语言任务六复杂构造数据类型的应用_第1页
C语言任务六复杂构造数据类型的应用_第2页
C语言任务六复杂构造数据类型的应用_第3页
C语言任务六复杂构造数据类型的应用_第4页
C语言任务六复杂构造数据类型的应用_第5页
资源描述:

《C语言任务六复杂构造数据类型的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、任务六复杂构造数据类型的应用任务六复杂构造数据类型的应用6.1教学目标1.熟练掌握结构体的定义和使用。2.了解指向结构体变量的指针的应用。3.掌握共用体的定义和使用。4.了解枚举类型的定义和使用。5.了解链表的概念和应用6.2工作任务1.结构体类型的使用2.共用体类型的使用3.枚举类型的使用4.简单链表的应用6.3相关实践知识6.3.1结构体类型的使用【案例6-1】建立有10个学生成绩的结构记录(学生有学号,姓名,成绩这三个信息),输出平均分,并按照成绩从高到低的顺序输出学生记录。算法分析:①学生有学号,姓名,成绩这三个信息数据类型分别是整型

2、,字符数组,浮点型,因为数组只能存放相同类型的数据,故不能用二维数组来描述,我们采用结构体来建立学生记录。structstudent{intnum;charname[10];floatscore;};structstudents1;结构体类型structstudent是我们自定义的数据类型,一个结构变量s1只能存放一个学生的记录,若班上有10个学生,存放10个学生的记录,需要用结构体数组:structstudentstud[10];数组中的每个元素都是student结构类型② 用for循环输入这10个学生信息,同时把每个输入的成绩加入总成绩。

3、算出总平均成绩并输出。③ 用选择排序算法,按成绩对结构体数组进行排序。④ 按照成绩从高到低的顺序输出学生记录具体流程图如图6-1所示。27任务六复杂构造数据类型的应用图6-1【案例6-1】的流程图C语言程序如下:#defineN10structstudent{intnum;/*学号*/charname[10];/*姓名*/floatscore;/*成绩*/};/*学生结构体类型声明结束*/structstudentstud[N];/*定义学生结构体数组*/main(){inti,j,index;floatsum=0;/*index在排序时用来

4、标记当前最小值的位置,sum放总平均成绩*/structstudenttemp;/*排序时交换位置需要用到的变量*/printf("pleaseinputnumnamescore");for(i=0;i

5、ndex].score)index=j;temp=stud[index];stud[index]=stud[i];stud[i]=temp;}printf("Theaverage:%f",sum/N);/*平均分*/for(i=N-1;i>=0;i--)/*从高到低的顺序输出学生记录*/printf("num=%d,name=%s,score=%f",stud[i].num,stud[i].name,stud[i].score);}运行时把#defineN10改成#defineN2结果如下:pleaseinputnumnamescor

6、e27任务六复杂构造数据类型的应用用户输入:1zhouyu88↙2caocao85↙输出:Theaverage:86.500000Num=1,name=zhouyu,score=88.00000Num=2,name=caocao,score=85.00000程序说明:①structstudent{intnum;/*学号*/charname[20];/*姓名*/floatscore;/*成绩*/};声明了一个结构体类型,该类型名字取为student,该类型把3种不同类型的变量捆绑在一起来描述学生信息。②structstudentstud[10]

7、;定义student结构体类型的一个有10个元素的数组,名字为stud,用来存放10个学生的信息。③scanf("%d%s",&stud[i].num,stud[i].name);结构体的每一个成员都是通过其名字来引用,引用形式如下:结构体变量名.成员名输入的时候,整型成员num的输入地址的形式是&stud[i].num有‘&’。而字符数组成员的输入地址形式是stud[i].name没有‘&’,这和普通整型变量,普通字符串的输入形式是一样的。④temp=stud[index];stud[index]=stud[i];stud[i]=temp;

8、C语言中,两个相同类型结构体变量可以相互整体赋值,但除了整体赋值操作外,不可以对结构体变量名直接引用,只能对结构体变量中的成员分别进行引用。【案例6-2】学生成绩管

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

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

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