文档库 最新最全的文档下载
当前位置:文档库 › 软件技术基础《数据结构》习题

软件技术基础《数据结构》习题

软件技术基础《数据结构》习题
软件技术基础《数据结构》习题

软件技术基础《数据结构》习题

练习题及答案

一选择题

1. 设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依

次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应是()。3

A.2 B.3 C.4 D.6

2. 在下面关于线性表的叙述中,选出错误的一项()。2

A.采用顺序存储的线性表,必须占用一片连续的存储单元

B.采用顺序存储的线性表,便于进行插入和删除操作

C.采用链接存储的线性表,不必占用一片连续的存储单元

D.采用链接存储的线性表,便于进行插入和删除操作

3. 设在栈中,由顶向下已存放元素c、b、a,在第4个元素d入栈前,

栈中元素可以出栈,访问d入栈后,不可能的出栈序列是()。3

A.d c b a B.c b d a C.c a d b D.c d b a

4. 栈是一种(),是软件中常用的数据结构。3

A.逻辑特殊的线性结构

B.容量受限的线性结构

C.运算操作限制在同一端进行的线性结构

D.按随机存取方式运算的线性结构

5. 下列描述线性表的叙述中错误的是()。2

A.线性表的顺序存储的元素是从小到大顺序排列的

B.线性表的链接存储,便于插入、删除操作

C.除第一个元素和最后一个元素外,其余每个元素有且仅有一个直接前驱和直接后继

D.线性表可以为空

6. 除个别结点外,其余结点只能有1个前驱结点,可有任意多个后继结点,

这样的结构为()。6

A.线性结构B.树形结构C.图形结构D.拓扑结构

7. 在一个链队中,假定front和rear分别为队首指针和队尾指针,则删除

一个结点的操作为()。3

A.rear=front->next; B.rear=rear->next;

C.front=front->next; D.front=rear->next;

8. 用链表表示线性表的优点是()。2

A.便于随机存取B.花费的存储空间较顺序存储少

C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同

9. 若某链表中最常用的操作是在最后一个元素之后插入一个元素和删除

最后一个元素,则采用()存储方式最节省运算时间。2

A.单链表B.双链表C.单循环链表D.带

头结点的双循环链表

10. 线性表的逻辑顺序与存储顺序总是一致的,这种说法()。2

A.正确B.不正确

11. 在单链表中,增加头结点的目的是为了()。2

A.使单链表至少有一个结点B.表示表结点中首结点的位置

C.方便运算的实现D.说明单链表是线性表的链式存储实现

12. 线性结构中的一个结点代表一个数据元素,通常要求同一线性结构的所

有结点所代表的数据元素具有相同的特性,这意味着()。2 A.每个结点所代表的数据元素都一样

B.每个结点所代表的数据元素包含的数据项的个数要相等

C.不仅数据元素所包含的数据项的个数要相等,而且对应数据项的类型要一致

D.结点所代表的数据元素有同一特点

13. 带头结点的单链表head为空的判定条件是()。2

A.head=NULL; B.head->next=NULL; C.head->next=head;

14. 若线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,

则采用()存储方式最节省时间。2

A.顺序表B.单链表C.双链表D.单循环链表

15. 如果以链表作为栈的存储结构,则退栈操作()。3

A.必须判别栈是否满B.必须判别栈是否空

C.判别栈元素的类型D.对栈不作任何判别

16. 链栈与顺序栈相比,有一个比较明显的优点,即()。3

A.插入操作更加方便B.通常不会出现栈满的情况C.不会出现栈空的情况D.删除操作更加方便

17. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是

()。3

A.e,d,c,b,a B.d,e,c,b,a

C.d,c,e,a,b D.a,b,c,d,e

18. 深度为6(根的层次为1)的二叉树至多有结点()。6

A.31 B.32 C.63 D.64

19. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分

别是0和3。当从队列中删除一个元素,再加入两个元素后,rear和front

的值分别是()。6

A.1和5 B.2和4 C.4和2 D.5和1

20. 在一棵二叉树的先序遍历、中序遍历、后序遍历所产生的序列中,所

有叶结点的先后顺序()。6

A.都不相同

B.完全相同

C.先序和中序相同,而与后序不同

D.中序和后序相同,而与先序不同

21. 在下列关于二叉树的叙述中,选出正确的一项()。6

A.在二叉树中,任何一个结点的度都是2

B.二叉树的度为2

C.在二叉树中至少有一个结点的度是2

D.一棵二叉树的度可以小于2

22. 已知一棵二叉树的先根序列为ABDGCFK,中根序列为DGBAFCK,

则结点的后根序列为()。6

A.ACFKDBG B.GDBFKCA

C.KCFAGDB D.ABCDFKG

23. 如果一棵二叉树中任一结点的值都大于其左子树中所有结点的值,且

小于其右子树中所有结点的值,现欲得到各结点值的递增序列,试问应采

用的遍历的方法是什么()。6

A.先序遍历B.中序遍历C.后序遍历D.层次遍历

24. 设森林F中有3棵树,其第一、第二和第三棵树的结点个数分别是n1、

n2和n3,则与森林F对应的二叉树根结点的右子树上的结点个数是()。6

A.n1 B.n1+n2 C.n3 D.n2+n3

25. 若要进行二分查找,则对线性表有()。

A.线性表必须以顺序方式存储

B.线性表必须以顺序方式存储,且数据元素已按值排好序

C.线性表必须以链式方式存储

D.线性表必须以链式方式存储,且数据元素已按值排好序

26. 由分别带权为9、2、5、7的四个叶子结点构成一棵哈夫曼树,该树的

带权路径长度为()。

A.23 B.37 C.44 D.46

27. 一组记录的关键码为一个字母序列(Q,D,F,X,A,P,N,B,Y,

M,C,W),按归并排序方法该序列进行一趟归并后的结果是

()。

A.DFQXABNPCMWY B.DFQAPXBNYCMW

C.DQFXAPBNMYCW D.QFXDAPBNMYCW

28. 与数据元素本身的形式、内容、相对位置、个数无关的是数据的

()。

A.存储结构B.存储实现C.逻辑结构D.运算实现

