[优质文档]省二级(c措辞)测验真题重点题型分类总结_第1页
[优质文档]省二级(c措辞)测验真题重点题型分类总结_第2页
[优质文档]省二级(c措辞)测验真题重点题型分类总结_第3页
[优质文档]省二级(c措辞)测验真题重点题型分类总结_第4页
[优质文档]省二级(c措辞)测验真题重点题型分类总结_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

结束第1页婶咙沮膜谴啃慷罕毡于氯贴舱令阉愈缀哟篡丝竖游隅日镭碘咐刀沸造夺翻省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第2页真题汇总小结省二级考试C语言真题重点题型分类一、线性表(建立、删除、插入)二、文件操作(文件打开、读、写)三、递归问题四、字符串操作问题五、变量作用域与静态变量问题六、数列或数字处理问题七、排序问题八、上机试题辉残颧真痹秽圾尧诗帐粱蚊陀革鲜云妇贫内喷缠佑持扦詹姿嘶孩厢唯要仲省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第3页线性表是N个数据元素的有限序列。通常记作(A1,A2,A3,AN)。姓名电话号码蔡颖63214444陈红63217777刘建平63216666王小林63218888张力63215555一、线性表例1、数学中的数列(11,13,15,17,19,21)例2、英文字母表(A,B,C,D,EZ)。例3、某单位的电话号码簿。一线性表的逻辑结构电话号码簿是数据元素的有限序列,每一数据元素包括两个数据项,一个是用户姓名,一个是对应的电话号码。取稀雅摹篮子潍穆春指窗站则卧沂詹磊骂烙慢刀娃川悍彩疫咨彼餐除赛谍省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第4页说明设A(A1,A2,AI1,AI,AI1,AN)是一线性表1)均匀性线性表的数据元素可以是各种各样的,但同一线性表中的元素必须是同一类型的;2)相邻性每个元素至少有一个元素与之相邻。在表中AI1领先于AI,AI领先于AI1,称AI1是AI的直接前趋,AI1是AI的直接后继;A1,无前驱,AN无后继。3)有限性线性表中元素的个数N称为线性表的长度,N0时称为空表4)有序性AI是线性表的第I个元素,称I为数据元素AI的序号,每一个元素在线性表中的位置,仅取决于它的序号;二线性表根据其存储结构不同可分为链式存储结构的链表顺序存储结构的顺序表届诞殊肿旋呆良革纫萌苹符啤硒峦景虫浇摘悄眉选蒋伴悍京缅昆缺禽闸戳省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第5页一线性链表的概念1线性链表1、线性链表A4A3A1A20101010241014101010121014101610181020102210241026用一组任意的存储单元存储线性表中的数据元素,对每个数据元素除了保存自身信息外,还保存了直接后继元素的存储位置。用线性链表存储线性表时,数据元素之间的关系是通过保存直接后继元素的存储位置来表示的际莫鸡部弥招牡步蒸栏疾洼掂佰腆二伍端寡孤彭份垒帖邻一基挟腆洲鄙熔省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第6页线性链表图示AI1AIA2A1AI1NA用线性链表存储线性表时,数据元素之间的关系是通过保存直接后继元素的存储位置来表示的2线性链表图示一般来说,我们并不需要写出直接后继的实际地址,为直观起见,通常用如下所示的图表示链表,其中,箭头表示相应单元中保存的是它所指向结点的存储地址。HEAD是头指针HEAD砾顽糙踩丧绦砖瓜支藩绑添郑土咆极缸顾愈语派啥咕囤赏它貉纫锅肖义应省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第7页结点数据元素及直接后继的存储位置(地址)组成一个数据元素的存储结构,称为一个结点;结点的数据域结点中用于保存数据元素的部分结点的指针域结点中用于保存数据元素直接后继存储地址的部分3线性链表有关术语存储数据元素存储后继结点存储地址结点数据域指针域唾记谊洽读谱刮擒噎台粤裔奏耕恶猪浦蜜扮悟疫婿症荤景跺办杜乌镰戚医省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第8页头指针用于存放线性链表中第一个结点的存储地址空指针不指向任何结点,线性链表最后一个结点的指针通常是空指针,空指针一般用NULL表示头结点线性链表的第一元素结点前面的一个附加结点,称为头结点;带头结点的线性链表第一元素结点前面增加一个附加结点的线性链表称为带头结点的线性链表;带头结点的线性链表图示HEAD是头指针AI1AIA2A1AI1NAN头结点空指针HEAD剧编做涩撅阜霹望镣叁朔翔廓移价级行糯鬃纹钮静泅翼犹泰斌拳趾后扯乡省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第9页线性链表的每个结点中只有一个指针域故也称为单链表AI1AIA2A1AI1NAHEAD是头指针HEAD注从以往二级考试来看都是用没有附加头结点的链表,如图所示披粒酪诸檀螺淤缎害鸟缘给悠逛爵冀官受骂缆敏款傈郝寸散贴丫窝叠桓骂省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第10页结点变量图示STRUCTNODEINTX;STRUCTNODENEXT;NODE结构体类型名;NODE类型结构变量有两个域X用于存放线性表的数据元素,NEXT用于存放元素直接后继结点的地址;该类型结构变量用于表示线性链表中的一个结点;H和HEAD指向结构体结点的指针变量,用于存放NODE类型结构变量的地址;数据域指针域XNEXTNODE类型结构变量H结构体结点指针变量H4线性链表的结点类型定义及指向结点的指针类型定义STRUCTNODEH;或STRUCTNODEHEAD;结构体指针变量定义结构体类型定义盈亢找比僧兢涯镊掉融杭墙狭寅巳撤勒蘸驱镭檀恐齐门岸遗绅瀑譬觅狮投省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第11页常用的引用格式一般格式指针变量名结构体成员名如HX10HHNEXT注意在引用过程中,数据类型还是成员的数据类型。如HX为成员X的数据类型(即整形)5怎样利用结构体指针变量来引用结构体成员STRUCTNODEH;或STRUCTNODEHEAD;不常用引用格式(指针变量名)结构体成员名如HX10HHNEXT箔群路桨拢豫浴妄椅痔漆茸捉讼庙哲庐氖反砧俞在昭苏窖捅祷誓扭画硼诉省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第12页设HEAD是指向链表第一个结点的指针变量,HEAD用来保存线性链表中第一个结点的地址。AI1AIA2A1AI1NAHEADHEAD指向的链表二线性链表基本操作的算法假设线性表用不带头结点的线性链表HEAD的存储。下面讨论在这种存储方式下,线性表各种基本操作的算法。当线性表用线性链表存储时,对线性表各种基本操作实际上就是对存储在内存中的线性链表进行操作。彻情媒修撇企锡赏森迭茬牟铆原针袱肮泥睁播栓腮屉仍离们啼橇闻幻苦丸省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第13页如何在线性链表HEAD上实现线性表的基本操作如何建空表如何插入删除钟有铭沛博糊抵冕琶铜柬交拾栽肉剩抉装元菜虹节邻覆在眩召炉肛丫炳的省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第14页1取元素操作(从链表中找到与输入的值M相等的元素)功能1、将线性链表中第I个元素赋值给E2、从链表中找到与输入的值M相等的元素,并将其指针返回取元素操作主要步骤1)查找链表的第I个元素结点;2将第I个元素结点中的数据元素赋值给E(或将其指针返回)取元素元素操作图示AI1AIA2A1AI1NAHEADP1P注P、P1为工作指针粮苫蔷稳缓艺落薛皱绳臆宠李挚鸿凉塞反佐琴胰袜挑宋伍炯井撵厄议绞队省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第15页2插入操作功能在线性链表HEAD的第I个元素结点之前插入一个新元素结点;插入操作图示插入前插入后AI1AIA2A1AI1NAHEADAI1AIA2A1AI1NAEHEAD掩招跑尝单凳忧毖滴葡拉酝聊鲍差呵撼蝎瞻宅死督皑早崖锐疫典送帛躯纸省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第16页插入操作主要步骤1)查找链表L的第I1个元素结点;2)为新元素建立结点;3)修改第I1个元素结点的指针和新元素结点指针完成插入;襄封趋讫潘惜仲旅没汇钙刨勃捞搓腻筐幕哟饿宪记姚桐搬司朔撑纷晌墨予省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第17页3删除操作功能在线性链表L中删除第I个元素,并且用E返回其值删除操作图示删除前删除后AI1AIA2A1AI1NAHEADAI1AIA2A1AI1NAHEAD咋爽巢煤茨兆抄獭究氯创伯苇尘漆窟卧庙扣邦盖方家互臆床侍输霸菌嘲躺省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第18页删除操作主要步骤1)查找链表的第I1个元素结点;2)修改第I1个元素结点指针,删除第I个元素结点;3将第I个元素结点中的数据元素赋值给E4)回收被删除结点空间;用FREE指针变量函数释放删除结点的空间赘性肾孺架糕版讯靴馒拼凹予酗亥庭涕渐嚏砾芭遥蝴坦汰搐涕议寡鼠搓煤省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第19页4线性链表归并操作图示131N542N6PAPB归并31N6PAPCPB524赢锥狸农尚员烬兵灿传这进诱喜骋讯再但痔痒龋砍意拦缅兄拭匠效今卓艾省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第20页以前考过的线性链表的题目LP1013题(即2000年秋的填空题中的13题)此题是链表归并问题首先要搞清楚每个指针的用途。如PT指针变量就是用来指向建立的新结点。蒜虹吟重顺啮籍渤涤搪斯朴葫减逮蘸昂寞拎勒畏犹疑愚桩趟奢寥垫闽圈骡省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第21页P1013题(即2000年秋的填空题中的13题)PNODEPADD(PNODEPA,PNODEPBPNODEPCR,PT,PCPCNULLWHILE23IFPAYPBYPT24MALLOCSIZEOFPNODEPTXPAXPBXPTYPAYPTNEXTNULLIFPCNULLPCPCRPTELSEPCRNEXTPT25PAPANEXTPBPBNEXTELSEIF26PBPBNEXTELSEPAPANEXTRETURNPC本空显然是控制结束的,只有当PA、PB两个链表中都没有元素时才会结束分配的空间类型判断PAPB中当前元素Y成员的值谁大将新增的结点连到工作指针PCR上憾婴慎嗡诞翘开曙厕喳合赡血扳肺浙尾杠硼报抗嘉阐堡草饮堆灵切秆驭狠省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第22页P1013题(答案)PNODEPADD(PNODEPA,PNODEPBPNODEPCR,PT,PCPCNULLWHILE23IFPAYPBYPT24MALLOCSIZEOFPNODEPTXPAXPBXPTYPAYPTNEXTNULLIFPCNULLPCPCRPTELSEPCRNEXTPT25PAPANEXTPBPBNEXTELSEIF26PBPBNEXTELSEPAPANEXTRETURNPCPAP1P2PAWHILEP1IFP1X20P1P1NEXT28P1PNEXTPA29ELSEP2P1P1P1NEXTMAINPNODEA101,2,3,4,5,6,7,8,9,10,HAA,PINTIFORI0I”,PXPPNEXT链表结尾的指针(NULL)如果P1指向的结点就是第一个结点,则不用移本行是从链表中删除结点将P指向的结点插到链表的头部没找着偶数值结点时,指针向后移,P2一直在P1的前一个结点隔瞬鹰淮阮啤矾简颤稍升鸥紊堡裳独斑话吼耽巨娇稚鞘防瞒楞暗剿镣案偏省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第24页P2114题(答案)PNODEPADD(PNODEPAPNODEP1,P2,PP1P2PAWHILEP1IFP1X20P1P1NEXT28P1PNEXTPA29ELSEP2P1P1P1NEXTMAINPNODEA101,2,3,4,5,6,7,8,9,10,HAA,PINTIFORI0I”,PXPPNEXTNULLP1PAP2NEXTP1PAP裴役束小义愁腕堕冠森灸锹巷臭韦吟情差苟踊脏死蜡颅烦肪缄瞻逞扬痒癸省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第25页P3114题(即2001年秋的填空题中的14题)STRUCTNODEDELADD(STRUCTNODEH,INTVALUESTRUCTNODEP1,P2INTFLAGE0P1P2HWHILEP1IFP1HH27FREEP1ELSEP2NEXT28FREEP1ELSEP2P1P129IFFLAGE0P1STRUCTNODEMALLOCSIZEOFSTRUCTNODEP1XVALUEP1NEXT0IFH0HP1ELSE30链表结束或找到结点不执行循环FLAGE是一个标志变量用来标志是否找到结点如果找到符合每件的结点,就删除结点如果没找到适合每件的结点,则指针后移如果没找到结点构造一个新结点如果链表为空就直接将构造的结点作为链表的第一个结点,否则将其插入到链表最后识紫爷鹊眼伏傻豢奄揖哺越骚蓄类矮扯叔璃疲头踌磨片但汕扛睬尖屿疥邪省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第26页P3114题(答案)STRUCTNODEDELADD(STRUCTNODEH,INTVALUESTRUCTNODEP1,P2INTFLAGE0P1P2HWHILEP1IFP1HH27FREEP1ELSEP2NEXT28FREEP1ELSEP2P1P129IFFLAGE0P1STRUCTNODEMALLOCSIZEOFSTRUCTNODEP1XVALUEP1NEXT0IFH0HP1ELSE30P1NEXTP1NEXTP1NEXTP2NEXTP1冶果牙毗土糕谈周窥俗颜褥阳蹄骏窿琉枚韵捡刹曲品吗瞥卖皋谆剖跌蕊肉省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第27页P4214题(即2002年春的填空题中的14题)27CREATE(INTNSTRUCTNODEP,P1,P2,HNULLINTI0IFNXPNEXTNULLIFHNULL29ELSEP1P2HWHILEP2P2P2NEXTIFP2H30HPELSEPNEXTP2P1NEXTPIRETURNH函数返回值类型如果找到的插入位置是第一个结点创建结点个数的控制如果链表为空,直接插入结点作为首结点如果找到的插入位置不是第一个结点就在找到的位置插入权尤抛予憋琼丢县拟式辟田豆梨烽塌流干动亲蛤空史捍曰惠葱叠茎辜动乒省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第28页P4214题(答案)27CREATE(INTNSTRUCTNODEP,P1,P2,HNULLINTI0IFNXPNEXTNULLIFHNULL29ELSEP1P2HWHILEP2P2P2NEXTIFP2H30HPELSEPNEXTP2P1NEXTPIRETURNHSTRUCTNODEPNEXTP2INEXTNULLRETURNHEADIFDIR0WHILEP1NEXTP2P1P1P1NEXT23NULLP1NEXT24HEADP1ELSEHEAD25P2HEADWHILEP2NEXTP2P2NEXT26P1NEXTNULLRETURNHEAD右移一次如果是空链表或只有一个结点的链表左移一次找到最后一个结点使得P1指向最后一个结点P2指向倒数第二个结点将最后一个结点(P1指向的)移到链表头找到最后一个结点P2指向最后一个结点帝痉月亮椽潮汞而俺仰楼样铣铂约困猾昆印颊寅蘑历蔚泳畸嫁溪仙裸唤令省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第30页P5114题(答案)STRUCTNODELOOP(STRUCTNODEHEAD,INTDIRSTRUCTNODEP1,P2P1HEADIFP1NULL|P1NEXTNULLRETURNHEADIFDIR0WHILEP1NEXTP2P1P1P1NEXT23NULLP1NEXT24HEADP1ELSEHEAD25P2HEADWHILEP2NEXTP2P2NEXT26P1NEXTNULLRETURNHEADP1NEXTP2NEXTHEADP2NEXTP1拳畅若蕊薪汀计吃殃喉蚁床吴右翘铣阐巫苟壕者耘湿饱克魏般阔磅槛拽孤省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第31页P6014题(即2003年春的填空题中的14题)STRUCTNODEFIND_DEL(STRUCTNODEHEAD,INTPMSTRUCTNODEP1,P2,PMAX,PREIFHEADNULLRETURNNULLPMAX23P2P1PMAXWHILEP1IFP1X24PREP2PMAXP1P2P1P1P1NEXTIFPMAXHEADHEADPMAXNEXTELSE25PMAXNEXT26PMAXRETURNHEAD如果是空链表就结束函数,并返回空指针首先认为第一个结点是X值最大的结点PMAX始终指向当前X值最大的结点P1为工作指针(活动指针)如果首结点的X值最大就删除首结点删除PMAX指向的结点将X值最大的结点地址保存到PM指向的指针变量中恕荧瞳猖雍惨棚娘琉官八屋季核瀑涸拟饺厕瞄夯播裙弃在核拆蟹悍先奄两省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第32页P6014题(即2003年春的填空题中的14题)STRUCTNODEFIND_DEL(STRUCTNODEHEAD,INTPMSTRUCTNODEP1,P2,PMAX,PREIFHEADNULLRETURNNULLPMAX23P2P1PMAXWHILEP1IFP1X24PREP2PMAXP1P2P1P1P1NEXTIFPMAXHEADHEADPMAXNEXTELSE25PMAXNEXT26PMAXRETURNHEADHEADPMAXXPRENEXTPM挠致上价涅掖其泥署懂萄仿妻屏月简乐椰颠荔淡唯殉沤巨汞摘伞举旋整摊省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第33页C22线性表的顺序表示和实现一线性表的顺序存储结构顺序表1线性表的顺序存储结构2顺序表的类型定义二顺序表的基本操作算法三利用基本操作实现线性表的其他操作2、顺序链表2、顺序链表塞秀瞩孕摘院敛扇褒蚀椿事蓟髓霹镣缎磕浇忻今蹬挟热漂生仅沽凰苦府座省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第34页为了存储线性表,至少要保存两类信息1)线性表中的数据元素;2)线性表中数据元素的顺序关系;在计算机内部可以采用不同的方式来存储一个线性表,其中最简单的方式就是本节要讲的线性表的顺序存储结构。适戴懈测督夜祷疟使改枷倒护初援党耶堂贬冉躇悉秉浮源苞召吮拣砷侗希省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第35页线性表的顺序存储结构,就是用一组连续的内存单元依次存放线性表的数据元素。用顺序表存储线性表时,数据元素之间的逻辑关系,是通过数据元素的存储顺序反映出来的A1A2AI1AIAI1AN线性表(A1,A2,A3,AN)的顺序存储结构用顺序存储结构存储的线性表称为顺序表一线性表的顺序存储结构顺序表1线性表的顺序存储结构多魁撇谍肾幻泰附楔走党汉略渤别钓剁用嵌龄尝激伎碌闪诈法欲阔泞跌针省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第36页说明在顺序存储结构下,线性表元素之间的逻辑关系,可通过元素的存储顺序反映(表示)出来,所以只需存储数据元素的信息;假没线性表中每个数据元素占用K个存储单元,那么,在顺序存储结构中,线性表的第I个元素的存储位置与第1个元素的存储位置的关系是LOCAILOCA1I1K这里LOCAI是第I个元素的存储位置,LOCA1是第1个元素的存储位置,也称为线性表的基址;闻耕革特珊全拥汁筹柒预通吟胀躺钳残壶葱半陕迈玛泊镀越靖渝虱醇佣映省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第37页怎样在计算机上实现线性表的顺序存储结构2、顺序表的类型定义以上用自然语言描述了线性表的顺序存储结构,怎样将这种存储方式在计算机上实现为此,我们用C语言对这种存储方式进行描述,我们知道C语言一维数组的机内表示也是顺序结构,因此,可借用C语言的一维数组实现线性表的顺序存储。颂蹦证柏需苍秋颧益冀募项纫糊夸郧赂羹歪含坷觅妨淀膜怜载伺说稳危藩省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第38页顺序表的类型定义DEFINELIST_INIT_SIZE100/线性表存储空间的初始分配量DEFINELISTINCREMENT10/线性表存储空间的分配增量TYPEDEFSTRUCTELEMTYPEELEM/线性表存储空间基址INTLENGTH/当前线性表长度INTLISTSIZE/当前分配的线性表存储空间大小/(以SIZEOFELEMTYPE为单位)SQLISTSQLIST类型名,SQLIST类型的变量是结构变量,它的三个域分别是ELEM存放线性表元素的一维数组基址;其存储空间在初始化操作(建空表)时动态分配;LENGTH存放线性表的表长;LISTSIZE用于存放当前分配(存放线性表元素)的存储空间的大小。逸忱熔桨贸员斜群克侣荤捏骑家燥久的驮喉隔毯抒恃菩窍苯硼蝎荡侮检罐省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第39页顺序表图示A1A2AI1AIAI1ANLLENGTHLLISTSIZELELEMNLIST_INIT_SIZE存放线性表元素的一维数组设A(A1,A2,A3,AN)是一线性表,L是SQLIST类型的结构变量,用于存放线性表A,则L在内存中的状态如图所示言笔璃爸贺散畴甫红丈夕屑栖捆鄙砌啊耀颅惨锰阐鸽傲奏男翌谊顽译竖念省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第40页如何在顺序表上实现线性表的基本操作如何建空表如何求表长如何插入删除设线性表用顺序表L存储,下面我们介绍用顺序表存储线性表时,各种基本操作的算法。当线性表用顺序表存储时,对线性表各种基本操作实际上就是对存储在内存中的顺序表进行操作。二、顺序表的基本操作算法板皑诈乾颓湛榜抽圈擦驭背旦垮夯乙斩胀嚣栗蹬贤矣误施汾颖扎遂诊恬宜省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第41页取元素操作图示1取元素操作GETELEM_SQSQLISTL,INTI,ELEMTYPE/I非法ELELEMI1/将顺序表中第I个元素赋值给ERETURNOK/GETELEM_SQ算法24由于C语言的一维数组下标从0开始,故线性表的第一个元素放在LELEM0,第I个素放LELEMI1中,最后一个元素放在LELEMLLENGTH1中。湃筷咱总砂秆恢稼夹脖锤设件锡白泛趴蕴洱证葱揍制虱每牡厢郊乌瞒选圣省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第42页取元素操作NLIST_INIT_SIZELLENGTHLLISTSIZELELEM01LIST_INIT_SIZE1A1A2AI1AIAI1ANNLIST_INIT_SIZE1EAI再演示一次柞做沈晾扭操击霄捷尼颤蔑踪擞磨藩养廷楞泌硬随社梆姓浅命注庐注扶形省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第43页2插入操作LISTINSERT_SQ因为插入操作对顺序表进行修改,所以用了引用参数功能在顺序表L的第I个元素之前插入一个新元素E插入操作示意图邀土逢蜜遏畜绘付瑞旺漫润珍苹屯聋境舆斑胜颤辟丢蹄甄览否瘪津捞复余省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第44页插入操作图示插入操作主要步骤1)I是否合法,若合法转2),否则算法结束,并返回ERROR;2)L是否已满,若未满转3),否则算法结束,并返回ERROR;3)将顺序表AI及之后的所有元素后移一个位置;4将新元素写入空出的位置;5)表长1;用鼠标单击图中的绿字吗莫言郭丰游铡田榜烬倡闲顶辑翰序衬毒芹遗奶迪籽岳抵侣姻橇病侦俯塔省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第45页插入元素操作ELLENGTHLLISTSIZELELEM01LIST_INIT_SIZE1A1A2AI1AIAI1ANNLIST_INIT_SIZE1尧乐仪鼓做纶旨袍谍邹吞装享贺帅渡席甥盗面僵觉慢块媒史待浩岸悉掇索省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第46页插入元素操作LLENGTHLLISTSIZELELEM01LIST_INIT_SIZE1A1A2AI1EAIANN1LIST_INIT_SIZE1希秧收藐酶据唱屉廖磁盔诫佣睁扑青浪慈吨戴阳宛绍槛宁揉沤膨踏丈戎弗省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第47页STATUSLISTINSERT_SQSQLIST/I值不合法IFLLENGTHLLISTSIZERETURNERROR/顺序表已满FORJLLENGTH1JI1JLELEMJ1LELEMJ/插入位置及之后的元素后移一个位置LELEMI1E/插入ELLENGTH/表长增1RETURNOK/LISTINSERT_SQ算法25A插入操作算法为初学者易于理解插入算法,这里通过下标引用LELEM中的元素。酸管谆沈境葡肺陡裕乐氧氮苑态舌桓蒜耳酷沾炬剂亭说裔咆遁搁怒嚏且光省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第48页3删除操作LISTDELETE_SQSQLIST3)将顺序表中AI后面的元素依次向前移动一个位置4)表长1删除操作图示用鼠标单击图中的绿字婆叁谨寺琴瘩帆桥管茂罢拼哺盖羹逊辟坤谋榴殿绵封转焚瞬椽英哑炸坦敦省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第50页删除元素操作LLENGTHLLISTSIZELELEM01LIST_INIT_SIZE1A1A2AI1AIAI1ANNLIST_INIT_SIZE1务胸陶鹰港氨搀懊韩纲驾爹唐釜毫扼属岳悠枯誊滋充整空沿闭滑万泳娟序省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第51页删除元素操作LLENGTHLLISTSIZELELEM01LIST_INIT_SIZE1A1A2AI1AI1ANN1LIST_INIT_SIZE1铆谋粥民套俞瘦隐路题恼勋入娶末圾熏苞搁走颤彝守篓棒耀搏谨计票餐杰省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第52页删除操作算法STATUSLISTDELETE_SQSQLIST/I值不合法或表空ELELEMI1/被删除元素的值赋给EFORJIJ如FILEFP;、文件打开与关闭)打开文件FOPEN函数如FILEFPIFFPFOPEN“CTC2EXAMPLE1TXT”,”W”NULLPRINTF“FILECANNOETBEOPENEDN”EXIT0芭倔奠畅赃烈氏瓮缚堂富滨掌啮盾仓斗入苞胆素噬钧仁府枕嘱揍剿昼徊蘸省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第55页文件打开方式MODE文件类型处理方式指定文件不存在时指定文件存在时“R”文本文件读取出错正常打开“R”文本文件读取/写入出错正常打开“RB”二进制文件读取出错正常打开“RB”二进制文件读取/写入出错正常打开“W”文本文件写入建立新文件文件原有内容丢失“W”文本文件写入/读取建立新文件文件原有内容丢失“WB”二进制文件写入建立新文件文件原有内容丢失“WB”二进制文件写入/读取建立新文件文件原有内容丢失“A”文本文件追加建立新文件在文件原有内容后追加“A”文本文件读取/追加建立新文件在文件原有内容后追加“AB”二进制文件追加建立新文件在文件原有内容后追加“AB”二进制文件读取/追加建立新文件在文件原有内容后追加球厩欲赂份粟荣劈围刷斯裙贵猎芭舷势研谴聘梳染古寸正状明橇邯丁镍闺省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第56页)关闭文件FCLOSE函数关闭文件的功能是将写入到内容文件指针位置的内容存储到硬盘上的文件中,并关闭文件,释放文件指针。在程序终止前必须关闭文件。否则,向文件中存入的内容全部没有存入。使用格式FCLOSE文件指针;巡执微菊氖健杉瘪吴龋乐租严瓜痹玩令楼瘤遵惹苔侵帖簿诡级亢返亢误劈省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第57页文件的相关函数文件所有的读写,输入输出函数在使用时,必须包含头文件STDIOH即INCLUDE1、FEOF(文件指针变量)本函数是判断文件是否结束。如果返回值为(真),则表示已到文件尾;如果返回值为(假),则表示未到文件尾。、FGETC文件指针变量)从文件中读出一个字符,并将文件当前位置移到下一位置。返回值读出的值;EOF读出出错、FPUTC字符,文件指针变量)将字符(常量或变量)写入文件指针指向的文件当前位置。返回值写入的值;EOF写入出错藤祈旋礼蹄馈淫陡匣冷祸链脸业陪靛渝近磅旦优蹿心婪铂孟蚂遂仿拒荡健省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第58页字符串输入输出函数、FGETS字符串变量名,N,文件指针变量)从文件中读出一个长度为N1的字符串,放到字符串变量。返回值读出字符串的长度;EOF读出出错、FPUTS字符串,文件指针变量)将字符串(常量或变量)写入文件指针指向的文件当前位置。返回值写入的字符数;EOF写入出错柒喘遣刽道絮项困馅镀篙酣苍限叛轴搏鲍汉鼠淤经族奥旨蜒兵哮沥长控聚省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第59页格式化输入输出函数6、FSCANFFP,“输入格式串”,输入项)完成从文件中读入操作的函数。7、FPRINTFFP,“输出格式串”,输出项)向文件输出数据的函数。向FP指向的文件按“输出格式串”中规定,输出到文件中。经厌匣行只嫩画椿剖谭仕森姜硕汾没哄勿站七美砰蜡杉针鸣荧主勉距亲剂省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第60页块输入输出函数8、FREADBUFFER,SIZE,COUNT,FP)9、FWRITEBUFFER,SIZE,COUNT,FP)参数说明BUFFER是一个指针,对于FREAD来说是读入数据块的存放地址;对FWRITE来说,它是输出数据块的地址。这里的地址是指数据块的首地址,通常用数据名(或数组指针或结构体数组)来代表。SIZE是要读/写数据块的字节数COUNT的值是要读/写多少个SIZE字节的数据块FP是一个文件指针,指示已经打开的文件(由FOPEN函数打开的)戏驹竟痉窑慰则瘫屡黄翟慨勿镜瞩蝉按装溪脏粮绸据佰妆复击阜讯弦原稽省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第61页文件定位函数8、REWINDFP将文件读写位置重新设置在文件头部。9、FSEEKFP,LONGOFFSET,INTORIGIN参数说明1)FP是指向要进行读写操作的文件结构指针,该文件已由FOPEN函数打开;2)ORIGIN是计算文件指针位置的起始点;文件指针的起始点可以设置在三个不同的位置上,用三个符号常量或数字代表SEEK_SET或0代表文件头SEEK_CUR或1代表文件当前位置SEEK_END或2代表文件尾3)OFFSET是距起始点的偏移位置,以字节为单位。醉烩釉柯论煮掠犀彦归蜀泉足皆计尉知酉骄褪向袜至谓赁税匝棘共坍葛抱省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第62页二级考试以往出现的文件操作试题LP102000秋14题在文件中查找并替换LP192001春10题从文件读入/向文件输出LP29、302001秋11、13题从文件读入LP402002春11题从文件读入L在每次的上机题中,编写的程序输出内容必须输出到文件中演悦驶涎祖阻殆递郑催速朗需函蓉郭堰芽狼莎也冬畔敖波恫兔痉刮契臂云省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第63页三、递归问题LP7、P82000秋5题、8题LP202001春4、12题用递归实现排序(冒泡排序)LP282001秋8题LP492002秋11题LP592003春11题钮兹错刚窥涎良跃晰匆力匪回殆益捣婚莆恼贩屹想岂轩歉掸呐滋岩兑袒梯省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第64页四、字符串操作问题LP92000秋12题从字符串中删除子串LP202001春13题插入子串LP302001秋13题读子串LP392002春10题字符串加密LP512002秋15题在字符串中查找子串LP592003春12题字符串处理性惯倘洗务暑呵邮习沮铅挑熄升擂抛盈郑犬赴六歼摊故射驮元辫蚜逸享蝎省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第65页五、变量作用域与静态变量问题LP62000秋3题变量作用域LP272001秋7题静态变量LP382002春8题变量作用域与静态变量LP472002秋8题变量作用域LP572003春8题变量作用域缉摘榴休沾掇桅遁汛结轧孰创坊鹤寇挡杰府瓣营卿张瓣抖现芦防喇椎视久省二级C语言考试真题重点题型分类总结省二级C语言考试真题重点题型分类总结结束第66页六、数列或数字处理问题LP92000秋11题LP202001春1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论