软件技术基础试题与答案docWord格式文档下载.docx

上传人:b****6 文档编号:17524530 上传时间:2022-12-07 格式:DOCX 页数:13 大小:20.15KB
下载 相关 举报
软件技术基础试题与答案docWord格式文档下载.docx_第1页
第1页 / 共13页
软件技术基础试题与答案docWord格式文档下载.docx_第2页
第2页 / 共13页
软件技术基础试题与答案docWord格式文档下载.docx_第3页
第3页 / 共13页
软件技术基础试题与答案docWord格式文档下载.docx_第4页
第4页 / 共13页
软件技术基础试题与答案docWord格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

软件技术基础试题与答案docWord格式文档下载.docx

《软件技术基础试题与答案docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件技术基础试题与答案docWord格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

软件技术基础试题与答案docWord格式文档下载.docx

;

深度为10的完全二叉树最多有

个结点

7.

在长度为n的顺序表的第

i个位置上插入一个元素,元素的移动次数为

删除

第i个元素时,需要从前向后依次前移

个元素。

(1≤i≤n+1)

8.顺序存储结构的循环队列中,设front和rear分别为队头和队尾指示器,该队列中能存放的

最大元素的个数为MAX-1,则判断队列为满的条件为

而判断队列为空的条件是。

9.设D={A,B,C,D,E},R={<

A,B>

,<

C,D>

D,B>

C,E>

},结构(D,R)描述

的数据结构是

10.

系统出现死锁一定是同时保持了

环路条件这四个必要条件。

11.

操作系统通过

记载、跟踪、控制进程的执行,它是进程存在的唯一

标志。

作业调度程序是从处于

状态的作业中选取一个作业并把它装入主存。

12A.软件生命周期瀑布模型一般可分为问题分析、、、

和软件维护五个阶段。

二、选择题(每小题

1分,共10分)

已知:

intx;

下列语句正确的是(

)。

A.int*p=&

x;

B.int*p=x;

C.intp=&

D.int*p=*x;

inta[]={1,2,3,4,5},b[5],*p;