29. 循环链表的主要优点是()。

A.不再需要头指针了

B.已知某个结点的位置后,能够容易找到它的直接前趋

C.在进行插入、删除运算时,能更好地保证链表不断开

D.从表中任一结点出发都能扫描到整个链表

30. 有一棵非空的二叉树(第0层为根结点),其第i层上至多有多少个结点

()。6

A.2i B.2i-1C.2i+1D.i

31. 将含有100个结点的完全二叉树从根这一层开始,每层从左到右依次对

结点编号,根结点的编号为1。编号为71的结点的双亲结点的编号为

()。

A.34 B.35 C.36 D.无法确定

32. 以下哪一个术语与数据的存储结构有关()?

A.栈B.队列C.散列表D.线性表

33. 如图所示二叉树的中序遍历序列是()。

A.abcdg ef B.dfebagc C.dbaefcg D.defbagc

34. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前

序遍历序列是()。

A.acbed B.decab C.deabc D.cedba

35. 二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面。这

种说法()。

A.正确B.错误

36. 树最适合用来表示()。

A.有序数据元素B.无序数据元素

C.元素之间具有分支层次关系的数据D.元素之间无联系的数据

37. 任何一棵二叉树的叶结点在先序、中序、后序遍历序列中的相对次序

()。

A.不发生改变B.发生改变C.不能确定

38. 按照二叉树的定义,具有三个结点的二叉树有()种。

A.3 B.4 C.5 D.6

39. 用冒泡排序算法对下列数据12,37,42,19,27,35,56,44,10进

行从小到大排序(从前向后进行比较)。在将最大的数“沉”到最后时,

数的顺序是()。

A.12,37,42,19,27,35,44,10,56

B.12,37,42,19,27,35,10,44,56

C.12,37,19,27,35,42,44,10,56

D.10,12,19,27,35,37,42,44,56

40. 二分查找法适用于存储结构为()且按关键字排好序列的线性

表。

A.顺序存储B.链接存储C.顺序存储或链接存储

D.索引存储

41. 排序方法中的()方法是从未排序序列中挑选元素,并将其依次

放入已排序序列的一端。

A.归并排序B.插入排序C.冒泡排序D.选择排序

答案

1~5:

B B

C C A

6~10:

B C C C B

11~15:

C C B A B

16~20:

B C A B B

21~25:

B D B D B

26~30:

C C C

D A

31~35:

B C C D A

36~41

C A C C A D

二填空题

1. 如果对于给定的一组数值,所构造出的二叉树的带权路径长度最小,

则该树称为()。

2. 线性表L = (a1,a2,……,an)用数组表示,假定删除表中任一元

素的概率相同,则删除一个元素平均需要移动元素的个数是()。

3. 在图形结构中,每个结点的前驱结点数可以有(),后继结点

数可以有()。

4. 线性表、栈和队列都是()结构。可以在线性表的()

位置插入元素和删除元素;对于栈只能在()插入或删除元素;对于

队列只能在()插入元素,在()删除元素。

5. 对于一个线性表经常进行的是存取操作,很少进行插入和删除操作

时,则采用()存储结构为宜;相反,当经常进行的是插入和删除

操作时,则采用()存储结构为宜。

6. 假定用于通信的电文有8个字母组成,分别是A,B,C,D,E,F,

G和H,各字母在电文中出现的概率为:5%,25%,4%,7%,9%,12%,30%和8%,则它们的哈夫曼编码分别为

)。

7. 在一个单链表中由p指针指向的结点后插入s指针指向的结点时,应

执行s->next=()和p->next=()的操作。

8. 在一棵二叉排序树中,按()遍历得到的结点序列

是有序序列。

9. 在归并排序中,若排序记录的个数为20个,则需进行()

次归并,在第三次归并中,把长度为()的有序表归并成长度为()的有序表。

10. 有m个叶子结点的哈夫曼树上的分支结点数是()。

11. 数据的基本单位是(),最小单位是()。

12. 数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包

括三个方面的内容,分别是()。

13. 设有字母序列{Q,D,F,X,A,P,N,B,Y,M,C,W},请写出

按归并排序方法对该序列进行一趟扫描的结构是()。

14. 算法就是解决问题的基本方法,一个算法应具备

()五个特征。

15. 在线性表的顺序存储中,元素之间的逻辑关系是通过()

决定的;在线性表的链接存储中,元素之间的逻辑关系是通过()决定的。

16. 在双向链表中,每个结点都含两个指针域,它们一个指向其

()结点,另一个指向其()结点。

17. 在一棵具有n个结点的完全二叉树中,若编号为i的结点有左孩子,则

左孩子结点的编号为();若有右孩子,则右孩子结点的编号为();若i结点有双亲结点,则当i为偶数时,其双亲结点的编号为(),当i为奇数时,其双亲结点的编号为()。

18. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接选择

排序时,第四次选择和交换后,未排序的记录为()。

19. 由分别带权为4,8,7,3,5的共五个叶子构成一棵哈夫曼树,则它的

带权路径长度为()。

20. 如果对于给定的一组权值,所构造出的二叉树的带权路径长度最小,则

该树称为()。

21. 在树中,一个结点的直接子结点的个数称为该结点的

()。

22. 存储结构的四种基本类型分别是()、()、

()、()。

23. 在线性表的链式存储结构中,我们常讲的头指针与头结点的根本区别是

();头结点与首元素结点的关系是()。

24. 栈和队列均可视为特殊的线性表,所不同的在于对这两种特殊线性表的

()和()运算的限定不一样。

答案

二.填空题

1.哈夫曼树;

2.n/2;

3.任意多个;任意多个;

4.线性;任何;栈顶;队尾;队首;

5.顺序;链式;

6.A:0001,B:01,C:0000,D:1010,E:001,F:100,G:11,H:1011;

7.p->next;s;

8.中序;

9.5;4;8;

10.m-1;

11.数据元素;数据项;

12.数据的逻辑结构、数据的物理结构和数据的操作;

13.D,Q,F,X,A,P,B,N,M,Y,C,W;

14.有穷性、确定性、可行性、0或多个输入和1或多个输出;

15.邻接位置;链接指针;

