实验9结构体、共用体与枚举类型答案

上传人:飞*** 文档编号:47757943 上传时间:2018-07-04 格式:PDF 页数:8 大小:42.94KB
返回 下载 相关 举报
实验9结构体、共用体与枚举类型答案_第1页
第1页 / 共8页
实验9结构体、共用体与枚举类型答案_第2页
第2页 / 共8页
实验9结构体、共用体与枚举类型答案_第3页
第3页 / 共8页
实验9结构体、共用体与枚举类型答案_第4页
第4页 / 共8页
实验9结构体、共用体与枚举类型答案_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《实验9结构体、共用体与枚举类型答案》由会员分享,可在线阅读,更多相关《实验9结构体、共用体与枚举类型答案(8页珍藏版)》请在金锄头文库上搜索。

1、单元教案续页- 2 - 实验九结构体、共用体与枚举类型实验时间:年月日一、上机验证与分析题1、写出程序ex9_1.c 运行的结果。/* 文件名 ex9_1.c*/ #include struct HAR int x,y; struct HAR *p; h2; int main() h0.x=1; h0.y=2; h1.x=3; h1.y=4; h0.p= h1.p=h; printf(“%d %dn“,(h0.p)-x,(h1.p)-y); return 0; 答案: 3 22、写出程序ex9_2.c 运行的结果。/* 文件名 ex9_2.c*/ #include “stdio.h“ void

2、 main() int z; union data int x; int y; a; a.x=3; a.y=6; z=a.x+a.y; printf(“z=%dn“,z); 单元教案续页- 3 - 答案: z=123、阅读程序ex9_3.c,预测结果并上机验证。/* 文件名 ex9_3.c*/ #include void main() union data int i; char ch; float f; a,b,c; a.i=9; b=a; c=b; printf(“b.i=%d,c.i=%dn“,b.i,c.i); 答案: b.i=9,c.i=94、运行下列程序,写出结果/*文件名 ex9

3、_4.c*/ #include void main() struct List int data ; struct List *next; ; struct List a3=1, p= printf(“%dn“,-p-data); printf(“%dn“,p-next-data); printf(“%dn“,p-data); 答案: 1 3 1单元教案续页- 4 - 三、编程题:1、试用结构体定义一个工厂职工的信息表,包含如下成员: 工号、 姓名、性别、年龄、参加工作日期、联系电话。源程序以ex9_5.c 命名,保存在自己的文件夹内。 解:struct worker char number2

4、0; char name20; char sex; int age; char worked_time80; char phone20; ; 注:本题答案中变量的名称和类型可由学生自行取,只要遵守标识符的命名规则和数据类型与实际情况相吻合。2、试用结构体定义一个学院教师的信息表,包含如下成员: 工号、 姓名、性别、年龄、参加工作日期、联系电话。源程序以ex9_6.c 命名,保存在自己的文件夹内。 解:struct teacher char number20; char name20; char sex; int age; char worked_time80; char phone20; ;

5、注:本题答案中变量的名称和类型可由学生自行取,只要遵守标识符的命名规则和数据类型与实际情况相吻合。3、5 位同学 C语言程序设计课程考核成绩如下表所示:班级(char banji)学号(int num) 姓名(char name) C语言程序设计课程考核成绩(float score) 本网络 102 班010002 张小兵89 本软件 103 班020001 李莉嘉54 本软件 106 班030008 王明星68 本网络 103 班040006 刘伟92 本网络 106 班050007 吴菲49 单元教案续页- 5 - 试编程求这5 位同学该门课程的平均成绩,并输出成绩不及格的同学的班级、学号

6、、姓名与成绩等信息。源程序以ex9_7.c 命名,保存在自己的文件夹内。解:#include struct student char banji20; char num8; char name20; float score; stu5 = “本网络 102“,“01002“,“张小兵 “,89, “ 本软件 103 班“,“02001“,“李莉嘉 “, 54, “ 本软件 106 班“,“03008“,“王明星 “, 68, “ 本网络 103 班“,“04006“,“刘伟“, 92, “ 本网络 106 班“,“05007“,“吴菲“, 49; main() int i; float ave

7、rage, s=0; for(i=0; i struct worker char department20; int num; char name20; float salary; work5 = “技术科 “,10002,“ 张援朝 “,6800, “ 生产科 “,20006,“ 李明瑞 “, 2600, “ 检验科 “,30018,“ 王国庆 “, 4800, “ 后勤部 “,40026,“ 刘小兵 “,3700, “ 经营科 “,50068,“ 吴伟“,1900; main() int i; float average, s=0; for(i=0; i struct bookinfo c

8、har isbn20; char title50; char author20; char publisher50; char pubdate30; float price; book5 = “7115177810“,“Java实用教程 “,“ 李钟尉 “,“ 人民邮 电出版社 “,“2008 年 5 月“,32.00, “7113101015“,“汇编语言程序设计“,“ 白小明 “,“ 中国铁道出版社单元教案续页- 8 - “,“2009 年 8 月“,35.00, “7302108535“,“C语言程序设计“,“ 谭浩强 “,“ 清华大学出版社 “,“2005 年 7 月“,26.00,

9、“7301123713“,“网络工程实用教程 “,“ 汪新民 “,“ 北京大学出版社 “,“2008 年 2 月“,34.00, “7111283812“,“软件 工程 概论 “,“ 郑人 杰“,“ 机械工 业出版 社 “,“2010 年 3 月“,28.00; main() int i; float average, s=0; for(i=0; i5; i+) s += booki.price; if(booki.price30.00) printf(“书号: %s “,booki.isbn); printf(“书名: %s “,booki.title); printf(“作者: %s “,

10、booki.author); printf(“出版社: %s “,booki.publisher); printf(“出版日期: %s “,booki.pubdate); printf(“价格: %.2fn“,booki.price); average = s/5 ; printf(“平均价格: %.2fn“,average); 【实验小结】应知:1、结构体、共用体、枚举类型的概念及其定义方法;2、结构体变量、共用体变量、枚举类型变量的定义;3、动态内存分配的概念及动态内存分配函数。4、链表的概念。应会:1、结构体变量、共用体变量、枚举类型变量的使用;2、结构体数组及结构体指针的使用;3、动态

11、内存分配函数的使用;4、链表的使用。单元教案续页- 9 - 【实验思考】1、当定义一个结构体变量时,系统为它分配的内存空间是多少?答案:当定义一个结构体变量时,系统为它分配的内存是各成员所占内存量的总和。2、结构体与数组的区别是什么?答案 :数组只能存放同样类型的数据,而结构体则能够存放不同类型的数据,结构体里面也可以有结构体。3、用结构体指针作为函数参数与用结构体变量作为函数参数有什么不同?答案:首先,调用函数时,因为函数参数要临时存放到栈中,若结构体变量作为参数,则需要生成一个结构体的副本,将其存放到栈中;而结构体指针作为变量,只需将指针存放到栈中即可,提高了程序的空间效率。其次,结构体指针作为函数参数:可以在函数中通过该指针引用结构体,当在函数中修改了结构体的成员变量后,指针所指向的结构体本身也被改变了。而当结构体变量作为函数参数;在函数中可通过变量直接使用结构体,但是,如果在函数中修改了结构体的成员变量后,结构体本身并未发生变化,只是副本被改变。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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