- 1、本文档共110页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
分析:定义creat函数实现动态链表的建立,返回值是链表头指针。定义了3个结构体类型指针,head用于指向链表头节点,p1用于指向当前节点,p2用于指向当前节点的前驱节点,在循环中交替变化,从而实现了指针的移动。“p1=(structnode*)malloc(LEN);”是按测定的结构体所占内存字节数申请节点空间,函数返回值是存储空间首地址,为匹配结构体类型指针p1,进行了强制类型转换。
链表还有诸如插入、删除等基本操作,请读者在本章基础上自行设计程序。
实训任务十七熟悉结构体、共用体
数据类型的表示与使用
实训项目1分析问题,从每小题的4个备选项中选择一个正确项。
(1)有以下结构体说明和变量的定义,如图9.3所示,指针p指向变量a,指针q指向变量b,则不能把节点b连接到节点a之后的语句是()。A.a.next=q; B.p.next=b;
C.p-next=b; D.(*p).next=q;
图9.3结构体变量说明实训项目3分析程序,在下划线处填写适当的语句代码,使程序能够正确运行。
有5名学生,每个学生的数据信息包括学号、姓名和一门课的成绩。要求按学生的成绩由高到低排序,然后输出学生的信息以及平均成绩。
实训任务十八学习复杂数据表示
处理的编程方法
完成以下项目问题的程序设计,并调试运行,实现功能要求。
实训项目1有10名学生,每个学生的信息包括学号、姓名、高等数学成绩、英语成绩,编写程序完成以下功能。
(1)从键盘输入数据,将其存放在结构体数组中;
(2)输入姓名,在数组中查找是否存在此学生,有此学生则输出此学生的信息,无此同学则输出提示信息;
(3)输入一个成绩,将高于此成绩的学生信息输出;
(4)输出不及格学生信息。实训项目2定义一个表示年、月、日的结构体,输入年、月、日数值存入结构体。计算该日是本年的第几天,输出处理结果。
实训项目3创建a、b两个链表,每个链表中的节点包括学号和成绩,两个链表的学号都是连续且按升序排列的,要求合并两个链表。
运行结果:
分析:程序中定义了全局结构体数组person[2],存储两个人的信息。在结构体类型定义中嵌套定义了一个共用体变量category,其中有两个成员,company和charposition[10],身份是学生,则存班级信息(整型数据);身份是教师,则存职称信息(字符数组)。使用共用体变量,使两种人员信息统一在一个数据结构中。人员信息输出中,相同信息项作相同处理,只是对不同信息项作选择处理,简化了程序设计,也提高了程序效率。
9.3枚举类型
一些事物属性只能列举,不具有数值关系,这些数据对象怎样表示与处理?
现实中存在一些可列举的数据对象,如一周有星期一到星期日,颜色有红、橙、黄、绿、青、蓝、紫,等等。这种数据对象只可列举,不具有数值关系,似乎难以在计算机中处理。C语言允许将这类数据定义为枚举类型,能方便地进行处理。
枚举类型与枚举变量的定义也同结构体相仿。定义的一般形式为
enum枚举类型名
{
枚举元素列表
}枚举变量列表;
其中,enum为定义枚举类型的关键字;枚举类型名是用户自定义的表示所定义枚举类型的名称;“枚举元素列表”是用逗号分隔的列举的元素名称序列;枚举变量列表是定义枚举类型的同时定义的变量名。一个枚举类型可定义多个变量,变量间用逗号分隔,就是枚举变量列表。枚举类型与枚举变量定义也可有3种形式。在上面的定义中可以省略“枚举类型名”而直接定义枚举变量。也可以先定义枚举类型,然后用所定义的枚举类型来定义枚举变量。其定义的一般形式为
enum枚举类型名枚举变量列表关于枚举数据的几点说明:
(1)枚举元素虽以标号列出,但C编译系统按常量处理,故称枚举常量。在程序中不能给枚举元素赋值,即枚举元素相当于一个符号常量。
(2)?C编译系统对枚举元素按定义的顺序依次赋值0,1,2,3,4,5,…。在上面的定义中,Sunday的值为0,Monday的值为1,…,Saturday的值为6。也可在定义时,给枚举元素指定常量序列值。
(3)枚举变量的取值范围是列举元素值的范围。如Sunday只可能取0~7之间的一个整数。
(4)由于枚举型变量的值是整数,因此C99标准中也把枚举型作为整型数据,用整型变量来表示枚举型元素值。
下面通过一个例子来说明枚举数据的应用。
例9.7一个盒子中有红、黄、蓝3种颜色的球若干,每次从盒子中先后取出3个球,编程求解取不同颜色球的排列数,
您可能关注的文档
- 《移动互联网应用新技术》课件 - 副本 (2).ppt
- 《冲压工艺与模具设计》课件第9章.ppt
- 《冲压工艺与模具设计》课件第4章.ppt
- 《机械制图与计算机绘图》课件1第5章.ppt
- 《机械制图与计算机绘图》课件1第7章.ppt
- 《EDA技术及应用》课件1第6章.ppt
- 《机械制图与计算机绘图》课件1第4章.ppt
- 《TD-SCDMA移动通信技术系统及仿真实验》课件第9章.ppt
- 《冲压工艺与模具设计》课件第3章.ppt
- 《C语言程序设计基础》课件第7章.ppt
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].docx
- 情绪价值系列报告:春节消费抢先看-国证国际证券.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(解析版).docx
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].docx
- 液冷盲插快接头发展研究报告-全球计算联盟.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(原卷版).docx
- 精品解析:北京市东直门中学2024届高三考前练习数学试卷(解析版).docx
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第2章 人体的神经调节》大单元整体教学设计[2020课标].docx
文档评论(0)