16.前驱;后继;

17.2i; 2i+1; i/2; (i-1)/2;

18.54,72,60,96,83;

19.61;

20.哈夫曼树;

21.度;

22.顺序存储;链式存储;索引存储;散列存储;

23.头结点是加在线性表第一个元素所在结点之前的一个附设结点,而头指针是链表中第一个结点的地址变量;若带头结点的单链表不为

空,则头结点指针域的值就是首元结点的地址;

24.插入;删除;

软件技术基础试题及答案

软件技术基础试题及答案

软件技术基础 系班级姓名成绩 得分评卷 人一、填空题(每空1分,共25分) 1.数据结构作为一门学科,主要研究数据 的、存储结构以及 三方面内容。 2.当对一个线性表经常进行插入或删除操作时,则 宜采用存储结构;而经常进行的是访问操作,而很少进行插入或删除操作时,则宜采用存储结构。 3.在线性结构中,首结点有个前驱结点, 其余每个结点有且只有个前驱结点。4.限定在表的一端进行插入,在表的另一端进行删 除的线性表称为;限定在表的一端进行插入和删除运算的线性表称为。 5.一个8阶的下三角矩阵B按行优先顺序压缩存储 第2页,共19页

6. 第3页,共19页

7. 8.操作系统通过记载、跟 踪、控制进程的执行,它是进程存在的唯一标志。 作业调度程序是从处于状态的作业中选取一个作业并把它装入主存。 12A.软件生命周期瀑布模型一般可分为问题分析、、、 和软件维护五个阶段。 , 得分评卷 人二、选择题(每小题1分,共10分)下列语句正确的是()。 A. int *p=&x; B. int *p=x; C. int p=&x; D. int *p=*x; 2. int a[ ]={1,2,3,4,5},b[5],*p; 则下列语句中不 正确的语句是()。 A. p=b+1; B.p=&a[3]; C. p=a; D.b=a; 3. 设有以下说明语句 struct node{ int a;float b;};struct node node1,node2,*pnode; 则下列语句中正确是()。 A. node1=node2; B. 第4页,共19页

西电《软件技术基础》上机大作业答案解析

说明 每个实验题目含有一个main函数和一些函数,与实验题目相关的基本运算的函数定义和main函数定义的代码在附录以及对应的文件夹中给出,供上机实验参考使用。对于每个题目,只需要根据题目要求设计算法,补充函数定义,然后对程序进行编译、调试。

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验内容 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n , e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。(文件夹:顺序表逆置、单链表逆置) 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。(文件夹:分解单链表) 实验二栈和队列 一、实验目的 1.熟悉栈和队列的顺序和链式存储结构 2.掌握栈和队列的基本运算 3.能够利用栈和队列的基本运算完成栈和队列应用的运算 二、实验内容 1.设单链表中存放有n个字符,试编写算法,判断该字符串是否有中心对称的关系,例如xyzzyx是中心对称的字符串。(提示:将单链表中的一半字符先依次进栈,然后依次出栈与单链表中的另一半字符进行比较。)(文件夹:判字符串中心对称) 2.假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen 分别指示循环队列中队尾元素的位置和内含元素的个数。编写实现该循环队列的入队和出队操作的算法。 提示:队空的条件:sq->quelen==0;队满的条件:sq->quelen==m。(文件夹:循环队列)实验三串 一、实验目的 1.熟悉串的顺序存储结构 2.掌握串的基本运算及应用 二、实验内容 1.串采用顺序存储结构,编写朴素模式匹配算法,查找在串中是否存在给定的子串。(文件夹:模式匹配) 2.若S是一个采用顺序结构存储的串,利用C的库函数strlen和strcpy(或strncpy)编写

软件技术基础模拟题

《软件技术基础》模拟题 一、填空题 1. 软件工程的传统途径是_____________方法学。 2. 一般说来,软件生命周期由_____________、软件开发和软件维护三个时期组成。 3. _______________的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 4. 数据流图描述系统的_____________模型。 5. 数据字典的用途是作为_____________阶段的工具。 6. 在可行性研究以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入___________阶段。 7. ER模型中包含“实体”、“联系”和“_____________”三个基本成分。 8. 结构化分析方法是面向_____________进行需求分析的方法。 9. _____________是对一个软件结构内不同模块之间互联程度的度量。 10. _____________标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 11. 面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。信息流有变换流和_____________两种类型。 12. 衡量模块独立性的两个定性的度量标准是内聚性和_________。 13. 在详细设计阶段,经常采用的工具有程序流程图、盒图、_________。 14. Jackson图不仅可表示程序结构,还可表示_________。 15. 20世纪70年代中期出现了“面向数据结构”的设计方法,其中有代表性的是Jackson方法和_________方法。 16. 面向对象有三个基本要素,它们是抽象、封装性和________。 17. 所谓对象模型就是表示静态的、________的系统的“数据”性质。 18. 维护的副作用有编码副作用、数据副作用和________副作用。 19. 软件测试是为了__________而执行程序的过程。 20. 白盒测试是结构测试,黑盒测试是________测试。 二选择 1. 研究开发资源的有效性是进行_______可行性研究的一方面。 A. 经济 B. 技术 C. 操作 D. 社会 2. 软件生命周期中时间最长的阶段是______阶段。 A. 需求分析 B. 详细设计 C. 测试 D. 维护 3. 瀑布模型是一种_________。

软件技术基础模拟试题及参考答案

