当前位置:文档之家› 电子科技大学计算机软件技术基础试题答案

电子科技大学计算机软件技术基础试题答案

电子科技大学计算机软件技术基础试题答案
电子科技大学计算机软件技术基础试题答案

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

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. 2

1-n B.

2n C. 312+n D. 413+n 5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。

A. log n

B. nlog n

C. 2n/2

D. n!

6.

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 域由大到小链接的。合并后新链表的结点仍按此方式链接。请填写下述空框,使程序能正确运行。

#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;

while(ha != NULL && hb != NULL)

if(ha->data>=hb->data){ /*较大的元素先插入*/

p->next = (1) ;

p = (2) ;

(3) ;

}

else{

p->next = (4) ;

p = (5) ;

(6) ;

}

if(ha==NULL) (7) ;

if(hb==NULL) (8) ;

ha = h->next;

free(h);

}

参考答案:(1) ha (2) p->next (3) ha=ha->next

(4) hb (5) p->next (6) hb=hb->next

(7) p->next=hb (8) p->next=ha

9.如果表A中所有元素(a1,a2,…,a n)与表B的一个顺序子表(b k,b k+1,…b k+n-1)完全相同(即a1=b k,a2=b k+1,…a n=b k+n-1),则称表A包含在表B中。设ha,hb为带头结点的单链表,分别表示有序表A和B,下面的函数用于判别表A是否包含在表B中,若是,则返回true,否则返回false。(提示:用递归实现)

#define true 1

#define false 0

#define NULL 0

typedef struct node{

int data;

struct node *next;

}node, linklisttype;

int inclusion(linklisttype *ha, linklisttype *hb){

linklisttype *pa, *pb;

pa = ha->next;

pb = hb->next;

(1) ;

while( (2) )

if(pa->data=pb->data) (3) ;

else (4) ;

(5) ;

}

参考答案:

(1) if(pa==NULL) return(true)

(2) pb!=NULL && pa->data>=pb->data

(3) return(inclusion(pa, pb))

(4) pb = pb->next;

(5) return(false)

10.在本题的程序中,函数create_link_list(n)建立一个具有n个结点的循环链表;函数josephus(n,I,m)对由create_link_list(n)所建立的具有n个结点的循环链表按一定的次序逐个输出,并删除链表中的所有结点。参数n(n>0)指明循环链表的结点个数,参数I(1≤I≤n)指明起始结点,参数m(m>0是步长),指明从起始结点或前次被删除并输出的结点之后的第m个结点作为本次被输出并删除的结点。例如,对于下图所示的具有6个结点的循环链表,在调用josephus(6,3,2)后,将输出5,1,3,6,4,2。请在空框处填上适当内容,每框只填一个语句。

#define NULL 0

typedef struct node{

int data;

struct node *next;

}node, linklisttype;

linklisttype *create_link_list(int n){

linklisttype *head, *p, *q;

int I;

head = NULL;

if(n>0){

head = (linklisttype *)malloc(sizeof(linklisttype));

p = head;

for(I=1;I<=n-1;I++){ /*此循环用于建立一个链表,链表的内容从1至n-1*/ p->data = I;

q = (linklisttype *)malloc(sizeof(linklistttype));

(1) ;

(2) ;

}

p->data = n;

(3) ; /*建立从尾链到首的环形结构*/

}

return(head);

}

void Josephus(int n, int j, int m){

linklisttype *p, *q;

int j;

p = create_link_list(n);

for(;I>1;I--) p = p->next;

(4) ;

while(j

for(I=1;I<=m-1;I++) p = p->next;

(5) ;

printf(“%8d”,q->data);

(6) ;

free(q);

j=j+1;

}

}

参考答案:

(1) p->next = q;

(2) p = q;

(3) p->next = head

(4) j=0

(5) q=p->next;

(6) p->next = q->next

11.在下列程序中,函数difference(A,B)用于求两集合之差C=A-B,即当且仅当e是A中的一个元素,且不是B中的元素时,e是C中的一个元素。集合用有序链表实现,用一个空链表表示一个空集合,表示非空集合的链表根据元素之值按递增排列,执行C=A-B之后,表示集合A和B的链表不变,若结果集合C非空,则表示它的链表应根据元素之值按递增序排列。函数append()用于在链表中添加结点。

#include

#define NULL 0

typedef struct node{

int data;

struct node *next;

}NODE;

NODE *append(NODE *last, int x){

last->next=(NODE *)malloc(sizeof(NODE));

last->next->data=x;

return(last->next);

}

NODE *difference(NODE *A ,NODE *B){

NODE *C,*last;

C=last=(NODE *)malloc(sizeof(NODE));

while( (1) )

if(A->data < B->data){

last=append(last,A->data);

A=A->next;

}

else

if( (2) ){

A=A->next;

B=B->next;

}

else

(3) ;

while( (4) ){

last=append(last,A->data);

A=A->next;

}

(5) ;

last=C;

C=C->next;

free(last);

return(C);

}

参考答案:

(1) A!=NULL & B!=NULL

(2) A->data==B->data

(3) B=B->next;

(4) A!=NULL

(5) last->next=NULL;

12.阅读以下算法,填充空格,使其成为完整的算法。其功能是在一个非递减的顺序存储线性表中(从下标1处开始存储),删除所有值相等的多余元素。

#define MAXSIZE 30

typedef struct{

int elem[MAXSIZE];

int length;/*表长*/

}sqlisttype;

void exam21(sqlisttype *L){

int I,j;

I=2,j=1;

while( (1) ){

if(L->elem[I]<>L->elem[j]){

(2) ;

(3) ;

}

I++;

}

(4) ;

}

参考答案:

(1) i<=L->length

(2)

(3) j++;

(4)

13.用单链表表示的链式队列的队头在链表的 A 位置。

A. 链头

B. 链尾

C. 链中

14.若用单链表表示队列,则应该选用 B 。

A. 带尾指针的非循环链表

B. 带尾指针的循环链表

