chap2_用C语言编写程序1-3.ppt
《chap2_用C语言编写程序1-3.ppt》由会员分享,可在线阅读,更多相关《chap2_用C语言编写程序1-3.ppt(39页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Chap 9 结构,9.1 构建手机通讯录9.2 结构变量9.3 结构数组9.4 结构指针,本章要点,什么是结构?结构与数组有什么差别?有几种结构的定义形式,它们之间有什么不同?什么是结构的嵌套?什么是结构变量和结构成员变量,如何引用结构成员变量?结构变量如何作为函数参数使用?什么是结构数组,如何定义和使用结构数组?什么是结构指针,它如何实现对结构分量的操作?结构指针是如何作为函数的参数的?,9.1 构建手机通讯录,9.1.1 程序解析9.1.2 结构的概念与定义9.1.3 结构的嵌套定义,9.1.1 程序解析,例9-1 构建简单的手机通讯录联系人的基本信息:姓名、年龄和联系电话最多容纳50名
2、联系人的信息 具有新建和查询功能,9.1.1 程序解析程序结构,程序结构主函数main:程序的总体控制函数new_friend:新建联系人功能函数search_friend:查询联系人功能,main(),new_friend(),search_friend(),程序解析数据类型/变量,数据类型/变量结构类型struct friends_list:在程序首部定义,其中的成员分别代表联系人的基本信息struct friends_list char name10; /* 姓名 */ int age; /* 年龄 */ char telephone13; /* 联系电话 */; 结构数组friends
3、:每个元素就是一个结构变量,对应一个联系人struct friends_list friends50;,程序解析全局变量/函数参数,全局变量Count:记录当前的联系人总数 函数new_friend和search_friend的参数之一是结构数组:void new_friend(struct friends_list friends );void search_friend(struct friends_list friends , char *name); 结构数组名作为函数实参与普通数组名作函数参数一样,将数组首地址传递给函数形参,程序解析源程序,#include#include/*手机通
4、讯录结构定义*/struct friends_list char name10; /* 姓名 */ int age; /* 年龄 */ char telephone13; /* 联系电话 */; int Count = 0; /* 全局变量记录当前联系人总数 */void new_friend(struct friends_list friends );void search_friend(struct friends_list friends , char *name);,源程序,int main(void) int choice; char name10; struct friends_l
5、ist friends50; /* 包含50个人的通讯录 */ do printf(手机通讯录功能选项:1:新建 2:查询 0:退出n); printf(请选择功能:); scanf(%d, ,源程序,/*新建联系人*/void new_friend(struct friends_list friends ) struct friends_list f; if(Count = 50) printf(通讯录已满!n); return; printf(请输入新联系人的姓名:); scanf(%s, f.name); printf(请输入新联系人的年龄:); scanf(%d, ,源程序,/*查询联
6、系人*/void search_friend(struct friends_list friends , char *name) int i, flag = 0; if(Count = 0) printf(通讯录是空的!n); return; for(i = 0; i Count; i+) if(strcmp(name, friendsi.name) = 0) /* 找到联系人*/ flag=1; break; if(flag) printf(姓名: %st, friendsi.name); printf(年龄: %dt, friendsi.age); printf(电话: %sn, frie
7、ndsi.telephone); else printf(无此联系人!);,9.1.2 结构的概念与定义,使用结构来表示通讯录信息:struct friends_list char name10; /*姓名*/ int age; /*年龄*/ char telephone13; /*联系电话*/; 结构:构造数据类型,把有内在联系的不同类型的数据统一成一个整体,使它们相互关联结构又是变量的集合,可以单独使用其成员,结构的定义,结构类型定义的一般形式为: struct 结构名 类型名 结构成员名1; 类型名 结构成员名2; 类型名 结构成员名n; ;,结构的定义以分号结束,被看作一条语句,关键字
8、struct和它后面的结构名一起组成一个新的数据类型名,结构定义示例,定义平面坐标结构:struct point double x; double y; 虽然x、y的类型相同,也可以用数组的方式表示,但采用结构体描述整体性更强,增加了程序的可读性,使程序更清晰。,9.1.3 结构的嵌套定义,在实际生活中,一个较大的实体可能由多个成员构成,而这些成员中有些又有可能是由一些更小的成员构成的实体。在手机通讯录中,增加“通信地址”,结构的嵌套定义,struct address char city10; char street20; int code; int zip;,struct nest_frie
9、ndslist char name10; int age; struct address addr; char telephone13; nest_friend;,在定义嵌套的结构类型时,必须先定义成员的结构类型,再定义主结构类型。,9.2 结构变量,9.2.1 结构变量的定义和初始化9.2.2 结构变量的使用,9.2.1结构变量的定义和初始化,三种定义结构变量的方式: 1.单独定义先定义结构类型,再定义具有这种结构类型的变量 struct friends_list char name10; /* 姓名 */ int age; /* 年龄 */ char telephone13; /* 联系电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- chap2_ 语言 编写 程序
限制150内