软件技术基础模拟试题(第二十次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1、数据元素是数据的基本单位,数据项是数据的最小单位。() 2、栈是特殊的线性表,须用一组地址连续的存储单元来存储其元素。() 3、引入虚拟存储技术后,逻辑内存总容量是由地址总线的位置确定的。() 4、编译程序是一种常用应用软件。() 5、顺序文件和链接文件的长度都可以动态变化。() 6、在文件系统中采用目录管理文件。() 7、允许多用户在其终端上同时交互地使用计算机的操作系统称为实时系统。() 8、程序、数据、和进程控制块是构成一个进程的三要素。() 9、黑盒测试时,既要考虑程序的内部逻辑结构又要考虑其外部特性。() 10、软件的总体设计和详细设计都要用PAD图形工具。() (参考答案:1~10:ABABB ABABB) 二、单项选择题:(每小题1分,共5分) 1、允许用户把若干作业提交计算机系统集中处理的操作系统称为()。 A分时操作系统B实时操作系统C网络操作系统D批处理操作系统2、分配到必要资源并获得了处理机时的进程的状态称为()。 A就绪状态B执行状态C等待状态D阻塞状态 3、利用通道技术可以在()之间直接交换数据。 A内存与CPU B CPU与外设C内存与外设D内存、CPU和外设三者4、以下的准则中哪个不是软件设计的准则()。 A编程语言选择准则B信息屏蔽准则 C结构化和模块化准则D抽象准则 5、有一数列:97657613294958经过一趟排序后得到: 65971376294958请问使用的是何种排序方法?() A简单插入排序B冒泡排序C2路归并排序D快速排序 (参考答案:DBCAC) 软件技术基础模拟试题(第十九次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1、在目前,用于保证软件质量的主要手段是进行软件测试。() 2、使用DMA方式传送数据期间不需要CPU干预。() 3、线性顺序队列会产生“假溢出”,而线性循环队列则不会。() 4、对同一种算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。() 5、在线性表中,数据的存储方式有顺序和链接两种。() 6、进程由程序块、文件控件块和数据块三部分组成。() 7、在面向对象的程序设计中,派生类只能从一个基类产生。() 8、操作系统是用户和硬件的接口。() 9、个人计算机中可配置的最大内存容量受地址总线位数的限制。() 10、软件维护中最困难的问题是软件配置不全。() (参考答案:1~10:A、A、A、B、A、B、A、A、A、B) 二、单项选择题:(每小题1分,共5分)

软件技术基础教学大纲资料

《软件技术基础》教学大纲 课程编号:23000840 适用专业:电子信息类(非计算机专业) 学时数:40 学分数: 2.5 开课学期:第4学期 先修课程:《C语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015年3月审核人(教学副院长): 一、课程性质和目标 授课对象:电子信息工程专业大学二年级本科生 课程类别:学科拓展课程 教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32学时) 1)C程序设计(4学时) (1)C语言回顾,指针的基本概念、运算方法和使用(2学时)。 (2)结构体的基本概念和使用方法(2学时)。 2)数据结构(20学时) (1)数据结构的基本概念(2学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a.理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b.掌握单链表、双链表、循环链表的创建、插入、删除方法(2学时); c.理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2学时);

d.理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链队列的创建及出队、入队(2学时); e.理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法(1学时)。 (3)非线性数据结构(5学时):了解典型非线性数据结构的基本概念、存储和访问方式。 a.理解二叉树、满二叉树、完全二叉树的概念及基本性质(1学时); b.掌握二叉树的三种遍历算法、树和二叉树的转换方法(2学时); c.理解图的基本概念及性质,掌握图的邻接矩阵、邻接图存储方式(2学时)。 (4)结构查找和排序(4学时):理解查找和排序的基本概念,掌握三种查找(顺序、二分、分块)和三种排序(简单插入,简单选择和冒泡)方法和实现。 3)操作系统(8学时) (1)操作系统的基本概念(2学时):了解操作系统的基本概念,操作系统发展的历 程和现代操作系统的基本特征。 (2)处理机管理(4学时);理解进程、进程的状态、描述方式、进程控制的手段, 进程的同步和互斥,进程通信和死锁等基本概念,理解进程调度的相关方法。 (3)作业管理(2学时):理解作业、作业的状态、描述方式、作业控制的手段,等 基本概念,理解作业调度的相关方法。 通过这一章的学习同学们应该理解一个用户作业提交给计算机之后,操作系统控制计算机来执行该用户作业的基本流程。 2、实验安排(8学时) 共设置5组实验,分为上机实验和课外实验两部分:上机实验包括两个实验,课外实验包括3个实验,详细实验内容见实验教学大纲。 三、考核方式 课程最后成绩构成包括:期末考试卷面成绩(70%),平时成绩(10%),实验成绩(20%)。 实验部分的考核包含上机实验和课外实验,实验成绩采用实验出勤、实验考核、实验报告和实验程序验证相结合的方式给出。 四、教材和参考资料 1、教材 《软件技术基础》,黄迪明,电子科技大学出版社,1998年 2、参考资料

软件技术基础模拟试题

