- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言四川师范大学信息与计算科学冯山实验九课案
数学与软件科学学院 实验报告
2015年 6月16日
课程名称:C语言程序设计 专业:信息与计算科学 2014 级 6班
实验编号: 实验九 指导教师:冯山
姓名: 杨帆 学号:2014060634 实验得分
一、实验目的及要求
(1) 掌握C语言环境下结构体和共用体类型变量的定义和使用方法;
(2) 掌握结构体类型数组的概念和使用;
(3) 掌握指向结构体变量的指针变量、尤其是链表概念;
二、实验内容
1. 首先熟悉结构体类型变量的基本声明方法、结构体类型变量的内存分配原则、初始化和引用结构体变量及其成员变量的基本方法;然后掌握结构体变量的输入、输出方法。(参见教材例10-1~10-5)
2.基于结构体数组的应用实验。
(1) 有n个学生,每个学生的数据包括学好(num)、姓名(name[20])、性别(sex)、年龄(age),以及三门课程的成绩(score[3])。要求:在main()函数中输入这些学生的这些数据,然后设计一个函数count()来计算每个学生的总分和平均分,最后,打印出所有数据信息(包含原来输入的学生原始数据信息和求解出来的新信息)。
(2) 对第(1)题实验,求出其中成绩最好的人和成绩最差的人,并显示出来。(假定成绩最好和最差的人都只有一个)
(3)* 如果假定成绩最好和最差的人的个数不一定唯一,程序应该如何修改才能完成求出所有最好和最差者,以及输出它们来。
3.*链表实验。
(1) 建立一个链表,每个结点包含:职工号、工资。用malloc()函数开辟新结点,用free()函数回收不用的结点空间。要求从键盘输入5个员工的数据信息(用create_list()),然后,用函数output_list()将它们一一打印出来,用free_list()将链表中的结点空间回收。假设职工编号为1001,1005,1008,1010,1101。
注意:malloc()和free()为系统函数。create_list(),output_list(),free_list()为用户自定义函数。
(2) 在(1)的基础上,新增一个函数inset_node()插入员工1006和1032的数据信息。要求新插入的员工后,员工仍然按职工号顺序排列。
(3) 在(2)的基础上,新增一个函数delete_node(),可以用来将指定员工的数据从链表中删除。
(4) 在(3)的基础上,增加回收所删除结点所占内存空间的功能。
(5)* 如何查看和测试链表中结点的内存空间地址?能否由此分析(1)、(2)、(3)中链表结点的逻辑结构?
三、实验步骤
(1) 上机验证所选题目的程序设计结果,并做相应测试和分析;
(2) 进行实验分析;
(3) 总结结构体程序设计和实现的基本方法及其经验,尤其是链表技术;
(4) 编写实验报告
四、实验结果及分析
1、 结构体类型变量的初始化
形式一:
struct 结构体名
{
类型标识符 成员名;
类型标识符 成员名;
…………….
};
struct 结构体名 结构体变量={初始数据};
形式二:
struct 结构体名
{
类型标识符 成员名;
类型标识符 成员名;
…………….
}结构体变量={初始数据};
形式三:
struct
{
类型标识符 成员名;
类型标识符 成员名;
…………….
}结构体变量={初始数据};
1.教材例10-1的源程序:
输出结果:
结果分析:第一个输出语句表明sizeof()弧括号内既可以是结构体数据类型标识符structstudent;也可以是结构体变量strustud;其测试输出结果和计算各成员变量所占内存空间大小之和是一致的。
流程图如下:
教材例10-3源程序:
输出结果:
结果分析:对结构体成员变量的访问用圆点操作符“·”,其具体格式如下:结构体变量名.成员变量名,它表示要访问结构体变量下的成员变量名域;圆点运
算优先级最高且是自左向右的结合。
教材例10-4源程序:
输出结果:
结果分析:对于两个相同数据类型的结构体变量能够进行整体赋值的,当数据类型变量不同时,编译器将给出下述的错误信息:
五:实验的收获:
本实验主要是考察第十章结构体、共用体的知识。实验中基本熟悉结构体类型变量的基本声明方法、结构体类型变量的内存分配原则、初始化和引用结构体变量及其成员变量的基本方法;然
您可能关注的文档
最近下载
- 市委书记2025年带头增强党性、严守纪律、砥砺作风方面等“四个带头”个人对照检查材料6.docx VIP
- 2024年民主生活会“服务人民、造福人民的价值追求更加坚定”方面起草指南(带头在遵规守纪、清正廉洁前提下勇于担责、敢于创新).docx VIP
- 2024年高中生物新教材同步必修第一册 讲义第6章 本章知识网络.docx
- 母子断绝合同书5篇.docx VIP
- 市委秘书长2024年度民主生活会对照检视发言材料.docx VIP
- Behringer百灵达 X-TOUCH 快速指南.pdf
- 香港和澳门专题知识.pptx
- 2024年养蚕市场前景分析 .pdf
- 基础会计教学实施报告.docx VIP
- 某医院食堂餐饮服务投标方案(技术方案).doc
文档评论(0)