C. 带头指针的非循环链表

D. 带头指针的循环链表

15.在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印,先放入打印缓冲区的数据先被打印。该缓冲区应该是一个 B 结构。

A. 堆栈

B. 队列

C. 数组

D. 线性表

16.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为 B 。A. 1和5 B. 2和4

C. 4和2

D. 5和1

17.设栈的输入序列为1,2,…,10,输出序列为a1,a2,…,a10,若a5=10,则a7为 C 。

A. 4

B. 8

C.不确定

D.7

18.设栈的输入序列是1,2,3,4,则 D 不可能是其出栈序列。

A. 1243 B. 2134 C. 1432 D. 4312

19.以下 D 是C语言中”abcd321ABCD”的子串。

A. abcd

B. 321AB

C. “abcABC”

D. “21AB”

20.若串S=”software”,其子串的数目是 C 。

A. 8

B. 37

C. 36

D. 9

21.将一个A[1:100,1:100]的三对角矩阵,按行优先存入一维数组B[1:298]中,A中元素A66,65(即该元素的下标)在B数组中位置k为 B 。

A. 198

B. 195

C. 197

D. 196

22.设高为h的二叉树只有度为0和2的结点,则此类二叉树的结点数至少为 B ,至多为 F 。高为h的完全二叉树的结点数至少为 E ,至多为 F 。A. 2h B. 2h-1 C. 2h+1 D.h+1

E. 2h-1

F. 2h-1

G. 2h+1-1

H. 2h+1

23.一棵有124个叶结点的完全二叉树,最多有 B 个结点。

A. 247

B. 248

C. 249

D. 251

24.若从二叉树的任一结点出发到根的路径上所经过的结点序列按其关键字有序,则该二叉

树是 C 。

A. 满二叉树

B. 哈夫曼树

C. 堆

D. 二叉查找树

25.前序遍历和中序遍历结果相同的二叉树为 F ;前序遍历和后序遍历结果相同的二叉树为 B 。

A. 一般二叉树

B. 只有根结点的二叉树

C. 根结点无左孩子的二叉树

D. 根结点无右孩子的二叉树

E. 所有结点只有左孩子的二叉树

F. 所有结点只有右孩子的二叉树

26.具有n个结点的完全二叉树,已经顺序存储在一维数组A[1..n]中,下面的算法是将A 中顺序存储变为二叉链表存储的完全二叉树。请填写适当语句在下面的空格内,完成上述算法。

#define MAXSIZE 30

typedef struct btnode{

int data;

struct btnode *lchild, *rchild;

}BTN;

void createtree(BTN *p,int A[], int I,int n){

(1) ;

p->data=A[I];

if( (2) )

(3) ;

else

p->lchild=NULL;

if( (4) )

createtree( (5) );

else

p->rchild=NULL;

}

void btree(BTN * p ,int A[],int n){

createtree(p,A,1,n);

}

参考答案:

(1) p=(BTN *)malloc(sizeof(BTN))

(2) 2*I<=n

(3) createtree(p->lchild,A,2*I,n)

(4) 2*I+1<=n

(5) p->rchild,A,2*I+1,n

27.若在线性表中采用折半查找法查找元素,该线性表应该 C 。

A. 元素按值有序

B. 采用顺序存储结构

C. 元素按值有序,且采用顺序存储结构

D. 元素按值有序,且采用链式存储结构

28.在分块检索中,对256个元素的线性表分成 16 块最好,每块的最佳长度是 16 ;若每块的长度为8,其平均检索长度为 21 。

29.假定有K个关键字互为同义词,若用线性探测法把这K个关键字存入散列表中,至少要

进行 D 次探测。

A. K-1次

B. K 次

C. K+1次

D. K(K+1)/2次

30.在n 个记录的有序顺序表中进行折半查找,最大的比较次数是??1log 2+n 。

31.Hash 技术广泛应用于查找过程,选择Hash 函数的标准是 和 。处理冲突的技术有优有劣,其共同标准是 。

32.在下述排序算法中,所需辅助存储空间最多的是 B ,所需辅助存储空间最小的是 C ,平均速度最快的是 A 。

A.快速排序

B. 归并排序

C. 堆排序

33.在文件局部有序或文件长度较小的情况下,最佳内部排序的方法是 A 。

A. 直接插入排序

B. 冒泡排序

C. 简单选择排序

34.快速排序在最坏情况下时间复杂度是O(n 2),比 A 的性能差。

A. 堆排序

B. 冒泡排序

C. 简单选择排序

35.若需在O(nlogn)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是 C 。

A. 快速排序

B. 堆排序

C. 归并排序

D. 希尔排序

36.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用 B 方法最快。

A. 冒泡排序

B. 快速排序

C. 希尔排序

D. 堆排序

E. 简单选择排序

37.以下结点序列是堆的为 A 。

A. 100,90,80,60,85,75,20,25,10,70,65,50

B. 100,70,50,20,90,75,60,25,10,85,65,80

38.若要尽可能快地完成对实数数组的排序,且要求排序是稳定的,则应选 C 。

A. 快速排序

B. 堆排序

C. 归并排序

D. 希尔排序

39.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为 A 排序法。

A. 插入排序

B. 交换排序

C. 选择排序

D. 归并排序

40.直接插入排序在最好情况下的时间复杂度为 B 。

A. O(logn)

B. O(n)

C. O(nlogn)

D. O(n 2)

41.下面函数是将任意序列调整为最大堆的算法,请将空白部分填上:

将任意序列调整为最大堆通过不断调用adjust 函数,即

for(i=n/2;i>0;i--) adjust(list, i, n);

其中list 为待调整序列所在数组(从下标1开始),n 为序列元素的个数。

