网站大量收购闲置独家精品文档,联系QQ:2885784924

《C语言程序设计基础》课件第9章.ppt

  1. 1、本文档共110页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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个球,编程求解取不同颜色球的排列数,

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档