软件技术基础模拟试题(第二十四次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1. 顺序表和线性链表的物理存贮形式都是顺序存贮。( 1 ) 2. 数据类型是某种程序设计语言中已实现的数据结构。( 2 ) 3. 如果通过软件测试没有发现错误,则说明软件是完全正确的。( 3 ) 4. 快速原型模型可以有效地适应用户需求的动态变化。( 4 ) 5. 不同进程之间的动作在时间上不能重叠。( 5 ) 6. 分区式存储管理能够进行存储空间共享。( 6 ) 7. 链接文件和索引文件都可以非连续存放。( 7 ) 8. 中断处理一般分为中断响应和中断处理两个步骤。前者由软件实施,后者主要由硬件实施。( 8 ) 9. 在C++语言中,“重载”表达了最简单的多态性。( 9 ) 10.进程调度根据一定的调度算法,从等待队列中挑选出合适的进程。( 10 ) (参考答案:1~10:ABBAB BABAB ) 二、单项选择题:(每小题1分,共5分) 1. 在数据结构中,一个存储结点存放一个(11 )。 11 (A) 数据项(B) 数据元素(C) 数据结构(D) 数据类型 2. 把逻辑地址转变为存储的物理地址的过程称作(12 )。 12 (A) 编译(B) 连接(C) 运行(D) 重定位 3. SPOOLing技术可以实现设备的(13 )分配。 13 (A) 虚拟(B) 共享(C) 独占(D) 物理 4. 允许用户把若干作业提交计算机系统集中处理的操作系统称为(14 )。 14 (A) 分时操作系统(B) 实时操作系统 (C) 网络操作系统(D) 批处理操作系统 5. 进程从运行状态进入就绪状态的原因可能是(15 )。 15 (A) 被选中占有处理机(B) 时间片用完 (C) 等待的事件已发生(D) 等待某一事件 (参考答案:BBADB) 软件技术基础模拟试题(第二十三次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1. 数据在计算机内在中的表示是指数据的存储结构。( 1 ) 2. 能影响中断响应次序的技术是中断优先级和中断屏蔽。( 2 ) 3. 链表可以随机访问任意一个结点,而顺序表则不能。( 3 ) 4. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。( 4 ) 5. Windows、OS/2、Linux微机操作系统都是多用户多任务操作系统。( 5 ) 6. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。 ( 6 ) 7. 流式文件和记录式文件都以字符为基本单位进行存取。( 7 ) 8. 不定长文件是指字段的长度不固定。( 8 ) 9. 软件工程的三要素包括方法、工具和环境。( 9 ) 10.软件结构是以指令为基础而组成的一种控制层次结构。( 10 ) (参考答案:1~10:AABAB ABBBB) 二、单项选择题:(每小题1分,共5分) 1. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是 ( 11 ). 11 (A) 1,4,3,2 (B) 2,3,4,1 (C) 3,1,4,2 (D) 3,4,2,1

软件技术基础习题答案

操作系统 1.如何理解虚拟机的概念? 答:虚拟机就是在裸机上扩展一层软件,将硬件实现细节隐藏起来,使用户能够更方便、更灵活使用的计算机。 2.什么是多道程序设计,它的主要优点是什么? 答:多道程序设计就是允许多个程序同时进入内存并运行。主要优点:提高资源利用率,从而提高了系统的吞吐量。 3.试述分时系统与实时系统,并比较它们的区别。 答:分时系统是指能够允许多个用户同时使用一台计算机的系统。实时系统是指能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件处理的系统。实时系统对系统响应速度要求更高,可靠性要求更高。(或者说明分时系统与实时系统各自特点) 4.一般从哪几方面对操作系统的性能进行评价? 1)可靠性 2)方便性 3)效率 4)可维护性 5)可移植性 5.试说出几种你所熟悉的操作系统名称,并说明其特征。 答:Linux特征:支持多用户、多任务,具有良好的用户界面,设备独立性,系统安全性能高,良好的可移植性。 Windows特征:支持多用户、多任务,具有友好的图形用户界面,强大的内存管理功能,可靠性高,操作简单。 6.根据你试用计算机系统的经验,说明操作系统的作用。 答:控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用。 7.如何理解网络操作系统的主要功能? 答:用于管理网络通信和共享资源,协调各主机上任务的运行,并向用户提供统一的、有效的网络接口,包括网络管理、通信、资源共享、系统安全和多种网络应用服务。 8.如何理解进程的概念?进程与程序的区别是什么?进程与作业的联系和区别是什么?答:进程是一个可以并发执行的程序或程序段在一个数据集合上的执行过程,他是系统分配资源的基本单位。 区别:1)经常是一个动态的概念,是执行程序的动态过程,它因创建而产生,因调度而执行,因撤销而消亡。而程序是一个静态的概念,是进程运行的静态文本。 2)进程能真实地描述并发执行,且具有并发性,而程序没有。 3)一个进程可以执行一个或多个程序。 4)程序可以作为一种软件资源长期保持着,而进程则是程序的一次执行过程,是暂时的,是动态地产生和终止的,它不具有存储性。 作业和进程的联系两者静态描述的结构相似,作业是由程序,数据和JCB组成,进程是由程序或程序段,数据,PCB组成。区别:作业是用户向计算机提交任务实体,而进程是完成用户任务的执行实体;一个作业可由多个进程组成,且必须至少有一个进程。作业一般用于批处理系统中,而进程用在所有多道系统中。 9.理解进程的三种基本状态和发生状态转换的原因。 答:进程的三种基本状态分别执行状态,就绪状态和等待状态。简单来说是由于CPU以及

软件技术基础试题(含答案)

《操作系统》 选择题: (bs30)1. 分页式存储管理的主要特点是(B)。 (A) 要求作业全部同时装入内存(B) 不要求作业装入到内存的连续区域 (C) 要求扩充外存容量(D) 不要求处理缺页中断 (bs30)2. 进程从运行状态进入就绪状态的原因可能是(D)。 (A) 被选中占有处理机(B) 等待某一事件(C) 等待的事件已发生(D) 时间片用完 (bs30)3. 多道程序设计是指(D)。 (A) 在实时系统中并发运行多个程序(B) 在分布系统工程中同一时刻运行多个程序 (C) 在一台处理机上同一时刻运行多个程序(D) 在一台处理机上并发运行多个程序 (bs29)2. 进程从运行状态进入就绪状态的原因可能是( A )。 (A) 时间片用完(B) 等待某一事件(C) 等待的事件已发生(D) 被选中占有处理机(bs29)4. 以下(D)不是实时操作系统的特点。 (A) 高可靠性(B) 及时响应(C) 高效性(D) 通用性 (bs28)3. 任何两个并发进程之间( A )。 (A) 可能存在同步或互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 一定存在互斥关系 (bs28)4. 以下的哪个特征不是分时操作系统的主要特征(B)。 (A) 分时性(B) 独占性(C) 交互性(D) 多路性 (bs27)2. 以下(D)不是实时操作系统的特点。 (A) 高可靠性(B) 及时响应(C) 中断管理(D) 独立性 (bs27)3. 若当前进程因时间片用完而让出处理机时,该进程应转变为(B)状态。 (A) 运行(B) 就绪(C) 等待(D) 完成 (bs26)3. 在多道程序设计系统中,处于后备状态的作业要经过(D)调度后才能真正执行。 (A) 作业调度(B) 作业调度和设备调度(C) 进程调度(D) 作业调度和进程调度 (bs25)1. 把高级语言的源程序翻译成二进制代码的过程称为:(A)。 (A) 编译(B) 连接(C) 运行(D) 重定位 (bs25)2. 把逻辑地址转变为内存的物理地址的过程称作(D)。 (A) 地址分配(B) 地址连接(C) 地址调用(D) 地址变换 (bs25)4. 在操作系统中,进程最基本的特征是(A)。 (A) 动态性和并发性(B) 顺序性和可再现性 (C) 与程序的对应性(D) 执行过程的封闭性 (bs24)2. 把逻辑地址转变为存储的物理地址的过程称作(D)。 (A) 编译(B) 连接(C) 运行(D) 重定位 (bs24)3. SPOOLing技术可以实现设备的(B)分配。 (A) 虚拟(B) 共享(C) 独占(D) 物理 (bs24)4. 允许用户把若干作业提交计算机系统集中处理的操作系统称为(D)。 (A) 分时操作系统(B) 实时操作系统 (C) 网络操作系统(D) 批处理操作系统 (bs24)5. 进程从运行状态进入就绪状态的原因可能是(B)。 (A) 被选中占有处理机(B) 时间片用完 (C) 等待的事件已发生(D) 等待某一事件 (bs23)2. 任何两个并发进程之间( D) (A) 一定存在互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 可能存在同步或互斥关系