void adjust(int list[], int root, int n){

/*将以root 为下标的对应元素作为待调整堆的根,待调整元素放在list 数组中,最大元素下标为n*/

int child,rootkey;

rootkey = (1) ;

child = 2*root;

while(child < n){

if((child

(2) ;

if(rootkey > list[child])

break;

else{

list[ (3) ]=list[child];

(4) ;

}

}

list[ (5) ]=rootkey;

}

参考答案:

(1) list[root]

(2) child++;

(3) child/2

(4) child *= 2;

(5) child/2

41.表是一种数据结构,链表是一种 (1) 。队列和栈都是线性表,栈的操作特性是 (2) ,队列的操作特性是 (3) 。今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f依次进栈、进栈、出栈、进栈、进栈、出栈的操作,则此操作完成后,栈S的栈顶元素为 (4) ,栈底元素为 (5) 。

供选答案:

(1): A. 非顺序存储线性表 B. 非顺序存储非线性表

C. 顺序存储线性表

D. 顺序存储非线性表

(2): A. 随机进出 B. 先进后出

C. 先进先出

D. 出优于进

(3): A. 随机进出 B. 先进后出

C. 后进后出

D. 进优于出

(4): A. f B. c

C. a

D. b

(5): A. b B. c

C. a

D. d

答案:ABCBC

42.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使用效率的一种系统软件。它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管理和设备管理等。Windows和Unix是最常用的两类操作系统。前者是一个具有图形界面的窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的的系统软件。在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。

供选答案:

(1): A. 应用软件 B. 系统软硬件

C. 资源

D. 设备

(2): A. 数据 B. 作业

C. 中断

D. I/O

(3): A. 分时 B. 多任务

C. 多用户

D. 实时

(4): A. PASCAL B. 宏

C. 汇编

D. C

(5): A. 网络 B. 分时

C. 批处理

D. 实时

答案:CBBDD

43.本程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。

程序一边读入整数,一边构造一个从大到小顺序链接的链表,直至不能从键盘读入整数,然后顺序输出链表上各表元的整数值。主函数每读入一个整数,就调用函数insert(),函数insert()将还未出现在链表上的整数按从大到小的顺序插入到链表中。

为了插入方便,链表在表首有一个辅助表元。

阅读下列C代码,在 (n) 处填入相应的字句以完成上述功能。

#include

#include

#define NULL 0

typedef struct node{

int val;

struct node *next;

}NODE;

void insert(NODE *list,int x){

NODE *u, *v, *p;

u = list; v = u->next;

while( (1) && x < v->val){ /*寻找插入位置*/

u=v;v=u->next;

}

if((v==NULL || (2) ){ /*判断是否要插入表元*/

p = (NODE *)malloc(sizeof(NODE));

p->val = x; /*生成新表元*/

(3) = v; (4) = p; /*插入新表元*/

}

}

main(){

int x;

NODE *head, *p;

/*首先建立只有辅助表元的空链表*/

head = (NODE *)malloc(sizeof(NODE));

(5) =NULL;

printf(“Enter Integers:\n”);

while(scanf(“%d”,&x) == 1) /*反复读入整数插入链表*/ insert(head,x);

for(p=head->next;p!=NULL;p=p->next) /*输出链表*/

printf(“%d\t”,p->val);

printf(“\n”);

}

答案:

(1) v != NULL或v

(2) x > v->val 或 x != v->val

(3) p->next

(4) u->next

(5) head->next

44.计算机数据处理的对象是具有不同结构的各种数据,可以访问的最小数据信息单位是 (1) ,可以引用的最小命名数据单位是 (2) 。

线性表是最简单的一种数据结构,有顺序和链接两种存储方式。线性表按链接方式存储时,每个结点的包括 (3) 两部分。

线性表的查找有 (4) 和 (5) 两种,但 (5) 只能用于顺序存储的情况。

供选答案:

(1): A. 数字 B. 字符

C. 数据元素

D. 数据项

(2): A. 结点 B. 记录

C. 数据元素

D. 数据项

(3): A. 数据值与符号 B. 数据与指针

C. 数据与表名

D. 头地址与尾地址

(4): A. 随机查找 B. 顺序查找

C. 二分法查找

D. 浏览

(5): A. 随机查找 B. 顺序查找

C. 二分法查找

D. 浏览

答案:CDBBC

45.本程序用于从链盘读入整数,插入到链表,或从链表删除一个整数。

阅读下面的C代码,将应填入 (n) 处的字名写在答卷的对应栏内。

#include

#include

typedef struct node{

int val;

struct node * next;

}NODE;

NODE * ins(NODE *list, int x){ /*将x按从小到大的次序插入链表*/ NODE *u, *v=list, *p;

for(; v != NULL && x < v->val ; v = v->next);/*寻找插入位置*/

if(v != NULL && x == v->val) return(list); /*已有,被忽略*/

p = (NODE *)malloc(sizeof(NODE));p->val=x; /*生成新表元*/

if(v == list) list = p;

else (1) ;

(2) ;

return list;

}

NODE * del(NODE * list, int x){ /*从链表中删除值为x的表元*/

NODE *u, *v;

for(v = list; v != NULL && x < v->valu; u=v;v=v->next);

if(v != NULL && x == v->val){ /*找到值为x的表元*/

if(v == list) list = list->next;

else (3) ;

(4) ; /*释放空间*/

}

else printf(“没有找到!\n”);

return(list);

}

main(){

int x,ans;

NODE * list=NULL, *p;

while(1){

printf(“\n输入1:将整数插入到链表。\n输入2:从链表删除一个整数。\n”);

printf(“其它整数,结束程序。\n\t请输入选择!”);

scanf(%d,&ans);

if( (5) ) return;

printf(“输入整数:”);scanf(“%d”,&x);

if(ans==1) list=ins(list,x);

else list=del(list,x);

for(p=list;p!=NULL;p=p->next)

printf(“%4d”,p->val);

}

}

答案:

(1) u->next = p;

(2) p->next = v

(3) u->next = v->next

(4) free(v)

(5) ans != 1 && ans != 2

46. 从未排序的序列中,依次取出元素,与已排序序列的元素比较后,放入已排序序列中的恰当位置上,这是 (1) 排序。从未排序的序列中,挑选出元素,放在已排序序列的某一端位置,这是 (2) 排序。逐次将待排序的序列中的相邻元素两两比较,凡是逆序则进行交换,这是 (3) 排序。如果整个排序过程都在内存中进行,称为

(4) 排序。排序算法的复杂性与排序算法的 (5) 有关。

供选答案:

(1): A. 选择 B. 插入

C. 比较

D. 归并

(2): A. 选择 B. 插入

C. 比较

D. 归并

(3): A. 冒泡 B. 交换

C. 比较

D. 散列

(4): A. 外部 B. 内部

C. 外存

D. 内存

(5): A. 运算量大小与占用存储多少

B. 运算量大小与处理的数据量大小

C. 并行处理能力和占用存储多少

D. 占用存储多少和处理的数据量大小

答案:BAABA

47.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。

在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部

分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。

虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。

供选答案:

(1): A. 输入和输出 B. 键盘操作

C. 管理和控制

D. 汇编和执行

(2): A. 软件和硬件 B. 主机和外设

C. 高级语言和机器语言

D. 用户和计算机

(3): A. 进程控制块 B. 作业控制块

C. 文件控制块

D. 设备控制块

(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态

C. 运行态转换为等待态

D. 等待态转换为运行态

(5): A. 软盘 B. 硬盘

C. CDROM

D. 寄存器

答案:CDADB

48. A 是信息的载体,它能够被计算机识别、存储和加工处理。

A. 数据

B. 数据元素

C. 结点

D. 数据项

49.下列程序段的时间复杂度为 C 。

for(i=1;i

y=y+1;

for(j=0;j<=(2*n);j++) x++;

}

供选答案:

A. O(n-1)

B. O(2n)

C. O(n2)

D. O(2n+1)

50.下面程序段的时间复杂度为 D 。

i=1;

while(i<=n) i=i*2;

供选答案:

A. O(1)

B. O(n)

C. O(n2)

D. O(log2n)

51.下面程序段的时间复杂度为 B 。

a=0;b=1;

for(i=2;i<=n;i++){

s=a+b;

b=a;

a=s;

}

供选答案:

A. O(1)

B. O(n)

C. O(log2n)

D. O(n2)

52.数据结构是一门研究非数值计算的程序设计问题中,计算机的 A 以及它们之间的关系和运算等的学科。

A.操作对象

B. 计算方法

C. 逻辑存储

D. 数据映象

53.在数据结构中,从逻辑上可以把数据结构分成 C 。

A. 动态结构和静态结构

B. 紧凑结构和非紧凑结构

C. 线性结构和非线性结构

D. 内部结构和外部结构

54.算法分析的目的是 C 。

A. 找出数据结构的合理性

B. 研究算法中输入和输出的关系

C. 分析算法的效率以求改进

D. 分析算法的易懂性和文档性

55.算法分析的两个主要方面是 (4) 。

A. 间复杂性和时间复杂性

B. 正确性和简明性

C. 可读性和文档性

D. 数据复杂性和程序复杂性

56.一个线性顺序表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址为 B 。

A. 110

B. 108

C. 100

D. 120

57.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为P1,P2,P3,…,P n,若P1=n,则P i 为 C 。

A. i

B. n-i

C. n-i+1

D.不确定

58.对于一个栈,给出输入项A,B,C。如果输入项序列由A,B,C所组成,则不可能产生的输出序列是 A 。

A. CAB

B. CBA

C. ABC

D. ACB

59.设有如下的单链表的按序号查找的算法,其时间复杂度为 B 。

LinkNode *GetNode(Linklist head, int i){

int j;

ListNode *p;

P = head; j=0;

while(p->next && j

p = p->next;

j++;

}

if(i==j)

return(p);

else

return(NULL);

}

供选答案:

A. O(n2)

B. O(2n)

C. O(n3)

D. O(logn)

60.二维数组A mn按行序为主顺序存放在内存中,每个数组元素占1个存储单元,则元素a ij 的地址计算公式是 C 。

A. LOC(a ij) = LOC(a11)+[(i-1)*m+(j-1)]

B. LOC(a ij) = LOC(a11)+[(j-1)*m+(i-1)]

C. LOC(a ij) = LOC(a11)+[(i-1)*n+(j-1)]

D. LOC(a ij) = LOC(a11)+[(j-1)*n+(i-1)]

61.以下哪一个不是队列的基本运算 C 。

A. 从队尾插入一个新元素

B. 从队列中删除第i个元素

C. 判断一个队列是否为空

D. 读取队头元素的值

62.在一个长度为n的顺序表中,向第i个元素之前插入一个新元素,需向后移动 B 个元素。

A. n-i

B. n-i+1

C. n-i-1

D. i

63.从一个长度为n的顺序表中删除第i个元素时,需向前移动 A 个元素。

A. n-i

B. n-i+1

C. n-i-1

D. i

64.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队空的条件是 B 。

A. front=rear+1

B. front=rear

C. front+1=rear

D. front=0

65.从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较 D 个结点。

A. n

B. n/2

C. (n-1)/2

D. (n+1)/2

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

A. edcba

B. decba

C. dceab

D. abcde

67.栈结构通常采用的两种存储结构是 A 。

A. 顺序存储结构和链表存储结构

B. 散列方式和索引方式

C. 链表存储结构和数组

D. 线性存储结构和非线性存储结构

68.判断一个顺序栈ST(最多元素为mo)为空的条件是 B 。

A. ST->top<>0

B. ST->top=0

C. st->top<>mo

D. st->top==mo

69.不带头结点的单链表head为空表的判定条件是 A 。

A. head==NILL

B. head->next==NULL

C. head->next==head

D. head != NULL

70.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在p和q之间插入s结点,则应执行 C 。

A. s->next = p->next; p->next=s;

B. p->next = s->next; s->next=p;

C. q->next = s; s->next=p;

D. p->next = s; s->next=q;

71.假设双向链表结点的类型如下:

typedef struct Linknode{

int data;

struct Linknode *lLink; /*前驱结点指针*/

struct Linknode *rLink; /*后继结点指针*/

}

下面给出的算法是要把一个q所指新结点,作为非空双向链表中的p所指的结点前驱结点插入到该双向链表中,能正确完成要求的算法段是 C 。

A.q->rLink=p; q->lLink=p->lLink; p->lLink=q; p->lLink->rLink=q;

B. p->lLink=q, q->rLink=p; p->lLink->rLink=q; q->lLink=p->lLink;

C. q->lLink=p->lLink; q->rLink=p;p->lLink->rLink=q;p->lLink=q;

D. 以上均不对

72.串是一种特殊的线性表,其特殊性体现在 B 。

A. 可以顺序存储

B. 数据元素是一个字符

C. 可以链接存储

D. 数据元素可以是多个字符

73.设有两个串p和q,求q在p中首次出现的位置的运算称作 B 。

A. 连接

B. 模式匹配

C. 求子串

D. 求串长

74.设串s1=”ABCDEFG”,s2=”PQRST”,函数con(x,y)返回x和y串的连接串,subs(s,I,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(sub(s1,2,len(s2)),sub(s1,len(s2),2))的结果是 D 。

A. BCDEF

B. BCDEFG

C. BCPQRST

D. BCDEFEF

75.常对数组进行的两种基本操作是 C 。

A. 建立和删除

B. 索引和修改

C. 查找和修改

D. 索引和查找

76.稀疏矩阵一般的压缩存储方法有两种,即C。

A. 二维数组和三维数组

B. 三元组和散列

C. 三元组和十字链表

D. 散列和十字链表

77.对下图所示的二叉表,按先根次序遍历得到的结点序列为 B 。

A. ABCDHEIFG

B. ABDHIECFG

C. HDIBRAFCG

D. HIDBEFGAC

78.在一棵二叉树上,度为0的结点个数为n0,度为2的结点数为n2,则n0= A 。

A. n2+1

B. n2-1

C. n2

D. n2/2

79.某二叉树前序遍历结点的访问顺序是ABCDEFG,中序遍历结点的访问顺序是CBDAFGE,则其后序遍历结点的访问顺序是 A 。

A.CDBGFEA B. CDGFEAB

C. CDBAGFE

D. CDBFAGE

80.在下列存储形式中, D 不是树的存储形式。

A. 双亲表示法

B. 孩子链表表示法

C. 孩子兄弟表示法

D. 顺序存储表示法

81. 已知一棵二叉树的中序序列为cbedahgijf,后序序列为cedbhjigfa,则该二叉树为

B 。

82. 已知一棵权集W={2,3,4,7,8,9}的哈夫曼树,其加权路径长度WPL为C。

A. 20

B. 40

C. 80

D. 160

83.已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点,…,n m个度为m的结点,问这棵树中叶子结点为C。

A. 1+n i(I-1)

B. 1+n i(I+1)

C. n1+n2+…+n m

D. m·n m

84.如下图所示的4棵二叉树中,C不是完全二叉树。

85.设高度为h的二叉树上只有度为0或度为2的结点,则此类二叉树中所包含的结点数至少为 B 。

A. 2h

B. 2h-1

C. 2h+1

D. h+1

86.如下图所示的二叉树的中序遍历序列是C。

A. abcdgef

B. dfebagc

C. dbaefcg

D. defbagc

87.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,则其前序遍历序列为

D 。

A. acbed

B. decab

C. deabc

D. cedba

88.如果T2是由有序树T转换而来的二叉树,则T中结点的前序就是T2中结点的 A 。

A. 前序

B. 中序

C. 后序

D. 层次序

89.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树。下面结论正确的是 A 。

A. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同

B. 树的先根遍历序列与其对应的二叉树的后序遍历序列相同

C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同

D. 以上均不对

90. 深度为5的二叉树至多有C个结点。

A. 16

B. 32

C. 31

D. 10

91. 在一非空二叉树的中序遍序序列中,根结点的右边 A 。

A. 只有右子树的所有结点

B. 只有右子树的部分

C. 只有左子树的部分结点

D. 只有左子树的所有结点

92. 树最适合用来表示C。

A. 有序数据元素

B. 无序数据元素

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

D. 元素之间无联系的数据

93. 设n,m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是 C 。

A. n在m的右方

B. n是m的祖先

C. n在m的左方

D. n是m的子孙

94.对一个满二叉树,m个树叶,n个结点,深度为h,则 D 。

A. n=h+m

B. h+m=2n

C. m=h-1

D. n=2h-1

95.如果某二叉树的前序为stuwv,中序为uwtvs,则该二叉树后序为C。

A. uwvts

B. vwuts

C. wuvts

D. wutsv

96.设待排序的记录为(20,16,13,14,19),经过下列过程将这些记录排序。

20,16,13,14,19

16,20,13,14,19

13,16,20,14,19

13,14,16,20,19

13,14,16,19,20

所用的排序方法是 A 。

A. 直接插入排序

B. 冒泡排序

C. 希尔排序

D. 堆排序

97.对下列4个序列用快速排序的方法进行排序,以序列的第一个元素为基础进行划分,在

第一趟划分过程中,元素移动次数最多的是 A 序列。

A. 70,75,82,90,23,16,10,68

B. 70,75,68,23,10,16,90,82

C. 82,75,70,16,10,90,68,23

D. 23,10,16,70,82,75,68,90

98.用快速排序的方法对包含几个关键字的序列进行排序,最坏情况下,执行的时间为 D 。

A. O(n)

B. O(log 2n)

C.O(nlog 2n)

D. O(n 2)

99.在所有排序方法中,关键码(即关键字)比较的次数与记录的初始排列次序无关的是 D 。

A. 希尔排序

B. 冒泡排序

C. 直接插入排序

D. 直接选择排序 100.在归并排序过程中,需归并的趟数为 C 。

A. n

B. n

C. ??n n 2log

D. ??n 2log

101.一组记录的排序代码为{46,79,56,38,40,84},则利用堆排序的方法建立的初始堆为 B 。

A. {79,46,56,38,40,80}

B. {84,79,56,38,40,46}

C. {84,79,56,46,40,38}

D. {84,56,79,40,46,38}

102.一组记录的排序代码为{46,79,56,38,40,84},则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为 C 。

A. {38,40,46,56,79,84}

B. {40,38,46,79,56,84}

C. {40,38,46,56,79,84}

D. {40,38,46,84,56,79}

103.每次把待排序的区间划分为左、右两个子区间,其中左区间中元素的排序码均小于等于基准元素的排序码,右区间中元素的排序码均大于等于基准元素的排序码,此种排序方法叫做 B 。

A. 堆排序

B. 快速排序

C. 冒泡排序

D. 希尔排序

104.一组记录的排序码为一个字母序列{Q,D,F,X,A,P,N,B,Y,M,C,W},按归并排序方法对该序列进行一趟归并后的结果为 D 。

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

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

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

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

105.一组记录的排序码为{25,48,16,35,79,82,23,40,36,72},其中,含有5个长度为2的有序表,按归并排序方法对该序列进行一趟归并后的结果为 A 。

A. 16,25,35,48,23,40,79,82,36,72

B. 16.25,35,48,79,82,23,36,40,72

C. 16,25,48,35,79,82,23,36,40,72

D. 16,25,35,48,79,23,36,40,72,82

106.设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用 C 排序法。

A. 冒泡排序

B. 快速排序

C. 堆排序

D. 希尔排序

107.在待排序的元素序列基本有序的前提下,效率最高的排序方法是 A 。

A. 插入排序

B. 选择排序

C. 快速排序

D. 归并排序

108.用某种排序方法对线性表{25,84,21,47,15,27,68,35,20}进行排序时,元素序列的变化情况如下:

(1) 25,84,21,47,15,27,68,35,20

(2) 20,15,21,25,47,27,68,35,84

(3) 15,20,21,25,35,27,47,68,84

(4) 15,20,21,25,27,35,47,68,84

则所采用的排序方法是 D 。

A. 选择排序

B. 希尔排序

C. 归并排序

D. 快速排序

109. 快速排序方法在C情况下最不利于发挥其长处。

A. 要排序的数据量太大

B. 要排序的数据中含有多个相同值

C. 要排序的数据已基本有序

D. 要排序的数据个数为整数

110. 设有一个已按各元素的值排好序的线性表,长度大于2,对给定的值K,分别用顺序查找法和二分查找法查找一个与K相等的元素,比较的次数分别为s和b。在查找不成功的情况下,正确的s和b的数量关系是 B 。

A. 总有s=b

B. 总有s>b

C. 总有s

D. 与k值大小有关

111. 如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的方法是 A 。

A. 分块法

B. 顺序法

C. 二分法

D. 哈希法

112. 哈希表的地址区间为0-17,哈希函数为H(k)=k mod 17。采用线性探测法处理冲突,并将关键字序列{26,25,72,38,8,18,59}依次存储到哈希表中。那么,元素59存放在哈希表中的地址是 D 。

A. 8

B. 9

C. 10

D. 11

113. 哈希表的地址区间为0-17,哈希函数为H(k)=k mod 17。采用线性探测法处理冲突,并将关键字序列{26,25,72,38,8,18,59}依次存储到哈希表中。如果要访问元素59,则需要的搜索次数是C。

A. 2

B. 3

C. 4

D. 5

114.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D 。

A. Spodling技术

B. 虚拟存储技术

C. 缓冲技术

D. 多道程序设计技术

115.分时系统追求的目标是 C 。

A. 高吞吐率

B. 充分利用内存

C. 快速响应

D. 减少系统开销

116.引入多道程序的目的是 D 。

A. 提高实时响应速度

B. 增强系统交互能力

C. 为了充分利用主存储器

D. 充分利用CPU,减少CPU等待时间

117.若把操作系统看作计算机系统资源的管理者,下列 D 不属于操作系统所管理的资源。

A. 程序

B. 内存

C. CPU

D. 中断

118. A 不属于多道程序设计的概念。

A. 多个用户同时使用一台计算机的打印设备

B. 多个用户同时进入计算机系统,并要求同时处于运行状态

C. 一个计算机系统从宏观上进行作业的并行处理,但在微观上仍在串行操作

D. 多个作业同时存放在主存并处于运行状态

119.操作系统的CPU管理主要是解决 C 。

A. 单道程序对CPU的占用

B. 多道程序对CPU的占用

C. 多道程序对CPU的分配

D. 多道程序或单道程序对CPU的争夺120.分时操作系统是指 B 。

A. 多个用户分时使用同一台计算机的某一个终端

B. 多道程序分时共享计算机的软、硬件资源

C. 多道程序进入系统后的批量处理

D. 多用户的计算机系统

121. A 不是实时系统的特征。

A. 很强的交互性

B. 具有对用户信息的及时响应性

C. 具有很强的可靠性

D. 有一定的交互性

122.工业过程控制系统中,运行的操作系统最好是 B 。

A. 分时系统

B. 实时系统

C. 分布式操作系统

D. 网络操作系统

123. 对处理事件有严格时间限制的系统是 B 。

A. 分时系统

B. 实时系统

C. 分布式操作系统

D. 网络操作系统

124.在下列操作系统中,强调吞吐能力的是 B 。

A. 分时系统

B. 多道批处理系统

C. 实时系统

D. 网络操作系统

125.操作系统中,当 B 时,进程从执行状态转变为就绪状态。

A. 进程被进程调度程序选中

B. 时间片到

C. 等待某一事件

D. 等待的事件发生

126.进程和程序的根本区别在于 D 。

A. 是否具有就绪、运行和等待状态

B. 是否被调入内存中

C. 是否占有处理机

D. 静态与动态特点

127.在单处理机系统中,若同时存在有10个进程,则处于就绪队列中的进程最多为 C 个。

A. 0

B. 6

C. 9

D. 10

128.下列不属于临界资源的是 A 。

A. CPU

B. 公共变量

C. 公用数据

D. 输入输出设备

129.下面关于进程同步的说法中,错误的是 D 。

A. 为使进程共享资源,又使它们互不冲突,因此必须使这些相关进程同步

B. 系统中有些进程必须合作,共同完成一项任务,因此要求各相关进程同步

C. 进程互斥的实质也是同步,它是一种特殊的同步

软件技术基础习题答案

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

软件技术基础试题及答案

软件技术基础试题及答案

软件技术基础 系班级姓名成绩 得分评卷 人一、填空题(每空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页

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

软件技术基础模拟试题(第二十次省统考) 一、是非判断题(正确选填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分)

软件技术基础模拟题

《软件技术基础》模拟题 一、填空题 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. 瀑布模型是一种_________。

计算机软件技术基础(第三版)沈被娜 课后习题答案较全

第一章信息与计算机 1.1 什么是信息?信息与数据的区别和联系在何处? 信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。 与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。我们把这些数据收集起来,经过处理后,即得到人们需要的信息。信息和数据的关系可以归结为: 1. 信息是有一定含义的数据。 2. 信息是经过加工(处理)后的数据。 3. 信息是对决策有价值的数据。 1.2 信息有哪些基本属性? 信息的基本属性有: 1. 事实性。 2. 等级性。 3. 可压缩性。 4. 可扩散性。 5. 可传输性。 6. 共享性。 7. 增值性和再生性。 8. 转换性。 1.3 计算机的主要特点是什么? 计算机最主要的特点是: 1. 高速自动的操作功能。 2. 具有记忆的能力。 3. 可以进行各种逻辑判断。 4. 精确高速的计算能力。 1.5 完整的计算机系统应该包括哪几部分? 目前最完整的计算机系统学说认为由五部分组成: 1. 人员 2. 数据 3. 设备 4. 程序 5. 规程 1.6 什么是计算机硬件?什么是计算机软件? 硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。

微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。 软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。计算机软件一般分为系统软件和应用软件。 1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何? 第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。 第二阶段:结构程序设计阶段特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。程序设计方法论方面,提出由顶向下法和自底向上法。使程序模块化,使问题的复杂性和人的思维统一起来了。出现了软件生产管理。硬件关系:磁盘问世,操作系统发展,非数值计算应用发展,通信设备完善,网络发展,集成电路发展等使软件复杂性增加产生软件危机,在此背景下发展了软件技术。 第三阶段:自动程序设计阶段特点:向集成化、一体化发展。出现了软件开发环境。程序设计基本方法进一步改进。硬件关系:集成电路迅速发展以及高分辨率终端的出现,为个人计算机发展提供了条件,再加上人工智能、专家系统研究的发展,使程

14秋天大《计算机软件技术基础(1)》在线作业一答案

《计算机软件技术基础(1)》在线作业一 1. 在设计阶段,当双击窗体上的某个控件时,所打开的窗口是()。 A. 工程资源管理器窗口 B. 工具箱窗口 C. 代码窗口 D. 属性窗口 正确答案:C 满分:5 分得分:5 2. 下面哪条语句可以正确地声明一个动态数组:()。 A. Dim A(n) As Integer B. Dim A(1 To n) As Integer C. Dim A() As Integer D. Dim A( , ) As Integer 正确答案:C 满分:5 分得分:5 3. 从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是()。 A. Left B. Mid C. String D. Instr 正确答案:D 满分:5 分得分:5 4. 下列叙述中正确的是()。 A. 在窗体的Form_Load事件过程中定义的变量是全局变量 B. 局部变量的作用域可以超出所定义的过程 C. 在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程 D. 在调用过程时,所有局部变量被系统初始化为0或空字符串 正确答案:C 满分:5 分得分:5 5. 设标签Label1的Caption属性值为默认值,则该标签控件Name属性和Caption属性的值分别为()。 A. “Label”、“Label” B. “Label1”、“Label1” C. “Label”、“Label1” D. “Label1”、“Label” 正确答案:B 满分:5 分得分:5 6. 下面的动作中,不能引发一个按钮Click事件的是:()。 A. 在按钮上单击 B. 在按钮上右击 C. 把焦点移至按钮上,然后按回车键 D. 如果按钮上有快捷字母,按“Alt+该字母” 正确答案:B 满分:5 分得分:5 7. 在窗体Form1的Click事件过程中有以下语句:Label1.Caption=”Visual BASIC”设标签的原Caption属性值为默认值,则该语句执行之后该标签控件Name属性和Caption属性的值分别为()。

软件技术基础模拟试题

软件技术基础模拟试题(第二十四次省统考) 一、是非判断题(正确选填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

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

《操作系统》 选择题: (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) 可能存在同步或互斥关系

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分,共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.1什么是信息?信息与数据的区别和联系在何处? 信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。 信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。 与数据的区别和联系: 数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。 我们把这些数据收集起来,经过处理后,即得到人们需要的信息。 信息和数据的关系可以归结为: 1.信息是有一定含义的数据。 2.信息是经过加工(处理)后的数据。 3.信息是对决策有价值的数据。 1.2信息有哪些基本属性? z信息的基本属性有: 1.事实性。 2.等级性。 3.可压缩性。 4.可扩散性。 5.可传输性。 6.共享性。 7.增值性和再生性。 8.转换性。 1.3计算机的主要特点是什么? 计算机最主要的特点是: 1.高速自动的操作功能。 2.具有记忆的能力。 3.可以进行各种逻辑判断。 4.精确高速的计算能力。 1.5完整的计算机系统应该包括哪几部分? 目前最完整的计算机系统学说认为由五部分组成: 1.人员 2.数据 3.设备 4.程序 5.规程 1.6什么是计算机硬件?什么是计算机软件? 硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。 微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。 软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。 计算机软件一般分为系统软件和应用软件。 1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何? 第一阶段:高级语言阶段 特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。 硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。

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.doczj.com/doc/ba894011.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.doczj.com/doc/ba894011.html,窗体第一次显示之前,下列()窗体事件发生。 A.Activated B.GotFocus C.Click D.Load 【参考答案】: D 10.文本框的( )属性用于设置或返回文本框中的文本内容。 A.Text B.(名称) C.Caption https://www.doczj.com/doc/ba894011.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

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

数据结构习题答案 第一节概论 一、选择题 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.线性表的链式存储结构与顺序存储结构相比优点是 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;

大学计算机软件技术基础考试技术复习题

线性表采用链式存储时,结点的存储地址()A.必须是不连续的 B.连续与否均可 C.必须是连续的 D.和头结点的存储地址相连续 由两个栈共享一个向量空间的好处是:()A.减少存取时间,降低下溢发生的机率 B.节省存储空间,降低上溢发生的机率 C.减少存取时间,降低上溢发生的机率 D.节省存储空间,降低下溢发生的机率 对应的稀疏矩阵是() A. 0806 7000 0000 5040 0000 - - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? B. 0806 7000 5040 0000 0300 - - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? C. 0806 0000 0200 5040 0000 - - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? D. 0806 0000 7000 5040 0300 - - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( ) A.4 B.5 C.6 D.7 一棵含18个结点的二叉树的高度至少为( C ) A.3 B.4 C.5 D.6 已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( D ) A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA 无向图中一个顶点的度是指图中( B ) A.通过该顶点的简单路径数 B.与该顶点相邻接的顶点数 C.通过该顶点的回路数 D.与该顶点连通的顶点数 设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为( B ) A.21 B.23 C.41 D.62 在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( ) A.e B.2e C.n2-e D.n2-2e 用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:

严飞_软件技术基础沈被娜习题解答

2.1 什么是数据结构?它对算法有什么影响? 数据结构是指同一数据对象中各数据元素间存在的关系。 数据结构对算法的影响:算法的实现必须借助程序设计语言中提供的数据类型及其运算。一个算法的效率往往与数据的表达形式有关,因此数据结构的选择对数据处理的效率起着至关重要的作用。它是算法和程序设计的基本部分,它对程序的质量影响很大。 2.2何谓算法?它与程序有何区别? 广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。计算机算法是通过计算机能执行的算法语言来表达的。 和程序的区别:一个程序包括两个方面的容: (1)对数据的描述,即数据结构。 (2)对操作的描述,即算法。 所以算法是程序的一个要素。 2.3 何谓频度,时间复杂度,空间复杂度?说明其含义。 频度:在某个算法中某个语句被重复执行的次数就是此语句的频度。 时间复杂度:是用来估算一个算法的执行时间的量,以算法中频度最大的语句来度量。 空间复杂度:指在算法中所需的辅助空间的单元,而不包括问题的原始数据占用的空间。 2.4试编写一个求多项式Pn =anxn +an-1 xn-1+a1x+a0的值Pn(x 0)的算法,要求用乘法次数最少,并说明算法中主要语句的执行次数及整个算法的时间复杂度。 A=(a 0, a 1 ……a n ) mul = 1 // sum=a for i=1 to n mul = mul * x // x sum = A[i]*mul + sum //求和end(i) 进行了n次 时间复杂度为:2n 2.5计算下列各片段程序中X←X+1执行次数(1) for i=1 to n for j=1 to i for k=1 to j x←x+1 end(k) end(j) end(i) 执行次数:n*n*n

计算机软件基础试题

《软件技术基础》试题库 课程名称:软件技术基础 适用专业:软件技术、计算机应用、网络、信息等计算机相关专业第一章概述 第二章数据结构 一、单项选择题 1.若长度为n的线性表采用顺序存储结构,删除它的第i数据元素之前,需要先依次向前移动_______个数据元素。( ) A. n-i B. n+i C. n-i-1 D. n-i+1 答案:A 2.在单链表中,已知q指的结点是p指的结点的直接前驱结点,若在q和p指的结点之间插入一个由s指的结点,则需执行________。( ) A. link(s)←link(p),link(p)←s B. link(q)←s,link(s)←p C. link(p)←link(s),link(s)←p D. link(p)←s,link(s)←q 答案:B 3.高度为h(h>0) 的二叉树最少有________个结点。() A. h B. h-1 C. h+1 D. 2h 答案:A 4.n个顶点的带权无向连通图的最小生成树包含________ 个顶点。() A.n-1 B.n C.n/2 D.n+1 答案:B

5.采用拉链法解决冲突的散列表中,查找的平均查找长度( )。 A. 直接与关键字个数有关 B. 直接与装填因子a 有关 C. 直接与表的容量有关 D. 直接与散列函数有关 答案:D 6.树型结构最适合用来描述( ) A.有序的数据元素 B.无序的数据元素 C.数据元素之间的具有层次关系的数据 D.数据元素之间没有关系的数据 答案:C 7.若二叉树中度为2的结点有15个,度为1的结点有10个_______个叶结点。( ) A.25 B.10 C.16 D.41 答案:C 8.若深度为6的完全二叉树的第6层有3个叶结点,则该二叉树一共有______个结点。( ) A.32 B.33 C.34 D.25 答案:C 9.若某完全二叉树的深度为h,则该完全二叉树中至少有______个结点。( ) A.2h B.2h-1 C.2h-2 D.2h-1+1 答案:C 10.在非空二叉树的中序遍历序列中,二叉树的根结点的左边应该( ) A.只有左子树上的所有结点 B.只有左子树上的部分结点 C.只有右子树上的所有结点 D.只有右子树上的部分结点 答案:A 11.下面关于哈夫曼树的说法,不正确的是( ) A.对应于一组权值构造出的哈夫曼树一般不是唯一的 B.哈夫曼树具有最小带权路径长度

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

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、队列:是限制插入在一端、删除在另一端进行的线性表;顺序存储结构的队列称为顺序队列;首尾相

相关主题
文本预览
相关文档 最新文档