C语言程序设计实验九结构体和共用体答案西北民大电气院

上传人:宝路 文档编号:21534335 上传时间:2017-11-24 格式:DOC 页数:5 大小:47.06KB
返回 下载 相关 举报
C语言程序设计实验九结构体和共用体答案西北民大电气院_第1页
第1页 / 共5页
C语言程序设计实验九结构体和共用体答案西北民大电气院_第2页
第2页 / 共5页
C语言程序设计实验九结构体和共用体答案西北民大电气院_第3页
第3页 / 共5页
C语言程序设计实验九结构体和共用体答案西北民大电气院_第4页
第4页 / 共5页
C语言程序设计实验九结构体和共用体答案西北民大电气院_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言程序设计实验九结构体和共用体答案西北民大电气院》由会员分享,可在线阅读,更多相关《C语言程序设计实验九结构体和共用体答案西北民大电气院(5页珍藏版)》请在金锄头文库上搜索。

1、实验九 结构体和共用体一,实验目的:1,掌握结构体类型变量的定义和使用.2,掌握结构体类型数组的概念和应用.3,掌握共用体的概念和使用.4,了解链表的概念, 初步学会对链表进行操作.二,实验准备:1,复习结构体的概念和定义方法.2,复习共用体的概念和定义方法.3,源程序.三,实验步骤及内容:程序改错typedef union long x2;int y4;char z8; MYTYPE;typedef union them;main() printf(%d,sizeof(them);修改后的程序:typedef union long x2;int y4;char z8; MYTYPE;MYTY

2、PE them;main() printf(%d,sizeof(them);程序填空以下程序建立了一个带有头结点的单向链表,结点中的数据可由键盘输入 ,当输入数据为-1 时,表示输入结束(链表头结点的 data 与不放数据,表空的条件是ph next=NULL).#include _struct list int data ;struct list *next ;_ struct list *creatlist() struct list *p, *q, *ph;int a ;ph=(struct list *)malloc(sizeof(struct list);p=q=ph;printf(

3、input an integer number,enter -1 to end :n);scanf(%d,&a);while (a!=-1) p=(struct list *)malloc(sizeof(struct list);p-data=a;q-next=p;ph-next=p;scanf(%d,&a);p-next =0;return(ph);main()struct list *head;head=creatlist();3,有 5 个学生,每个学生的数据包括学号,姓名,三门课成绩, 从键盘输入 5 个学生数据, 要求打印出三门课总平均成绩,以及最高分的学生的数据(包括学号, 姓名,

4、三门课成绩,平均成绩).要求:用一个 input 函数输入 5 个学生数据;用一个 average 函数求总平均分; 用max 函数找出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出.(习题 9.5)源程序:#include#define N 5struct studentchar num6;char name8;float score3;float avr;stuN;int i,j,maxi;float sum,max,average;void main()printf(请输入学生信息:n);for(i=0;imax)max=sum;maxi=i;average/=N;prin

5、tf(no. name score1 score2 core3 averagen);for(i=0;iN;i+)printf(%5s%10s,stui.num,stui.name);for(j=0;j3;j+)printf(%9.2f,stui.scorei);printf(8.2%fn,stui.avr);printf(average=%5.2fn,average);printf(highest score :student %s,%s.n,stumaxi.num,stumaxi.name);printf(his score :%6d,%6d,%6d,average: %5.2fn,stum

6、axi.score0,stumaxi.score1,stumaxi.score2,stumaxi.avr);getch();4,输入和运行以下程序:union dataint i2;float a;long b;char c4;main()union data u;scanf(%d,%d,&u.i0,&u.i1);printf(i0=%d,i1=%dna=%fnb=%ldnc0=%c,c1=%c,c2=%c,c3=%cn,u.i0,u.i1,u.a,u.b,u.c0,u.c1,u.c2,u.c3);输入两个整数 10000,20000 给 u.i0和 u.i1.分析运行结果.运行结果:分析:定

7、义了共用体变量 data.u,将 10000,20000 分别赋给 u.i0,u.i1,分别用%d,%c,%f, 输出这两个数,得到的结果然后将 scanf 语句改成:scanf(%ld,&u.b);输入 60000 给 b.分析运行结果.源程序:union dataint i2;float a;long b;char c4;main()union data u;scanf(%ld,&u.b);printf(i0=%d,i1=%dna=%fnb=%ldnc0=%c,c1=%c,c2=%c,c3=%cn,u.i0,u.i1,u.a,u.b,u.c0,u.c1,u.c2,u.c3);getch();运行结果: 分析:原来的程序:结构体中的数组 i 被赋值 10000 和 20000,并且也没有超过 32767 的范围;但其他的变量没有初始值;改后的程序:只有 b 的值是被赋值的;四, 实验报告:1,根据下列程序段回答问题:struct dataint i;char ch;float f;a;unoin dataint i;char ch;float f;b;试问结构体变量 a 和共用体变量 b 所占用的字节数各是多少解答:结构体变量 a 是七个字节,共用体变量 b 是七个字节 2,源程序.3,错误原因及其修改记录.4,实验结果记录.5,实验体会.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

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