软件技术基础教学大纲资料

软件技术基础》教学大纲 课程编号: 23000840 适用专业:电子信息类(非计算机专业) 学时数: 40学分数: 2.5 开课学期:第4 学期 先修课程: 《C 语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015 年3月审核人(教学副院长): 一、课程性质和目标授课对象:电子信息工程专业大学二年级本科生课程类别:学科拓展课程教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32 学时) 1) C 程序设计(4 学时) (1)C 语言回顾,指针的基本概念、运算方法和使用( 2 学时)。 (2)结构体的基本概念和使用方法(2 学时)。 2)数据结构(20 学时) (1)数据结构的基本概念(2 学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9 学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a. 理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b. 掌握单链表、双链表、循环链表的创建、插入、删除方法( 2 学时); c. 理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2 学时); d. 理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链 队列的创建及出队、入队(2 学时); e. 理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法 (1 学时)。

中国石油大学(华东)软件技术基础复习题

线性表的习题 1.下述哪一条是顺序存储结构的优点? C A.插入运算方便 B.可方便地用于各种逻辑结构的存储表示 C.存储密度大 D.删除运算方便 2.下面关于线性表的叙述中,错误的是:B A.线性表采用顺序存储,必须占用一片连续的存储单元 B.线性表采用顺序存储,便于进行插入和删除操作 C.线性表采用链式存储,不必占用一片连续的存储单元 D.线性表采用链式存储,便于插入和删除操作。 3.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用_______存储方式最节省运算时间。D A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表 4.链表不具有的特点是:B A.插入、删除不需要移动元素 B.可随机访问任一元素 C.不必事先估计存储空间 D.所需空间与线性长度成正比 5.在n个节点的线性表的数组实现中,算法的时间复杂度是O(1) 的操作是:A A.访问第i个结点和求第i个结点的直接前驱 B.在第i个节点后插入一个新节点 O(n) C.删除第i个节点 O(n) D.以上都不对 6.在一个以h为头的单循环链表中,p指针指向链尾的条件是:A A.p->next==h B.p->next==null C.p->next->next==h D.p->data==-1 7.在非空双向循环链表中q所指的结点前插入一个由p所指的链结点的过程依次为:rlink(p)←q; llink(p)←llink(q);llink(q)←p;___________ A.rlink(q)←p; B.rlink(llink(q))←p; C.rlink(llink(p))←p;

计算机软件技术基础课后题答案

数据结构习题答案 第一节概论 一、选择题 1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。 A.数据元素具有同一的特点 *B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。 (1) A.操作对象 B.计算方法 *C.物理存储D.数据映像 (2) A.结构 *B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。 (1) A.算法 *B.数据元素 C.数据操作D.逻辑结构 (2)A.操作 B.映像 C.存储 *D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。A.动态结构和静态结构 B.紧凑结构和非紧凑结构*C.线性结构和非线性结构 D.部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。

*A.随机存取 B.顺序存取 C.索引存取 D.Hash 存取 6.算法分析的目的是( )。 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 *C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。 (1) A.计算方法 B.排序方法 *C.解决某一问题的有限运算序列 D.调度方法 (2) A.可行性、可移植性和可扩充性 *B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性 8.线性表若采用链表存储结构,要求存中可用存储单元的地址( )。 A.必须是连续的 B.部分必须是连续的 C.一定是不连续的 *D.连续不连续都可以 9.在以下的叙述中,正确的是( )。 A.线性表的线性存储结构优于链式存储结构*B.二维数组是它的每个数据元素为一个线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 10.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式,其中解释错误的是( )。

软件技术基础试题及答案

软件技术基础 系班级姓名成绩得分评卷人 一、填空题(每空1分,共25分) 1.数据结构作为一门学科,主要研究数据的、存储结构以及 三方面内容。 2.当对一个线性表经常进行插入或删除操作时,则宜采用存储结构;而经常进 行的是访问操作,而很少进行插入或删除操作时,则宜采用存储结构。 3.在线性结构中,首结点有个前驱结点,其余每个结点有且只有个前驱结点。 4.限定在表的一端进行插入,在表的另一端进行删除的线性表称为;限定在表 的一端进行插入和删除运算的线性表称为。 5.一个8阶的下三角矩阵B按行优先顺序压缩存储在一维数组中,则数组的大小应设 为。 6.按照二叉树的定义,具有3个结点的二叉树形态有种;具有65个结点的完全二叉 树其深度为; 深度为10的完全二叉树最多有个结点 7.在长度为n的顺序表的第i个位置上插入一个元素,元素的移动次数为;删除 第i个元素时,需要从前向后依次前移个元素。(1≤i≤n+1) 8. 顺序存储结构的循环队列中,设front 和rear分别为队头和队尾指示器,该队列中能存放的 最大元素的个数为M AX-1,则判断队列为满的条件为,而判断队列为空的条件是。 9. 设D={A,B,C,D,E},R={},结构(D,R)描述 的数据结构是。 10.系统出现死锁一定是同时保持了,,和 环路条件这四个必要条件。 11.操作系统通过记载、跟踪、控制进程的执行,它是进程存在的唯一 标志。作业调度程序是从处于状态的作业中选取一个作业并把它装入主存。12A.软件生命周期瀑布模型一般可分为问题分析、、、

