《C语言数据结构》第1至9章自测题答案大全53410.doc
《《C语言数据结构》第1至9章自测题答案大全53410.doc》由会员分享,可在线阅读,更多相关《《C语言数据结构》第1至9章自测题答案大全53410.doc(116页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、佳构文档你我共享如你想要领有完满得空的友情,能够一辈子寻不到冤家。第一章概论自测题谜底姓名班级题号一二三四五六总分题分3315982015100得分一、填空题每空1分共33分1.一个盘算机零碎包含硬件零碎跟软件零碎两年夜部分2.一台盘算机中全体次序的聚集称为这台盘算机的软件资本/零碎3.盘算机软件能够分为零碎软件跟运用软件两年夜类迷信盘算次序包属于运用软件诊断次序属于零碎软件东西4.5.一种用助忆标记来表现呆板指令的操纵符跟操纵数的言语是数据结构是一门研讨非数值盘算的次序计划咨询题中盘算机的汇编言语操纵东西以及它们之AAAAAA佳构文档你我共享间的关联跟运算等的学科6.数据结构被方法地界说为R
2、D此中D是数据元素关联的无限聚集R是D上的无限聚集7.数据结构包含数据的逻辑结构、数据的存储结构跟数据的运算这三个方面的内容8.数据结构按逻辑结构可分为两年夜类它们分不是线性结构跟非线性结构9.线性结构中元素之间存在一对一关联树形结构中元素之间存在一对多关联图形结构中元素之间存在多对多关联10在线性结构中第一个结点不先驱结点其余每个结点有且只要其余每个结点有且只要1个先驱结点;最初一个结点1个后续结点不后续结点11.在树形结构中树根结点不先驱其余每个结点有且只要结点1个先驱结点;叶子结点不后续结点其余每个结点的后续结点数能够恣意多个12.在图形结构中每个结点的先驱结点数跟后续结点数能够恣意多个
3、13数据的存储结构可用四种根本的存储办法表现它们分不是次序、链式、索引跟散列14.数据的运算最常用的有5种AAAAAA佳构文档你我共享它们分不是拔出、删除、修正、查寻、排序15.一个算法的效力可分为时间效力跟空间效力16.00年省统考任何一个C次序都由一个主函数跟假设干个被挪用的其余函数组成17.【00年省统考题】变量一经阐明就断定该变量的取值范畴即存储单位及断定变量所同意的运算二、单项选择题每题1分共15分B与硬盘C1.平日所说的主机是指A)CPUB)CPU跟内存C)CPU、内存与外存D)CPU、内存2.在盘算机外部所有信息的存取、处置跟传递的方法是A)ACSII码B)BCD码C)二进制D)
4、十六进制D3.软件与次序的区不是A)次序价钱廉价、软件价钱昂贵;B)次序是用户本人编写的而软件是由厂家供给的;C)次序是用初级言语编写的而软件是由呆板言语编写的;D)软件是次序以及开辟、运用跟保护所需求的所有文档的总称而次序只是软件的一部分C4.所谓裸机是指A)单片机B)单板机C)不配备任何软件的盘算机D)只配备操作零碎的盘算机D5.运用软件是指A)所有能够运用的软件B)能被各运用单位独特运用的某种软件AAAAAA佳构文档你我共享C)所有微机上都应运用的根本软件D)专门为某一运用目标而体例的软件A6.00年省统考C言语中的常量可分为整型常量、实型常量、字符型常量及(枚举)四种A标记常量B长整型
5、常量C逻辑常量D二进制整数C7.编译次序的功用是A)C)发觉源次序中的语法过错将源次序编译成目标次序B)矫正源次序中的语法过错D)将某一初级言语次序翻译成另一种初级言语次序AA)8.零碎软件中最主要的是操纵零碎B)言语处置零碎C)东西软件D)数据库管理零碎C9.可移植性最好的盘算机言语是A)呆板言语B)汇编言语C)初级言语D)天然言语B系10.非线性结构是数据元素之间存在一种:A一对多关联B多对多关联C多对一关联D一对一关C11.数据结构中与所运用的盘算机有关的是数据的结构;A)存储B)物理C)逻辑D)物理跟存储C12.算法剖析的目标是:A)寻出数据结构的合感性C)剖析算法的效力以求改良B)研
6、讨算法中的输入跟输入的关联剖析算法的易明白性跟文档性D)A13.算法剖析的两个要紧方面是:A)空间庞杂性跟时间庞杂性C)可读性跟文档性B)准确性跟扼要性D)数据庞杂性跟次序庞杂性C办法14.盘算机算法指的是:A)盘算办法B)排序办法C)处置咨询题的无限运算序列D)调理B15.盘算机算法必须存在输入、输入跟等5个特点A)可行性、可移植性跟可扩年夜性C)断定性、有穷性跟波动性B)可行性、断定性跟有穷性易读性、波动性跟平安性D)AAAAAA佳构文档你我共享三、简答题每题3分共9分1咱们明白盘算机只能履行呆板指令什么原因它能运转用汇编言语跟初级言语编写的次序?答:靠汇编次序将汇编言语或初级言语翻译转换
7、为目标次序即呆板言语2.【严题集1.2】数据结构跟数据范例两个不雅点之间有区不吗?答:庞杂地说数据结构界说了一组按某些关联联合在一同的数组元素数据范例不只界说了一组带结构的数据元素并且还在其上界说了一组操纵3.简述线性结构与非线性结构的差别点答:线性结构反应结点间的逻辑关联是一对一的非线性结构反应结点间的逻辑关联是多对多的四、00年统考题浏览以下C次序段写出响应的履行结果每题共8分4分1.printf(Inputx);scanf(%d&x);if(x20)y=x;elseif(x10)y=2*x;if(x0&xa13-a24-A30轮回链表单链表双向轮回链表双向链表四、简答题每题5分共10分1
8、.【严题集2.3】试比拟次序存储结构跟链式存储结构的优缺陷在什么状况下用次序表比链表好?答:次序存储时相邻数据元素的寄存地点也相邻延续的逻辑与物理一致;请求内存中可用存储单位的地点必须是长处:存储密度年夜1?存储空间应用率高缺陷:拔出或删除元素时不便利链式存储时相邻数据元素可随便寄存但所占存储空间分两部分一部分寄存结点值另一部分寄存表现结点间关联的指针长处:拔出或删除元素时非常便利运用灵敏缺陷:存储密度小datalink头指针首元结点简而言之头指针是指向链表中第一个结点或为头结点或为首元结点的指针;头结点是在链表的首元结点之前附设的一个结点;数据域内只放空表标记跟表长等信息内放头指针?那还得另
9、配一个头指针!首元素结点是指链表中存储线性表中第一个数据元素a1的结点五、【软考题】线性表存在两种存储方法即次序方法跟链接方法现有一个存在五个元素的线性表L=2317470531AAAAAA佳构文档你我共享假设它以链接方法存储在以下100119号地点空间中每个结点由数据占2个字节跟指针占2个字节构成如下所示:05U17X23V31Y47Z100120此中指针XYZ的值分不为几多?该线性表的首结点肇端地点为几多?末结点的肇端地点为几多?10分末址=答:X=116Y=0Z=100首址=108112六、浏览剖析题10分AAAAAA佳构文档你我共享【严题集2.10】指出以下算法中的过错跟低效即费时之处
10、并将它改写为一个既准确又高效的算法答:过错有两处:参数分歧法的判不前提不完好比方表长为10假设从第一地位i=1删除10个元素k=10请求公道但会被判为正当正当的进口参数前提为0ia.length(0ka.length-i)应将if(i1|ka.length)returnINFEASIBLE改为:if(!0=i+1;j-)a.elemj-1=a.elemj;改为for(j=i+1;j=a.length;j+)a.elemj-1=a.elemj;七、编程题每题10分共40分AAAAAA佳构文档你我共享1.【徐士良题集2002年1月省统考题】写出在次序存储结构下将线性表逆转的算法请求运用起码的附加空
11、间解:输入:长度为n的线性表数组A(1:n)输入:逆转后的长度为n的线性表数组A(1:n)C言语描绘如下此中ET为数据元素的范例:2.【严题集2.6】曾经明白L是无表头结点的单链表且P结点既不是首元结点也不是尾元结点请写出在P结点后拔出S结点的核心语句序列答:此题谜底不独一但假设从已给定序列当选择那么限度颇多(7)Q=P;(11)P=L;(8)while(P-next!=Q)P=P-next;(10)P=Q;(4)S-next=P-next;P-next=S;3.编写次序将假设干整数从键盘输入以单链表方法存储起来而后盘算单链表中结点的个数此中指针注:统计结点个数是【省统考样题】的请求也是课本P
12、604-6盘算链表长度的请求编程又庞杂P指向该链表的第一个结点非常轻易作为考题解:编写C次序如下(已上机经过):全局变量及函数提早阐明:-#includeAAAAAA佳构文档你我共享#includetypedefstructliuyuintdata;structliuyu*link;test;liuyu*p*q*r*head;intm=sizeof(test);voidmain()/*第一步从键盘输入整数不时增加到链表*/inti;head=(test*)malloc(m);/*m=sizeof(test);*/p=head;i=0;while(i!=-9999)printf(/ninputa
13、nintegerstopby-9999:);scanf(%d&i);p-data=i;/*inputdataissaved*/p-link=(test*)malloc(m);/*m=sizeof(test);*/q=p;p=p-link;q-link=NULL;p=head;i=0;/*本来用p-link=NULL年夜概太晚!*/*统计链表结点的个数并打印出来*/while(p-link!=NULL)printf(%dp-data);p=p-link;i+;printf(nnodenumber=%dni-1);/*结点的个数不包含-9999*/0301陈建武:3.次序中统计结点数应是而不是i-
14、1.i个假设链表表长为ni从0开场那么在统计某一结点后i加一如今p已指向下一个结点AAAAAA佳构文档你我共享第一结点统计终了i为1p指向第二结点即当p指向尾结点(第n个结点)时i的值为n-1while轮回前提不符(指针域为null)加入轮回即得统计的结点数为n-1.因而i的值确实是结点数不用再减一4.请编写26个字母按特定字母值拔出或删除的完好次序可自行选用次序存储或链表结构答:#include#include/*全局变量及函数提早阐明:*/typedefstructliuyuchardata;structliuyu*link;test;liuyu*p*q*r*head;intL;/*元素的
15、个数*/intm=sizeof(test);voidbuild();/*主函数中会被挪用的函数该当事后阐明*/voiddisplay();intinsert_char(charchar);/*拔出一个字母在第字母Y之前假设无字母那么加到末端*/intdelet_char(char);/*删除元素X留意保管X的前趋元素指针!*/*-*/voidbuild()/*字母链表的天生*/inti;head=(test*)malloc(m);p=head;/*m=sizeof(test);*/for(i=1;idata=i+a-1;/*a也可用其ASCII码97来表现*/p-link=(test*)mal
16、loc(m);p=p-link;/*m=sizeof(test);*/p-data=i+a-1;p-link=NULL;AAAAAA佳构文档你我共享/*-*/voiddisplay()p=head;/*字母链表的输入*/while(p-link!=NULL)printf(%cp-data);p=p-link;printf(%cnp-data);/*-*/intinsert_char(charXcharY)/*拔出一个字母X在某个字母Y之前假设寻不到Y字母那么加到末端*/p=head;r=(test*)malloc(m);r-data=X;if(head-data=Y)head=r;r-link
17、=p;elsewhile(p-data!=Y)&(p-link!=NULL)q=p;p=p-link;if(p-data=Y)q-link=r;r-link=p;elsep-link=r;r-link=NULL;L+;return(0);/*-*/intdelet_char(charX)/*留意保管X的前趋元素指针!*/p=head;删除元素Xif(head-data=X)head=head-link;free(p);elsewhile(p-data!=X)&(p-link!=NULL)q=p;p=p-link;if(p-data=X)q-link=p-link;free(p);elseret
18、urn(-1);L-;return(0);AAAAAA佳构文档你我共享/*-*/voidmain(void)L=26;/*字母线性表的天生跟输入*/build();display();printf(insertreturnvalue=%dninsert_char(LW);display();printf(deletereturnvalue=%dndelet_char(z);display();附:屏幕上表现的履行结果是:abcdefghijklmnopqrstuvwxyzinsertreturnvalue=0abcd9efghijklmnopqrstuvwxyzLdeletereturnval
19、ue=0abcdefghijklmnopqrstuvwxyL0301陈建武修正看法:一.display()voiddisplay()p=head;函数代码可优化为四行/*字母链表的输入*/while(p-link!=NULL)/因为当p指向尾结点时p不为null改为while(p)前提成破轮回/printf()而后p被赋值为null如今轮回前提不符加入恰好.printf(%cp-data);p=p-link;printf(%cnp-data);/此行可删用while(p)AAAAAA佳构文档你我共享二.对intinsert_char(charXcharY)假设用带头结点的链表代码可减为10行我
20、的次序如下(假设参数不slistp代码要多一行让q指向头指针)voidInsertFind(slistpcharinsertcharcharinsertpos)/字母insertpos前拔出字母insertcharslistppriornewnode;/newnode新结点pprior为拔出地位结点的直截了以后驱newnode=newliuyu;newnode-data=insertchar;/while(p)/为新结点调配内存对结点数据域初始化/当p指向尾结点时最初一次轮回重新指针开场pprior=p;/pprior指向p的直截了以后驱p=p-next;/p从首元结点开场不时前移直至最初p为
21、nullif(p&(p-data=insertpos)/当p为null或许结点p的数据域为所要拔出的字母break;/那么加入轮回newnode-next=pprior-next;/pprior-next=newnode;在寻到的地位前拔出对删除结点的操纵假设有头结点异样能够增加代码由此可见创破一个头结点对简化次序有非常年夜的协助.下面的不雅念仅供参考过错之处请指教!第3章栈跟行列自测卷谜底姓名班级AAAAAA佳构文档你我共享题号一二三四五六总分题分151020202015100得分一、填空题每空1分共15分1.【李春葆】向量、栈跟行列基本上线性结构能够在向量的任何地位拔出跟删除元素;关于栈只
22、能在栈顶拔出跟删除元素;关于行列只能在队尾拔出跟队首删除元素2.栈是一种专门的线性表同意拔出跟删除运算的一端称为栈顶差别意拔出跟删除运算的一端称为栈底3.行列是被限制为只能在表的一端进展拔出运算在表的另一端进展删除运算的线性表4.在一个轮回行列中队首指针指向队首元素的前一个地位5.在存在n个单位的轮回行列中队满时共有n-1个元素AAAAAA佳构文档你我共享6.向栈中压入元素的操纵是先挪动栈顶指针后存入元素7.从轮回行列中删除一个元素时其操纵是先挪动队首指针后掏出元素8.00年统考题带表头结点的空轮回双向链表的长度即是0解:二、推断正误推断以下不雅点的准确性并作出扼要的阐明每题1分共10分1.线
23、性表的每个结点只能是一个庞杂范例而链表的每个结点能够是一个庞杂范例错线性表是逻辑结构不雅点能够次序存储或链式存储与元素数据范例有关2.在表结构中最常用的是线性表栈跟行列不太常用错不必定吧?挪用子次序或函数常用CPU中也用行列3.栈是一种对所有拔出、删除操纵限于在表的一端进展的线性表是一种落后先出型结构4.关于差其余运用者一个表结构既能够是栈也能够是行列也能够是线性表准确基本上线性逻辑结构AAAAAA佳构文档你我共享栈跟行列事实上是专门的线性表对运算的界说略有差别罢了5.栈跟链表是两种差其余数据结构错栈是逻辑结构的不雅点是专门殊线性表而链表是存储结构不雅点二者不是同类项6.栈跟行列是一种非线性数
24、据结构错他们基本上线性逻辑结构栈跟行列事实上是专门的线性表对运算的界说略有差别罢了7.栈跟行列的存储方法既但是次序方法也但是链接方法8.两个栈共享一片延续内存空间时为进步内存应用率增加溢出时机应把两个栈的栈底分不设在这片内存空间的两头9.队是一种拔出与删除操纵分不在表的两头进展的线性表是一种进步后出型结构错后半句过错10.一个栈的输入序列是12345那么栈的输入序列不克不及够是12345错有能够三、单项选择题每题1分共20分B1.00年元月统考题栈中元素的收支原那么是AAAAAA佳构文档你我共享进步先出落后先出栈空那么进栈满那么出C2.李春葆假设曾经明白一个栈的入栈序列是 123.n其输入序列
25、为p1p2p3.pn假设p1=n那么pi为in=in-i+1不断定说明:当p1=n即n是开始出栈的依照栈的道理n肯定是最初入栈的那么输入次序肯定是123.n那么出栈的序列是n.321B3.李春葆断定一个栈ST-top0ST最多元素为m0为空的前提是ST-top=0ST-topm0ST-top=m0B4.李春葆断定一个行列QU最多元素为m0为满行列的前提是QU-rearQU-frontQU-rearQU-front=m01=m0QU-front=QU-rearQU-front=QU-rear+1D5数组用来表现一个轮回行列为以后行列头元素的前一地位为队尾元素的地位AAAAAA佳构文档你我共享假设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言数据结构 语言 数据结构 自测 答案 大全 53410
限制150内