C语言知识学习结构体.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言知识学习结构体.ppt》由会员分享,可在线阅读,更多相关《C语言知识学习结构体.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Chap 9 结构,9.1 输出平均分最高的学生信息 9.2 学生成绩排序 9.3 修改学生成绩,本章要点,什么是结构?结构与数组有什么差别? 有几种结构的定义形式,它们之间有什么不同? 什么是结构的嵌套? 什么是结构变量和结构成员变量?如何引用结构成员变量? 结构变量如何作为函数参数使用? 什么是结构数组?如何定义和使用结构数组? 什么是结构指针?它如何实现对结构分量的操作? 结构指针是如何作为函数的参数的?,9.1输出平均分最高的学生信息,9.1.1 程序解析 9.1.2 结构的概念与定义 9.1.3 结构的嵌套定义 9.1.4 结构变量的定义和初始化 9.1.5 结构变量的使用,9.1.
2、1 程序解析,例9-1 输出平均分最高的学生信息 假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩。输入 个学生的成绩信息, 计算并输出平均分最高的学生信息。,9.1.1 程序解析,#include struct student /* 学生信息结构定义 */ int num; /* 学号 */ char name10; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩 */ ;,int main(void) int i, n; struct student s1,max; /*
3、 定义结构变量 */ printf(Input n: ); scanf(%d, ,9.1.2 结构的概念与定义,使用结构来表示学生信息: struct student int num; /* 学号 */ char name10; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩 */ ; 结构是C语言中一种新的构造数据类型,它能够把有内在联系的不同类型的数据统一成一个整体,使它们相互关联 结构又是变量的集合,可以按照对基本数据类型的操作方法单独使用其变量成员。,结构与数组比较: 都是构造类型
4、,是多个变量的集合 数组成员类型相同,结构成员类型不同,9.1.2 结构的概念与定义,结构类型定义的一般形式为: struct 结构名 类型名 结构成员名1; 类型名 结构成员名2; 类型名 结构成员名n; ;,结构的定义以分号结束,C语言中把结构的定义看作是一条语句,关键字struct和它后面的结构名一起组成一个新的数据类型名,9.1.2 结构的概念与定义,例如,平面坐标结构: struct point float x; float y; ;,虽然x、y的类型相同,也可以用数组的方式表示,但采用结构进行描述,更贴近事物本质,从而增加了程序的可读性,使程序更易理解,结构适合用于描述具有多个属性
5、的实体或对象,9.1.3 结构的嵌套定义,在我们的实际生活中,一个较大的实体可能由多个成员构成,而这些成员中有些又有可能是由一些更小的成员构成。 在学生信息中可以再增加一项:“通信地址”,它又可以再划分为:城市、街道、门牌号、邮政编码。,9.1.3 结构的嵌套定义,由此,我们可以对其结构类型进行如下重新定义: struct address char city10; char street20; int code; int zip; ;,struct nest_student int num; char name10; struct address addr; int computer, eng
6、lish, math; double average; ;,在定义嵌套的结构类型时,必须先定义成员的结构类型,再定义主结构类型。,9.1.4 结构变量的定义和初始化,在语言中定义结构变量的方式有三种: 1.单独定义:先定义一个结构类型,再定义一个具有这种结构类型的变量 struct student int num; /* 学号 */ char name10; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩 */ ; struct student s1,s2;,9.1.4结构变量的定义和初始
7、化,2. 混合定义:在定义结构类型的同时定义结构变量 struct student int num; /* 学号 */ char name10; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩 */ s1, s2; 3. 无类型名定义:在定义结构变量时省略结构名 struct int num; /* 学号 */ char name10; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩
8、*/ s1, s2;,9.1.4结构变量的定义和初始化,结构变量的初始化 struct student s1 = 101, Zhang, 78, 87, 85;,9.1.5 结构变量的使用,1. 结构变量成员的引用 在C语言中,使用结构成员操作符“.”来引用结构成员,格式为: 结构变量名 . 结构成员名 s1.num = 101; strcpy(s1.name, Zhang); nest_s1.addr.zip = 310015;,9.1.5 结构变量的使用,2. 结构变量的整体赋值 具有相同类型的结构变量可以直接赋值。赋值时,将赋值符号右边结构变量的每一个成员的值都赋给了左边结构变量中相应的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 知识 学习 结构
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内