C语言程序设计 教学课件 作者 姚海军 全书第7章.ppt

C语言程序设计 教学课件 作者 姚海军 全书第7章.ppt

ID:50350923

大小:880.00 KB

页数:53页

时间:2020-03-08

C语言程序设计 教学课件 作者 姚海军 全书第7章.ppt_第1页
C语言程序设计 教学课件 作者 姚海军 全书第7章.ppt_第2页
C语言程序设计 教学课件 作者 姚海军 全书第7章.ppt_第3页
C语言程序设计 教学课件 作者 姚海军 全书第7章.ppt_第4页
C语言程序设计 教学课件 作者 姚海军 全书第7章.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 姚海军 全书第7章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、7.1结构体7.2结构数组7.3结构指针变量7.4联合体(共用体)结构是一种构造类型,它是由若干成员组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。结构既然是一种数据类型,那么使用方法也和基本的数据类型一样,即必须先定义它,也就是构造它,然后再通过初始化和调用来使用它。7.1结构体7.1.1结构的定义定义一个结构的一般形式为:定义结构时,关键字struct告诉编译器定义了一个新的数据类型。“结构名”是结构的名称,也可以说是新定义的数据类型的名称。每个成员都是该结构的一个组成部分,对每个成员也必须作类型说明,其说明方法同基本数据类型的声明。结构名和成员名的命

2、名规则必须符合标识符的命名规则。 结构的定义以分号结尾。结构的定义只是表明结构的组成,并不预留内存。结构的定义一般放在程序的开始部分,位于头文件的声明之后。例如:structstudent{intnum;charname[20];charsex;floatscore;};在这个结构定义中,结构名为student,该结构由4个成员组成。第一个成员为num,整型变量,表示学生的学号;第二个成员为name,字符数组,表示学生的姓名;第三个成员为sex,字符变量,表示学生的性别;第四个成员为score,实型变量,表示学生某科的成绩。应注意在括号后的分号是不可少的。   结构定义

3、之后,即可进行变量说明。凡说明为结构student的变量都由上述4个成员组成。由此可见,结构是一种复杂的数据类型,是数目固定、类型不同的若干有序变量的 集合。7.1.2结构类型变量的说明可以用以下三种方法之一说明结构变量。以上面定义的结构student为例说明如下:(1)先定义结构,再说明结构变量。如上述定义之后,声明两个student结构类型的变量stu1和stu2,可以用下列语句:structstudentstu1,stu2;这样,stu1和stu2都拥有上述定义的四个成员属性。(2)在定义的同时说明结构变量。例如:structstudent{intnum;char

4、name[20];charsex;floatscore;}stu1,stu2;(3)在定义的同时直接说明结构变量,可以省去结构名。例如:struct{intnum;charname[20];charsex;floatscore;}stu1,stu2;在结构定义中,成员可以是基本类型的数据,也可以是另一个结构,即结构也是可以嵌套的。比如上述结构中,可以包含学生的生日信息构成的结构:7.1.3结构类型变量的引用表示结构变量成员的一般形式是:    结构变量名.成员名   其中“.”运算符相当于中文中的“的”,语句表示取结构变量的指定的成员值。如stu1.sex表示学生1的性

5、别,stu2.score表示学生2的成绩,stu1.birthay.year则表示学生1出生的年份,等等。7.1.4结构类型变量的初始化和简单变量一样,结构变量可以在定义时直接初始化,其形式和给数组变量初始化类似,如:structstudentstu1={8401031,“YaoYuan”,‘M’,98};注意:初始化时各个值必须和定义时成员的顺序及类型一致。未对结构变量初始化时,系统将以默认值赋给变量的相应成员。   除了上述方法初始化之外,还可以用赋值语句初始化,如:stu1.num=8401031;stu1.name=“YaoYuan”;stu1.sex=‘M’;

6、printf(“请输入成绩:”);scanf("f",&stu1.score);结构变量可以用如上方法分别赋值,也可以整体赋值,如:stu2=stu1;赋值之后,两个结构变量stu2和stu1对应的成员值完全相同。【例7-1】录入项目小组同学的成绩,输出不及格学生的详细信息。   利用上面创建的结构类型设计,程序清单如下:图7-1输出不及格学生的详细信息例7-1只对一个小组三个同学的一门功课的成绩进行了处理,要是一个班的同学的成绩也用此方法做,那就太麻烦了。 我们知道,数组的元素也可以是结构类型的,因此可以构成结构型数组来处理一个班、一个部门所有人员的信息。结构数组

7、的每一个元素都是具有相同结构类型的下标结构变量。在实际应用中,经常用结构数组来表示具有相同数据结构的一个群体。   结构数组的定义方法和结构变量相似,只需说明它为数组类型即可。7.2结构数组例如:structstudent{intnum; char*name; charsex; floatscore;}stu[50];该语句定义了一个结构数组stu,它共有50个元素,stu[0]~stu[49],每个元素都具有structstudent的结构形式,可以和多维数组一样初始化。如:structstudentstu[5]={{101,“Tom”

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。