C语言四川师范大学信息与计算科学冯山实验九课案.doc

C语言四川师范大学信息与计算科学冯山实验九课案.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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源程序: 输出结果: 结果分析:对于两个相同数据类型的结构体变量能够进行整体赋值的,当数据类型变量不同时,编译器将给出下述的错误信息: 五:实验的收获: 本实验主要是考察第十章结构体、共用体的知识。实验中基本熟悉结构体类型变量的基本声明方法、结构体类型变量的内存分配原则、初始化和引用结构体变量及其成员变量的基本方法;然

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档