则下列语句中不正确的语句是(

A.p=b+1;

B.p=&

a[3];

C.p=a;

D.b=a;

3.设有以下说明语句

structnode{inta;

floatb;

};

structnodenode1,node2,*pnode;

则下列语句中正确是(

A.node1=node2;

B.pnode.a=10

C.return(node1+node2)

D.scanf(“%d%f”,node1);

线性链表不具有的特点是(

A.可随机访问任一个结点

B.不必事先估计所需存储空间大小

C.插入与删除时不必移动元素

D.所需空间与线性表长度成正比

5.

若让元素1,2,3依次进栈,则出栈次序不可能出现(

)种情况。

A.3,2,1

B.2,1,3

C.3,1,2

D.1,3,2

有向图的邻接表中,顶点

Vi

的出度是(

A.依附于Vi的弧数

B.Vi链表中的邻接结点个数

C.Vi在表结点中出现的次数

D.Vi

度的一半

某二叉树的先序序列和后序序列正好相反,则该二叉树一定是(

)的二叉树。

A.空或只有一个结点B.深度等于其结点数

C.任一分支结点均无左子树

D.任一分支结点均无右子树

8.

在一个单链表中,若指针p指向某一结点,指针

q指向p的前驱结点,要在

q与p之间插入

一个由s所指的结点,则执行(

A.s→next=p→next;

p→next=s;

B.p→next=s;

s→next=q;

C.p→next=s→next;

s→next=p;

D.q→next=s;

9.

如果以链表作为栈的存储结构,则出栈操作时(

A.必须判别栈是否满B.对栈不作任何判别

C.必须判别栈是否空D.判别栈元素的类型

10.设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针操作为

A.p->

next=p->

next->

next

B.p=p->

C.p=p->

D.p->

next=p

具有6

个顶点的无向图至少需要(

)条边才能确保是一个连通图。

A.6

B.7

C.4

D.5

12.

对线性表进行二分查找时,要求线性表必须满足(

A、以顺序方式存储

B、以链接方式存储

C、以顺序方式存储,且结点按关键字有序排列D、以链接方式存储,且结点按关键字有

序排列

13.

对于进程的描述,下列说法错误的是(

A.一个进程可以包含若干个程序

B.一个程序可能被多个进程执行

C.一个程序仅对应一个进程

D.进程是程序的一次执行过程

14.

临界区是指并发进程中访问共享变量的(

)段。

A.管理信息

B.信息存储

C.数据

D.程序

15.

若当前进程因时间片用完而让出处理机时,该进程应转变为(

)状态。

A、执行

B、就绪

C、阻塞

D、唤醒

二、简答题(每题5分,共20分)

1.软件设计的任务是什么?

分为哪几个步骤?

每个步骤的任务是什么?

2.用简单插入排序法,对关键字值序列为:

12,3,24,45,1,18按从小到大的顺序进行排列,试写出每趟排序的结果。

(5分)

3.已知一棵二叉树的中序遍历结果为DBHEAFICG,先序遍历结果为ABDEHCFIG,请画出该二叉树,并写出实现步骤。

(5分)

4.给出下面有向图的邻接矩阵。

四、程序题(共40分)

1.程序填空(5分)

下面是实现二分查找算法的函数,试将其补充完整。

intbinsearch(ints[],intk,intn)

{intlow,high,mid;

low=0;

while()

{

if(s[mid]==k)

{printf("

searchingsuccess!

\n"

);

return(mid);

}

elseif(s[mid]<

k)

else

printf("

searchingfailed!

return(-1);

2.已知一顺序表L={78,91,66,95,35,88,52,100},编写一函数voiddellist(listtype*L,int

x):

删除顺序表L中第一个值小于x的元素,若该表中没有小于x的元素则不作任何操作。

(10

分)

3.设有一个带头结点的单链表,表中各数据元素为无序的正整数,编写下列

2个函数。

(10

(1)node*find_min_node(node*h)结点的数据值,并返回该结点指针;

(2)voidswitch_next_node(node*p)

找出头指针h指向的单链表中数据值最小的结点,打印该

(5分)

若指针p指向的结点数据值为奇数,则将该结点与其直接

后继结点的数值交换,若指针

p指向的结点无后继结点或数据值为偶数,则不做任何操作;

(5

软件技术基础答案

一,填空

1,逻辑结构;

数据操作集合2,链式;

顺序3,0;

14,队列;

5,366,5;

7;

1023。

7,n-i+1;

n-i8,front==(rear+1)%MAX,

front==rear9,图10,互斥条件;

部分分配条件;

不可剥夺条件

11,pcb(进程控制块);

后备12.软件设计;

编程实现;

软件测试

二,选择

ADAACBBDCADCCDB

三,简答题

1,

(1)软件设计的任务是将需求分析阶段获得的需求说明书转换为计算机中可实现的系统,完成

系统的结构设计,包括数据结构和程序结构,最好得到软件设计说明书。

(2分)

(2)软件设计通常可分为两个步骤:

概要设计和详细设计。

(1分)

(3)概要设计完成软件系统的模块的划分和模块的层次结构以及数据库设计;

详细设计完成每个模块的控制流程的设计。

(2分)

2.,

第一趟:

[3,12],24,45,1,18

第二趟:

[3,12,24],45,1,18

第三趟:

[3,12,24,45],1,18

第四趟:

[1,3,12,24,45],18

第五趟:

[1,3,12,18,24,45]

3

4

四,程序题(5分)

1,下面是实现二分查找算法的函数,试将其补充完整。

high=n-1;

low<

=highmid=(low+high)/2;

low=mid+high=mid-1;

2,

typedef

struct

{intdata[10];

intnum;

}listtype;

voiddellist(listtype*L,intx);

/*删除函数声明

main()

{listtypelist={78,91,66,95,35,88,52,100},*L;

intx;

L=&

list;

l->

num=8;

scanf(“%d”,&

x);

dellist(L,x);

voiddellist(listtype*L,intx)

{inti,j;

for(i=0;

i<

L->

num;

i++)

*/

/*

初始化顺序表

{if(L->

data[i]<

x)

{for(j=i+1;

j<

j++)

data[j-1]=L->

data[j];

num--;

break;

3,

typedefstructnode

{intdata;

structnode*next;

}node;

voidmain()

node*head,*p;

head=creat();

/*创建单链表*/

p=find_min_node(head);

/*查找数据值最小的结点*/

switch_next_node(p);

node*find_min_node(node*h)

intmin;

node*p,*t;

if(h==NULL)

returnNULL;

p=h->

next;

t=NULL;

min=p->

data;

while(p!

=NULL)

if(p->

data<

min)

t=p;

p=p->

min=%d\n"

t->

data);

returnt;

voidswitch_next_node(node*p)

node*q;

intt;

q=p->

if(q==NULL||p->

data%2==0)

return;

t=p->

p->

data=q->

q->

data=t;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1