全国自考2243计算机软件基础(一) 历年真题及答案集

发布时间 : 星期一 文章全国自考2243计算机软件基础(一) 历年真题及答案集更新完毕开始阅读

{case0:m++:

case 1:m--; case 2:m++; default:m++;} prinff(“%d”,m);} A.-1 B.0 C.1 D.2

7.已知C语言程序段如下: struct sa {int num:

char name[10]; float f;

}stu[3]={{5,“li ming”,85.0},{ 6,“liu liaing”,91.5},{7,100}};

struct sa*P;P =stu;

则值为91.5的表达式是 ( ) A.(*p)·f B.(*++p).f C.(*P++).f D.(p++)->f

8.下列程序是计算两个矩阵的乘积,其算法的时间复杂度是 ( ) Void mul—matrix(int n,int[ ][5],int b[ ][5],int c[ ][5]) {int i,j,k,x; for(i=0;i

for(k=0;k

wang xin”,“A.O(n) B.O(log3 N) C.O(n) D.O(n)

9.若不带头节点的单链表的头指针为head,则判定该链表为空的条件是 ( ) A.head==NULL B.head!=NULL C.head->next= =head D.head->next= =NULL

10.一个栈的进栈数据元素序列为l、2、3、4、5,则不可能为栈的出栈序列的是 ( )

A.2、3、4、1、5 B.1、5、4、3、2 C.2、3、1、4、5 D.5、4、1、3、2

11.一棵二叉树的先序遍历序列为ABCD,中序遍历序列为CBAD,则后序遍历序列是( ) A. BCDA B. BCAD C. CBDA D. ABDC

12.在具有n个顶点、e条边的无向图的邻接表中,所有边的链表中边节点的总数是 ( )

A.e/2 B.e C.2e D.2e+n

13.已知一个有序表为(12,18,24,35,47,50,62,83,90,115,134),用折半查找法查找值为90 的元素时,查找成功所使用的比较次数是 ( ) A.1 B.2 C.3 D.4

14.当待排序序列中记录的关键字基本有序或记录个数较少时,则最好的排序方法是( ) A.基数排序 B.冒泡排序 C.直接选择排序 D.直接插入排序

15.在瀑布模型中,将软件划分为若干个阶段,软件项目的需求分析一般属于 ( ) A.维护阶段 B.开发阶段 C.运行阶段 D.计划阶段 第二部分非选择题

二、填空题(本大题共l0小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。

16.数学式“30

2

3

17.已知int k,x;则语句for(k=0,x=0;k<=9&&x!=10;k++)x+=2;执行后k的值是 ( )

18.已知int a[10]={1,2,3,5,6);则a[a[1]]= 。 19.下列C语言程序段的输出结果是 。

int x=2,b[10]={5,6,7,8},*P=b;printf(“%d,%d\n”,b[6],P[x]); 20.数据结构研究的主要内容包括数据的逻辑结构、 以及他们之间的相互运算。 21.循环双链表节点结构为 prior data next 在指针q所指节点前面插入一个节点t的操作是: t->prior = q->prior; t->next=q: ___________, q->-prior=t;

22.设有一个10×10的对称矩阵A,采用下三角压缩存储方式,以行序为主,A[0][0]的存储地址为100,每个元素占一个地址空间,则A[3][2]的地址是 。 23.在有向图中,以顶点V为终点的边的数目称为v的 。

24.将一棵有100个节点的完全二叉树从根这一层开始,每一层从左到右依次对节点进行编号,根节点的编号为1,则编号为49的节点的左孩子的编号是 。 25. 软件工程包括三个要素,分别为方法、 和过程。 三、解答题(本大题共4小题,每小题4分,共16分) 26.用盒图(N—s图)画出结构化程序设计的三种基本结构。 27.对于图G一1

(1)从顶点1出发,按邻接顶点序号由小到大顺序给出广度优先遍历的顶点序列。(2)给出用克鲁斯卡尔法构造的最小生成树。

28.假设字符a,b,c,d,e,f使用频率分别是0.07,0.09,0.13,0.21,0.23,0.27,构造哈夫曼编码树(权值小的为左子树,权值大的为右子树),并根据哈夫曼编码树写出a,b,c,d,e,f的哈夫曼编码。

29.已知一数值序列为{33,61,12,75,8,54,41},请分别写出按升序进行排序时,直接选择排序、直接插入排序第一趟结束后的数值序列。 四、程序分析题(本大题共4小题,每小题4分,共16分) 30.写出下列程序的运行结果。 main()

{int j,a[5]={10,11,12,13,14},*P=&a[1];for(j=1;j<5;j++)

}if(j%2)printf(”%5d”,a[j]); else continue;

printf(”%5d/n”,*P++); } }

31.写出下列程序的运行结果。

fun(int a) {static int X=5; int Y=0,t; X++;Y++; t=a+X+Y: return(t); } main()

联系合同范文客服:xxxxx#qq.com(#替换为@)