和软件维护五个阶段。 , 得分评卷人 二、选择题(每小题1分,共10分) 1. 已知:int x; 下列语句正确的是()。 A. int *p=&x; B. int *p=x; C. int p=&x; D. int *p=*x; 2. int a[ ]={1,2,3,4,5},b[5],*p; 则下列语句中不正确的语句是()。 A. p=b+1; B.p=&a[3]; C. p=a; D.b=a; 3. 设有以下说明语句 struct node{ int a;float b;}; struct node node1,node2,*pnode; 则下列语句中正确是()。 A. node1=node2; B. pnode.a=10; C. return (node1+node2); D. scanf(“%d %f”,node1); 4. 线性链表不具有的特点是()。 A. 可随机访问任一个结点B.不必事先估计所需存储空间大小 C. 插入与删除时不必移动元素D.所需空间与线性表长度成正比 5. 若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。 A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,2 6. 有向图的邻接表中,顶点Vi的出度是()。 A. 依附于Vi的弧数 B.Vi链表中的邻接结点个数 C. Vi在表结点中出现的次数 D. Vi度的一半 7. 某二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树。 A.空或只有一个结点B.深度等于其结点数 C.任一分支结点均无左子树D.任一分支结点均无右子树

软件技术基础考试复习题(含答案)

1、计算机系统与软件的关系:软件是计算机系统的一部分,体现了计算机应用能力与水平 2、软件的三层含义?个体含义:特指具体的软件;整体含义:个体含义的全体;学科含义:软件理论、 方法与技术所组成的学科。 3、软件特性:抽象性、知识性、复杂性、复用性。 4、软件分类?软件理论:算法理论与数据理论;软件系统:应用软件、支撑软件与系统软件;软件开发: 软件工程。 第二章 5、算法是一类问题过程的一种求解方法,该方法可用一组有序的计算机步骤或过程表示。 6、算法不是程序,算法高于程序。算法是程序的框架与灵魂,而程序是算法的实现。 7、算法的五大特征:能行性、确定性、有穷性、输入、输出。 8、算法的两大基本要素?算法的操作:四种基本操作(算法、逻辑、比较、传输);算法的控制:三种基 本控制(顺序、选择、循环)。 9、四种常用的算法设计方法?枚举法:穷举所有可能的方法;递归法:自己调用自己的方法;分治法: 将问题分解成若干的方法;回溯法:试探性的求解方法。 10、算法的评价:算法的正确性;算法的时间效率分析;算法的空间效率分析。 11、算法的时间效率分析,用T(n)=O(f(n))表示,常用六种:常用阶O(l);对数阶O(log2n);线性阶O(n);线性对数阶O(n log2n).;平方阶(立方或K方阶)O(n2),O(n3),O(n k);指数阶O (2n)。 12、六个完整算法表示:算法名、算法输入、算法输出、算法流程、算法正确性、算法分析 第三章 13、数据是按一定规则组织的符号串,并被识别。 14、数据是由数据结构与数据值组成。 15、数据的三个结构层次?客观世界:事物与事物之间的关联;逻辑世界:数据逻辑结构与逻辑值;物理世界:数据物理结构与物理值。 16、数据元素是命名的数据单位。 17、数据操作:数据操作的总称。 18、数据操作分为?数据值操作:定位、读及增加、删除、修改操作;数据结构操作:创建、删除、查询、修改操作。 19、数据结构:以(狭义)数据结构为核心所构成的数据与数据操纵的结合体,也广义结构。 20、数据的五个特征?时间角度分析:挥发性/持久性数据;使用广度分析:私有/共享数据;数据值性质分析:标量/集合量数据;数据量:大量/小量/海量数据;管理角度分析:严格/松散/不管理数据。 21、数据按特性分类?依赖型数据:不独立,依赖程序的数据;独立型数据:独立的数据组织、数据库数据;半独立数据:属操作系统、文件数据。 22、三类数据的不同使用方式?依赖型数据:程序直接调用;独立型数据:通过外部接口与程序关联;半独立型数据:通过内部接口与程序关联。 第四章 23、数据元素的概念:数据结构中不可以再分的基本数据单位。 24、数据的逻辑结构:从应用问题角度组织数据结构或用户数据视图;主要有线性结构、树和图三种结构。 25、数据的物理结构:数据在计算机存储器上存储结构;主要有顺序和链式存储结构。 26、线性表:数据元素只有后继关系的数据结构;顺序存储结构存储的线性表称为顺序表;链式存储结构存储的线性表称为链表;链表又有单链表、环链表和双向链表等。相关算法主要有插入、删除和查找。27、栈:是限制插入和删除只在同一端进行的线性表,也称为后进先出表;顺序存储结构的栈称为顺序栈;链式存储结构的栈称为链表;相关算法主要有压栈、弹栈和读栈等。 28、队列:是限制插入在一端、删除在另一端进行的线性表;顺序存储结构的队列称为顺序队列;首尾相

2020年春季考试《计算机软件技术基础(1)》在线考核试题_13.doc

1.有一函数Function F(ByVal a As Integer, ByVal b As Integer) As Integer,()在调用时将发生错误。 A.Call F(1, 2) B.Y = F(F(2, 3), 4) C.Z = F(2.3, 5) D.X = F(3) 【参考答案】: D 2.表达式1.5 + 3 \ 2 > 2 Or 7 Mod 3 < 4 的运算结果是()。 A.True B.0 C.1 D.False 【参考答案】: A 3.结构化程序设计所规定的三种基本控制结构是(?)。 A.输入、处理、输出 B.树形、网形、环形 C.顺序、选择、循环 D. 主程序、子程序、函数 【参考答案】: C 4.int(198.555*100+0.5)/100的值()。 A.是198 B.是199.6 C.是198.56 D.是200 【参考答案】: C 5.加载窗体时触发的事件是( )。 A.Click B.Load C.Gotfocus D.DoubleClick 【参考答案】: B 6.下面叙述不正确的是()。 A.一个控件只能有一个事件处理过程 B.用户与应用交互可以触发事 件 C.Visual https://www.wendangku.net/doc/0b4164848.html, 是集成了事件驱动的编程模型 D.即使用户与应用程序不进行交互,有些事件也可能发生 【参考答案】: A

