结构体和枚举类型

结构体和枚举类型

ID:46923003

大小:855.00 KB

页数:26页

时间:2019-11-30

结构体和枚举类型_第1页
结构体和枚举类型_第2页
结构体和枚举类型_第3页
结构体和枚举类型_第4页
结构体和枚举类型_第5页
资源描述:

《结构体和枚举类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十三章结构体和枚举类型回顾2-1预处理供能是C语言特有的功能,它是对源程序正式编译前由预处理程序完成的,程序员可以在程序中对预处理命令来调用这个功能。宏定义是用一个宏名来表示一个文本,这个文本可以是常量、变量或表达式,在宏调用中将用该文本替换宏名。宏定义可以带有参数,宏调用时是以实参替换形参,而不是“值传送”。2回顾2-2为避免替换出错,宏定义中字符串应加括号,字符串中出现的形参两边也应加括号。文件包含可以用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。条件编译允许程序只编译程序中满足条件

2、的程序段,因而生成目标代码较短,从而可以减少内存的开销提高程序效率。使用预处理功能便于程序的修改、预读、移植和调试,也便于实现模块化程序设计。3目标理解结构体和枚举类型的定义掌握结构体和枚举类型的用法4结构简介存储一个班级中5名学员的信息(学号、姓名、性别和成绩)问题:I.使用数组MaryJohnPeterRoseKateFMFMF01020304058978.56797.564解决方案:scorenumsexname不能建立数组间的关系II.使用多维数组MaryJohnPeterRoseKateFMFMF0

3、1020304058978.56797.564C语言不允许一个数组包含多种数据类型III.使用结构numnamesexscoreC语言引入了称为结构的数据存储方式“结构”是一种构造数据类型,它是由若干数据项组合而成的复杂数据对象,这些数据项称为结构的成员。5定义结构2-1structstructurename{datatypevariable1;datatypevariable2;...};结构成员{};结构名structstudentintnum;charname[20];charsex;定义结构float

4、score;C语言中的有效数据类型成员列表6定义结构2-2structstudent{intnum;charname[20];charsex;floatscore;};numnamesexstudent结构定义并不预留内存结构定义放置在程序的开始部分,位于头文件声明之后score结构定义仅描述了一个结构的形式。如果要在程序里使用结构,需要声明结构变量。7声明结构变量声明结构变量structstudent{intnum;charname[20];charsex;floatscore;};structstuden

5、tstudent1,student2;I.先定义结构,再声明结构变量structstudent{intnum;charname[20];charsex;floatscore;}student1,student2;II.在定义结构类型的同时声明结构变量struct{intnum;charname[20];charsex;floatscore;}student1,student2;III.直接声明结构变量声明一个类型为student结构的变量,将会为该变量分配内存,大小是大于或等于其所有成员变量的大小之和。8st

6、ructdate{intmonth;intday;intyear;};嵌套结构struct{intnum;charname[20];charsex;structdatebirthday;floatscore;}student1,student2;表示结构变量成员的一般形式是:结构变量名.成员名例如:student1.num、student2.sex、student1.birthday.month9内存student3structstudentstudent3={3,"YaoMing",'M',90.5};结构

7、变量初始化3YaoMingM赋值的顺序应与成员声明时的顺序一样;允许初始化语句中的值的数目比结构成员数目少。student3.numstudent3.namestudent3.sex90.5student3.score10student1student1.num=1;student1.name="ZhangZiLiang";student1.sex=’M’;printf("请输入成绩:");scanf("%f",&student1.score);结构变量赋值1ZhangZiLiangM用输入语句或赋值语句

8、来给结构变量的各个成员赋值7878student2=student1;student21ZhangZiLiangM7811问题描述:根据学员的成绩,输出不及格学员的详细信息。使用结构示例#includestructstudent{intnum;//学号char*name;//姓名charsex;//性别floatscore;//成绩};voidmain(){staticstruct

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

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

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