教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > > C语言程序设计教程(第4版)_第9章_结构Word

C语言程序设计教程(第4版)_第9章_结构Word

上传者:史可
|
上传时间:2017-06-02
|
次下载

C语言程序设计教程(第4版)_第9章_结构Word

  第9章 构结李丽 娟2031年月2

  C语言程序设计教程(第4版)_第9章_结构Word1

  9章 第构结章本主内容要 .1了解构数据类结的型定义使用及。2. 了解 结数据构类型的义意作用。及3 .了 解结变构与函量数关的系 。4.掌 链握的表作用及操。作5 .了 解合联数据型的类义及使定用 6.。 解枚了类举的定型义使及。用

  2

  C语言程序设计教程(第4版)_第9章_结构Word2

  9章第结构 构体数据结型类:种自定一义数据类型的。由不同据数型类数据组的而合成数据整体。结的体构所包中含数的元素称之为据员。

  如成:职“”—员→一种结构体—描述员职的息有信

  :编号姓名、年、、龄性、别份证身码、号族民、文程度、职务化、址、联系电话住。3

  C语言程序设计教程(第4版)_第9章_结构Word3

  9等. 结1体构据类数型.19. 1结体的定构义 结构类的型义定形式 st:rct 结u体名构{ 成员项 表;列 } 成;员表列同项简变单 的量义形定相式。同例:对“职员如”据,可数以定 如下的义构结体类型:st ruc perton {s ongl no; /职*号*员/ hcar nmae1[]2;/* 姓名/*int age /;*龄年*/ hcr aes; x*性别*/ long/ ndintieyNot /;*份身号*/ ch证are dcatuon[1i]2 /;*学历/* hac ardr[d4];0 *住/址/ long*t elo;n/*电 号码话* };

  4/9.

  C语言程序设计教程(第4版)_第9章_结构Word4

  结构体1数类型据9.1.2结构 变量体定义的 定了义结体之后,就构可以义定结构体变量 。 构结量变的义定式形 (。)类1标识符 型变名量列表; 例如 s:rtcutp reonss tu,w orek; r2)(定在义个结一体类型的同时构定义构体结型变量类 str:cut结构体名 { (3直)接义定结构体型的类量变: trsut 成员c项列; 表 }{变量列表名; 成项列员;表 }变量名列表

  C语言程序设计教程(第4版)_第9章_结构Word5

  .9 1构结数据类型体91.3. 构体结变的初量始 (化)略9 ..41结 体构变量员成的用引( 1引用结构体变量中)成的。 员用格引:式构结量名成员. 例名如 :stun.o、st .uage s、t.numa[e0]。 等成 员名能不独单代变表,量能不直接用使结中的成员构名 。若结构体 型类含中另有个结构类一型访,该问员时,成应 取采级逐访问方法的 (。)将结构体变2量为一个作整来体使。用 结构 体变可以相量互值。赋( 件是这条个变量两必须有具相的结同体类型。)构

  C语言程序设计教程(第4版)_第9章_结构Word6

  9. 结构2数组体9..12结构 体组数的定义 结构体数 组定的:义 1(先定义)结构体再,义结构体定组。数 tsurc 结t体名构 { 成项表员 }trucs t构体名 组名 数[组大数](2)在 定结义体构的时同定义结,构数组体 。srtcut 结体构名{ 员项表列数组名成数组大小8

  9.2

  C语言程序设计教程(第4版)_第9章_结构Word7

  93 结构体变.量与函数9..13 数函的形参实参与结构体 为 作:传用 值例2:读程序ex阅mplae9_.c,了解2构变量作为函数参数结 的用。 作9..32 数函的回值类返型为构结

  体 的C新准标允许函数的中回值返为构体类结型的值例。3:改修例92所-的示程序,“将输购书信入”息模块的 返值修回成改结类型构。10

  C语言程序设计教程(第4版)_第9章_结构Word8

  9.5 枚举据类数型 举数据枚类型:用 标识符表的示整数常的集合量 。举类型枚定的义一形般:式 enmu枚举类 型名{标符1识,识符2标,……,标符n识; 枚举}常量的起值为始0。例 如 :enmu omths{nAN,J FBE, AR,M PR,AM A, JYU,N UL, JUAG, SEP, OCT, ONV D,EC;} 识符标值被的次自动设依为置整数~10。 1可以 变标识改符取的,例如值:e umnm nthos{AJ=1,NF B, EAM, RAR, PAY,M UJ, NULJ AUG,, SE,P CO, TNO, DVEC;} 标识 的符值依次自被动设为置整数11~2

  。41

  C语言程序设计教程(第4版)_第9章_结构Word9

  9. 5枚数据类型举 点说几明: 枚类型举义定的标识符必须是中唯的。 一 以可枚举类在定型时义每一为枚个举量常定指不的值同 。也 可对以中的间个某枚常量举指不同定值。 的如:例en m cullor{red, bloue ,geren, elyowl5, b=acl,kw hite} ;于只指定了yel由low的值,则举枚量的取常值情况: re为d=0bl,u=1eg,ere=n2,yel lo=5,bwaclk6=,wile=h7 。 举枚常量的值不可改,但更可作以为整数使型用。15

  C语言程序设计教程(第4版)_第9章_结构Word10

  95.枚 数据举型类6例:读阅程序eaxpmel96_c.了解,举变量的

  输枚出方。式

  C语言程序设计教程(第4版)_第9章_结构Word11

  .6 9表的概链念 基本概:念 链表指的是①将干若数据项按个定一的则规接连起的表。 ②来表中链的数项据称为结点。③ 链中表一每结点个的据类型都有一数自个引用构

  结④自用引构就是结结构员中包成含个一指成员,针该针指指向与 身同自个类型的一结构。 例如 :sturt cndeo int da{ta;struct nde * onxetPt; }r;8

  C语言程序设计教程(第4版)_第9章_结构Word12

  196 链表.的念概链表是 链用节指连针在接起一结的的点线集合性。结其 如构所示:h图ed a2314 65 87 ULNL 自引用结成构员的变量常通指针型是的。 结 构成员的引与用员的类型相关成 。如有假 : 定结义变构:量s rtutc nde opt;*s rtcu tndeo 结 成构员的引用:{ ptnitd aat p;t- trscutno e * nedxtPrt ;或: }; *p(t.)dta;a( p*t.)nxtetrp;19

  C语言程序设计教程(第4版)_第9章_结构Word13

  .9 6链表的概念9.6.1动态 分内配

  动存态配分内空间的系统存数:函ma llc()o和fre(e函数以)及isezof运符算的配合用使(注: m alloc)(f和re()e函数头在件文sdtlbi.或hllaoch.。)函数原 及功能如下。 型.1数原型:函ovi dmal*lo(ucnsgnie sdzi)e 功能:内存从配一分大个小si为ez字节的内个存空。 若间成,功返回新配内分的首地存址若;没足有的内够存 配,分则返NULL回。 常函数mal通olc)通常和(算运s符ziof一e使用。

  21

  起

  C语言程序设计教程(第4版)_第9章_结构Word14

  96.链表的概 念删除节 点方法修改指针:域的。值 p154 3(a)删前除s 3 t 185p 43 (b) 删除 s 3后 8

  根t据被节点的位删置修改,针指域方的要分3种法不同况情: ① 结s在点的中表(即不在表间头也不,在表): 尾p-nex=st-ne t② 结s位于表头:点he ad=s ③es 点结位于尾: 表-nexptNU=L;L 点结除后,用删reef ()函数放被释删结点所占除用内的存空间。 如例:rfee(s) ;*/ 放释节了点s所用占空间。的* 2/8

  C语言程序设计教程(第4版)_第9章_结构Word15

  .96链表的 念概例:9改

  修例9-8的序,再程从键盘入一输个要除的删站名点 ,将删除并的后点站次输出依 。分:在例9析8程序的基础上增加-个删一节除点的数函 str:ucts ationt de*_lsa(ttrsuc stattoin*h c,hr a*trs) ;数函功能 在:所指h的表链中删,除结值为str所指点符串的字点结 。程 序 ex:mapl9_e9c. 分请析函:数srtuctst tiao nd*les_a(ttsrcu statiotn* hch,ra str)*;的算法 。 思 考程中序在存的问,怎题处理样可使以序程更完加善?29

  C语言程序设计教程(第4版)_第9章_结构Word16

  9. 链6表概念的96.4 .向链表插入中结点 插入节点法:修方改指针的值域。根据 节点入的位插,置修改指域的方法针要3种不同分情: ① 况s结点入插表到中即(在不表,头也不表在)尾 1p5 4 s3 83t 5 1 p43 s3 t8()a插入前(b)插入后

  修改 指:针 s -pnes30

  C语言程序设计教程(第4版)_第9章_结构Word17

  96 链.的概表念head

  s结点②入到插头表。t1 s527 a()入插前ehda1 5s 2 7(b插)入后t

  图a()所示为插入前链的表,图b)(所为插入示的链表后。 修指改针: - eahd=s

  3;1

  9

  C语言程序设计教程(第4版)_第9章_结构Word18

  6 链表.的概念②s结点插入 到尾。head表1 5p UNL 2L s7 eadh1 (5b插入)后 p27 sNU LL

  ()a入前插图(a所)为示插入的前表链,图(b)所示插入后的为表。链 修改指 :针p-xsnext-N=LL;U

  23

  9

  C语言程序设计教程(第4版)_第9章_结构Word19

  . 链表的概6念1例0修:例改9-的8程序,键盘从输一个入要加的站点入, 并名加将入后的点站次依输。 分出:析可在例以-89序的基程上增加一础个增加点的函节数st:rutcstation a*dd_tas(sturc ttsatoni* h,harc *tradsd ,car hstr*ftaer);

  数功函:能s将raddt指所站的点入到插链h中站点原表有的点s站rafttre后面的。 序程e:amxple91_0.c3

  3

  C语言程序设计教程(第4版)_第9章_结构Word20

  9.7 程 序 范例例11编写程序:,从键输盘入个矩形一的左角下右上角和 的坐标输出,该形矩中心的点标坐,值输入再意任一点的个 坐标判,该断点否是在形内。

  分析:矩xd、yd用表代矩的形下左坐标角;x用、yu代表u矩形的上右角标;用坐x、mm代表y形的中矩坐标;设计点函数 int:pt i(ntrustc opnt ip,sturtc rcetr ,)用于判断入的点p 是输否矩形r的内部在。 程 :e序xmale9p_1.c134

  C语言程序设计教程(第4版)_第9章_结构Word21

  97 . 程序 范例例12改进:例8-25的序。采用结构,程设一计洗牌个和牌发 的程序用,H表红桃代D代,表片,方C代表梅,S花表黑代桃 用1~,31代表每种花一的色面值。 析分:可结用类型来表构示克牌扑的花和面色值: tsrut cacdr { cha r*afe;c/* 扑克 牌的值 面* /cha rs*iu; /t* 扑牌的克色花 * };/设计 数函:vodi shfulf(Caed *)完r成对克牌洗牌。 扑 序程:eamxlpe_192c

  3.5

  C语言程序设计教程(第4版)_第9章_结构Word22

  .79程 序 范 例例13:改修例-19,2用段结构成员位表示一副,发牌时显牌示 张牌的每色。颜 分析因为牌:的面只有值13,种牌的花只有色4种牌的颜 ,只有2色种,此,因可用一位段结构个来表示副一牌 :struct btCira{du signne dace:f4; unisgnd seui: t2 u;nignsedc olor:1; ;} fac 表示e面值;suit表花色;c示lor表示o颜。 色 序:e程xmale9_13p.c36

  C语言程序设计教程(第4版)_第9章_结构Word23

  .79 序程范 例 例1:4编写程,序求解另1变化种约瑟的夫问:由n个人围题一成,对 他圈从们1始开次编号,现依指定从第个m人开始数报报到,第s数个时 该,人出列,员后然从一个人下开始数报,是报到第仍个s时数,员人 列出如此重复,,直到有人所出列都输,人出的出列员序顺。 析:分采用结构成员记录每个可人的序和号近的邻下个人的序号:一 struc t hildc{ itn nmu ; ntinex ; t } ;设函计vo数d OutiQuee(unti ,inmtn ,nt iss,rutct hclidring[] 求出队)序。列函数 OuQtueeu)(算的法下如 :( )1用ij、表结示数构组rign的下标,值ocutn为作环循量变 (;)2如果=1(即m第一从个开始人数),报队则的尾下值标j=;n 则队否的尾标下j=值m1; 3)(用二层循环输出出的人列 。一第用循环层变c量uno控t制总的 列出数;第人二层循用环变量i找下一个寻出列间的隔;若第数j人出 个,则置r列nig[]j.unm=;0 。 序:程exmalpe9_4137

  C语言程序设计教程(第4版)_第9章_结构Word24

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

七年级下册外研版英语M8U2reading
沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
二年级下册数学第二课
沪教版八年级下册数学练习册20.4(2)一次函数的应用2P8
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T1406126
冀教版小学数学二年级下册第二单元《租船问题》
冀教版英语四年级下册第二课
飞翔英语—冀教版(三起)英语三年级下册Lesson 2 Cats and Dogs
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
北师大版小学数学四年级下册第15课小数乘小数一
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
外研版英语三起5年级下册(14版)Module3 Unit1
苏科版数学 八年级下册 第八章第二节 可能性的大小
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,辽宁省
8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
第19课 我喜欢的鸟_第一课时(二等奖)(人美杨永善版二年级下册)_T644386
外研版八年级英语下学期 Module3
沪教版八年级下册数学练习册一次函数复习题B组(P11)
《小学数学二年级下册》第二单元测试题讲解
冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》
小学英语单词
沪教版八年级下次数学练习册21.4(2)无理方程P19
人教版二年级下册数学
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,天津市
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,江苏省
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
3月2日小学二年级数学下册(数一数)
北师大版数学四年级下册3.4包装
七年级英语下册 上海牛津版 Unit3
沪教版牛津小学英语(深圳用)五年级下册 Unit 1