7.设X=lO,y=7,表达式x\6+y*3的值为()。 A.24 B.22 C.25 D.0 【参考答案】: B 8.鼠标的移动触发()事件。 A.Click B.Mousedown C.MouseUp D.MouseMove 【参考答案】: D 9.在https://www.wendangku.net/doc/0b4164848.html,窗体第一次显示之前,下列()窗体事件发生。 A.Activated B.GotFocus C.Click D.Load 【参考答案】: D 10.文本框的( )属性用于设置或返回文本框中的文本内容。 A.Text B.(名称) C.Caption https://www.wendangku.net/doc/0b4164848.html, 【参考答案】: A 11.已知A$="12345678",则表达式Val(Mid(A, 1, 4) + Mid(A, 4, 2))的值为 ()。 A.123456 B.123445 C.8 D.6 【参考答案】: B 12.DrawArc方法绘制的图形是()。 A.圆 B.椭圆 C.弧 D.扇形 【参考答案】: C

软件技术基础--上机实验三

姓名:吴振国学号:2011019190006 上机实验三 题目一: 一、程序流程说明 (1)创建一个链栈,(2)编写输出,进栈出站函数,(3)编写主函数 二、程序代码 #include #include #define LEN sizeof(node_type) typedef struct node { int data; struct node *next; }node_type; typedef struct { node_type *top; int length; }lstack_type; lstack_type *create_list(void) { lstack_type *p;

p=(lstack_type *)malloc(sizeof(lstack_type)); p->top=NULL; p->length=0; return(p); } void print(node_type *head) { node_type *p; printf("Now ,those records are:\n"); p=head; if(head!=NULL) { do{ printf("%4d",p->data); p=p->next; } while(p!=NULL); } } int push(lstack_type *lp, int x) { node_type *p; p=(node_type *)malloc(LEN);

if(p!=NULL) { p->data = x; p->next = lp->top; lp-> top = p; lp->length++; return(1); } else return(0); } int pop(lstack_type *lp) { node_type *p; int x; if(lp->top==NULL){ printf("stack is underflow"); return(0); } else{ x = lp->top->data; p = lp->top; lp->top = lp->top->next; lp->length--;

VB软件技术基础模拟题及参考答案

软件技术基础模拟试题(第二十次省统考) 1、是非判断题(正确选填A,错误选填B)(每小题1分,共10 分) 1、数据元素是数据的基本单位,数据项是数据的最小单位。( ) 2、栈是特殊的线性表,须用一组地址连续的存储单元来存储其元素。( ) 3、引入虚拟存储技术后,逻辑内存总容量是由地址总线的位置确定的。( ) 4、编译程序是一种常用应用软件。( ) 5、顺序文件和链接文件的长度都可以动态变化。( ) 6、在文件系统中采用目录管理文件。( ) 7、允许多用户在其终端上同时交互地使用计算机的操作系统称为实时系统。( ) 8、程序、数据、和进程控制块是构成一个进程的三要素。( ) 9、黑盒测试时,既要考虑程序的内部逻辑结构又要考虑其外部特性。( ) 10、软件的总体设计和详细设计都要用PAD图形工具。( ) (参考答案:1~10:ABABB ABABB) 2、单项选择题:(每小题1分,共5分) 1、允许用户把若干作业提交计算机系统集中处理的操作系统称为 ( )。  A 分时操作系统 B 实时操作系统 C 网络操作系统 D 批处理操作系统 2、分配到必要资源并获得了处理机时的进程的状态称为( )。  A 就绪状态 B 执行状态 C 等待状态 D 阻塞状态3、利用通道技术可以在( )之间直接交换数据。  A 内存与CPU B CPU与外设 C 内存与外设 D 内存、CPU和外设三者 4、以下的准则中哪个不是软件设计的准则( )。  A 编程语言选择准则 B 信息屏蔽准则  C 结构化和模块化准则 D 抽象准则 5、有一数列:97 65 76 13 29 49 58 经过一趟排序后得到: 65 97 13 76 29 49 58 请问使用的是何种排序方法?( )  A 简单插入排序 B 冒泡排序 C 2路归并排序 D 快速排序 (参考答案:DBCAC )

《计算机软件技术基础》试题答案

《计算机软件技术基础》试题 1.线性表的链式存储结构与顺序存储结构相比优点是 CD 。 A. 所有的操作算法实现简单 B. 便于随机存取 C. 便于插入和删除 D. 便于利用零散的存储器空间 2.线性表是具有n 个 C 的有限序列。 A. 表元素 B. 字符 C. 数据元素 D. 数据项 E. 信息项 3.若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元素的算法的时间复杂度为 C 。(1≤I ≤n+1) A. O(0) B. O(1) C. O(n) D. O(n 2 ) 4.设A 是一个线性表(a 1,a 2,…,a n ),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 B ,平均每删除一个元素需要移动的元素个数为 A ;若元素插在a i 与a i+1之间(0≤I ≤n-1)的概率为 ) 1() (2+-n n i n ,则平均每插入一个 元素所要移动的元素个数为 C ; A. 21 -n B. 2n C. 3 12+n D. 4 13+n 5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。 A. log n B. nlog n C. 2n/2 D. n!

6.将下图所示的s所指结点加到p所指的结点之后,其语句应为: D 。 A. s->next=p+1; p->next=s; B. (*p).next=s; (*s).next=(*p).next; C. s->next=p->next; p->next=s->next; D. s->next=p->next; p->next=s; 7.将两个各有n个元素的有序表归并为一个有序表时,其最少的比较次数是 A 。 A. n B. 2n-1 C. n-1 D. 2n 8.下面的程序段是合并两个无头结点链表(ha和 hb)为一个无头结点链表ha的过程,作为参数的两个链表都是按结点的data域由大到小链接的。合并后新链表的结点仍按此方式链接。请填写下述空框,使程序能正确运行。 1. #define NULL 0 typedef struct node{ int data; struct node *next; }node, linklisttype; void combine(linklisttype *ha, linklisttype *hb){ linklisttype *h, *p; h = (linklisttype *)malloc(sizeof(linklisttype)); h->next = NULL; p = h;

相关文档