欢迎来到天天文库
浏览记录
ID:50350455
大小:820.50 KB
页数:58页
时间:2020-03-08
《C_C++程序设计教学课件 李云峰 第7章 利用构造类型编程.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章利用构造类型编程问题原由许多问题在实际应用中需要将多种数据类型集合在一个用户自定义的数据类型中,将其称为构造型类型。构造类型是由基本类型扩展而成的复合类型。如何由基本类型构造成用户自定义类型?这就是本章所要讨论的问题。结构体、链表、共用体、枚举类型和自定义语句的定义、表示和应用。教学重点能力要求掌握:各种构造型的定义方法,正确使用构造型的编程方法,并能利用构造型设计实际应用程序。熟悉:构造型数据的基本概念。§7.5算法案例程序设计§7.4枚举类型与typedef语句§7.3共用体类型§7.2使用结构体指针处理链表§7.1结构体类型本章
2、介绍的知识内容第7章利用构造类型编程§7.1结构体类型C/C++中提供了一种称为结构体的数据类型,它相当于其它高级语言中的“记录”类型。结构体的定义结构体类型(一)结构体嵌套(二)结构体变量(三)7.1.1结构体的引用与定义7.1.1结构体的引出与定义【实例7-1】输入3个学生的信息,然后计算每个学生的总成绩并输出结果。[问题分析]对于学生信息,我们可以定义一个结构体类型,它包含5个成员,每个成员的数据类型见表7-1所示。表7-1学生信息表inttotalintscore[3]intagecharsexcharnameintnum总成绩3门
3、课成绩年龄性别姓名学号struct<结构体类型名>{<数据类型><成员名表1>;<数据类型><成员名表2>;┇<数据类型><成员名表n>;};【格式说明】结构体的定义以关键字struct作为标识符,用于说明结构体类型,与<结构体类型名>形成特定结构的类型标识符。1、结构体类型定义是由不同类型的数据组成的。组成结构体的每个数据称为该结构体的成员项,简称成员。结构体定义的一般形式为:7.1.1结构体的引出与定义2.结构体嵌套定义结构体由若干“成员”组成,每一个成员可以是一个基本数据类型,也可以是另一个结构体类型,例如student结构体类型中的
4、“年龄”成员,用“出生日期”来代替“年龄”,它包含3个成员:year、month、day。对于student类型可以用表7-2来表示其嵌套结构。daymonthyeartotalscoresexbirthdaynamenum表7-2结构体类型的嵌套7.1.1结构体的引出与定义学生信息定义成以下类型:structstudent//声明结构体类型,名为structstudent{intnum;charname[12];charsex;structdatebirthday;//生日成员属于structdate类型intscore[3];intto
5、ta;};structdate{//声明结构体类型,包含下列三个成分intyear;//年intmonth;//月intday;//日};7.1.1结构体的引出与定义3.结构体变量定义在定义结构体时,必须声明引用该结构体的所有变量,结构体变量的定义方法通常可以采用如下3种。⑴在结构体说明的同时定义结构体变量。其语法结构定义的一般形式为:struct<结构体类型名>{<结构体成员列表>}struct<结构体类型名><变量名表>;⑵在定义结构体类型的同时声明变量⑶直接定义<结构体变量>7.1.1结构体的引出与定义7.1.2结构体变量的引用与初始
6、化<结构体变量名>.<成员名>1.结构体变量的引用定义结构体变量后,可引用结构体变量,例如进行赋值、输入、输出、运算等操作都是通过结构体变量对其成员的引用来实现的。结构体变量中成员引用的一般形式如下:【格式说明】圆点“.”为结构体成员运算符,运算优先级最高,结合性是自左至右。引用时可以把“结构体变量名.成员名”看成一个整体,像使用一个简单变量一样使用“结构体变量名.成员名”。7.1.2结构体变量的引用与初始化2、结构体变量初始化在定义结构体变量的时,可以给它的每个成员赋初值。结构体变量变量初始化的一般形式为:Struct<结构体名><结构体
7、变量名>={初始数据};【格式说明】花括号中包围的初始数据之间用逗号“,”分隔,初始数据与结构体成员项之间具有逻辑(数据个数、先后顺序、数据类型)对应关系。7.1.3结构体数组如果有多个学生的数据需要进行处理,显然应该使用数组来完成,这就是结构体数组。1.结构体数组的定义结构体数组是其元素都是具有相同结构体类型的结构体变量。同一般数组一样,结构体数组也必须先定义或说明,然后才能引用。结构体数组定义的一般形式为:Struct<结构体名><结构体数组名>[元素个数][,<结构体数组名>[元素个数],…【格式说明】“struct<结构体名>”是已
8、定义的结构体类型,结构体数组的定义方法和结构体变量相似,只需说明它为数组类型即可。7.1.3结构体数组2.结构体数组的初始化一个外部的或静态的结构体数组在定义的同时可以对其初始化
此文档下载收益归作者所有