全国自考计算机软件基础试题和答案.docx

上传人:b****0 文档编号:17544492 上传时间:2023-07-26 格式:DOCX 页数:24 大小:96.36KB
下载 相关 举报
全国自考计算机软件基础试题和答案.docx_第1页
第1页 / 共24页
全国自考计算机软件基础试题和答案.docx_第2页
第2页 / 共24页
全国自考计算机软件基础试题和答案.docx_第3页
第3页 / 共24页
全国自考计算机软件基础试题和答案.docx_第4页
第4页 / 共24页
全国自考计算机软件基础试题和答案.docx_第5页
第5页 / 共24页
全国自考计算机软件基础试题和答案.docx_第6页
第6页 / 共24页
全国自考计算机软件基础试题和答案.docx_第7页
第7页 / 共24页
全国自考计算机软件基础试题和答案.docx_第8页
第8页 / 共24页
全国自考计算机软件基础试题和答案.docx_第9页
第9页 / 共24页
全国自考计算机软件基础试题和答案.docx_第10页
第10页 / 共24页
全国自考计算机软件基础试题和答案.docx_第11页
第11页 / 共24页
全国自考计算机软件基础试题和答案.docx_第12页
第12页 / 共24页
全国自考计算机软件基础试题和答案.docx_第13页
第13页 / 共24页
全国自考计算机软件基础试题和答案.docx_第14页
第14页 / 共24页
全国自考计算机软件基础试题和答案.docx_第15页
第15页 / 共24页
全国自考计算机软件基础试题和答案.docx_第16页
第16页 / 共24页
全国自考计算机软件基础试题和答案.docx_第17页
第17页 / 共24页
全国自考计算机软件基础试题和答案.docx_第18页
第18页 / 共24页
全国自考计算机软件基础试题和答案.docx_第19页
第19页 / 共24页
全国自考计算机软件基础试题和答案.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

全国自考计算机软件基础试题和答案.docx

《全国自考计算机软件基础试题和答案.docx》由会员分享,可在线阅读,更多相关《全国自考计算机软件基础试题和答案.docx(24页珍藏版)》请在冰点文库上搜索。

全国自考计算机软件基础试题和答案.docx

全国自考计算机软件基础试题和答案

2008年4月全国自考计算机软件基础试题和答案

一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

第1题下列与k=n++完全等价的表达式是 【】

A.k=++n

B.k+=n+1

C.k=n,n=n+1

D.n=n+1,k=n

【正确答案】C

 

【你的答案】

 

本题分数2分

第2题已知int a=5,b=3,*p=&b,*q=&a;下列赋值语句中与b=a;等价的语句是【】

A.*p=*q;

B.p=q;

C.*p=&q;

D.*p=*b;

【正确答案】A

 

【你的答案】

 

本题分数2分

第3题已知C语言函数fun()的定义形式为

void fun(char ch,float x ){…}

则正确调用函数fun()的语句是 【】

A.fun("a",3.0);

B.fun(?

'ab',19.5);

C.t=fun('z',3.6);

D.fun(65,32);

【正确答案】D

 

【你的答案】

 

本题分数2分

第4题已知char sr[20]; int i; 从键盘向数组sr输入一字符串的正确语句是 【】

A.gets(sr);

B.gets(sr[20]);

C.for(i=0;i<20;i++)scanf(sr);

D.for(i=0;i<20;i++)gets(&sr);

【正确答案】A

 

【你的答案】

 

本题分数2分

第5题执行下列C语言程序段,循环结束的条件是【】

int n=0,p,sum=0;

do{scanf("%d",&p);n++;sum+=p; }

while(sum!

=126&&n<5);

A.sum的值不等于126或n的值小于5

B.sum的值不等于126且n的值小于5

C.sum的值等于126或n的值大于等于5

D.sum的值不等126且n的值大于等于5

【正确答案】C

 

【你的答案】

 

本题分数2分

第6题下列C语言程序的输出结果是 【】

main( )

{int a=13,m=0;

switch(a%3)

{case 0:

 m++;

case 1:

 m--;

case 2:

 m++;

default:

 m++;

}

printf("%d",m);

}

A.-1

B.0

C.1

D.2

【正确答案】C

 

【你的答案】

 

本题分数2分

第7题已知C语言程序段如下:

struct sa

{int num;

char name[10];

float f;

}stu[3]={{5,"li ming",85.0},{6,"liu liang",91.5},{7,"wang xin",100}};

struct sa *p; p=stu;

则值为91.5的表达式是 【】

A.(*p).f

B.(*++p).f

C.(*p++).f

D.(p++)->f

【正确答案】B

 

【你的答案】

 

本题分数2分

第8题下列程序是计算两个矩阵的乘积,其算法的时间复杂度是【】

void mul_matrix(int n, int a[ ][5], int b[ ][5], int c[ ][5])

{int i, j, k, x;

for(i=0; i

{for (j=0; j

{x=0;

for (k=0; k

x+=a[i][k]*b[k][j];

c[i][j]=x;

}

}

【正确答案】D

 

【你的答案】

 

本题分数2分

第9题若不带头节点的单链表的头指针为head,则判定该链表为空的条件是【】

A.head==NULL

B.head!

=NULL

C.head->next== head

D.head->next== NULL

【正确答案】A

 

【你的答案】

 

本题分数2分

第10题一个栈的进栈数据元素序列为1、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

【正确答案】D

 

【你的答案】

 

本题分数2分

第11题一棵二叉树的先序遍历序列为ABCD,中序遍历序列为CBAD,则后序遍历序列是【】

A.BCDA

B.BCAD

C.CBDA

D.ABDC

【正确答案】C

 

【你的答案】

 

本题分数2分

第12题在具有n个顶点、e条边的无向图的邻接表中,所有边的链表中边节点的总数是【】

A.e/2

B.e

C.2e

D.2e+n

【正确答案】C

 

【你的答案】

 

本题分数2分

第13题已知一个有序表为(12,18,24,35,47,50,62,83,90,115,134),用折半查找法查找值为90的元素时,查找成功所使用的比较次数是【】

A.1

B.2

C.3

D.4

【正确答案】B

 

【你的答案】

 

本题分数2分

第14题当待排序序列中记录的关键字基本有序或记录个数较少时,则最好的排序方法是【】

A.基数排序

B.冒泡排序

C.直接选择排序

D.直接插入排序

【正确答案】D

 

【你的答案】

 

本题分数2分

第15题在瀑布模型中,将软件划分为若干个阶段,软件项目的需求分析一般属于【】

A.维护阶段

B.开发阶段

C.运行阶段

D.计划阶段

【正确答案】B

二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格上填上正确答案。

错填、不填均无分。

第1题数学式“30

 

【正确答案】y>30&&y<50

 

【你的答案】

 

本题分数2分

你的得分

修改分数

第2题已知int k,x;则语句for(k=0,x=0;k<=9 && x!

=10;k++) x+=2;执行后k的值是___。

 

【正确答案】(P10)5

 

【你的答案】

 

本题分数2分

你的得分

修改分数

第3题已知 int a[10]={1,2,3,5,6};则a[a[1]]=___。

 

【正确答案】(P45)3

 

【你的答案】

 

本题分数2分

你的得分

修改分数

第4题下列C语言程序段的输出结果是___。

int x=2,b[10]={5,6,7,8},*p=b;

printf("%d,%d\n",b[6],p[x]);

 

【正确答案】(P100)0,7

 

【你的答案】

 

本题分数2分

你的得分

修改分数

第5题数据结构研究的主要内容包括数据的逻辑结构、___以及他们之间的相互运算。

 

【正确答案】(P124)物理结构(存储结构)

 

【你的答案】

 

本题分数2分

你的得分

修改分数

第6题循环双链表节点结构为(见下图)

在指针q所指节点前面插入一个节点t的操作是:

t->prior=q->prior;

t->next=q;

___;

q->prior=t; 

 

【正确答案】(P136)q->prior->next=t

 

【你的答案】

 

本题分数2分

你的得分

修改分数

第7题设有一个10×10的对称矩阵A,采用下三角压缩存储方式,以行序为主,A[0][0]的存储地址为100,每个元素占一个地址空间,则A[3][2]的地址是___。

 

【正确答案】(P155~156)108

 

【你的答案】

 

本题分数2分

你的得分

修改分数

第8题在有向图中,以顶点V为终点的边的数目称为V的___。

 

【正确答案】(P178)入度

 

【你的答案】

 

本题分数2分

你的得分

修改分数

第9题将一棵有100个节点的完全二叉树从根这一层开始,每一层从左到右依次对节点进行编号,根结点的编号为1,则编号为49的节点的左孩子的编号是___。

 

【正确答案】(P163)98

 

【你的答案】

 

本题分数2分

你的得分

修改分数

第10题软件工程包括三个要素,分别为方法、___和过程。

 

【正确答案】(P211)工具

 

【你的答案】

、解答题(本大题共4小题,每小题4分,共16分)

第1题用盒图(N_S图)画出结构化程序设计的三种基本结构。

 

 

【正确答案】

 

【你的答案】

 

本题分数4分

你的得分

修改分数

第2题对于图G-1

(1)从顶点1出发,按邻接顶点序号由小到大顺序给出广度优先遍历的顶点序列。

(2)给出用克鲁斯卡尔法构造的最小生成树。

 

 

【正确答案】(P182、184)

(1)广度优先遍历的顶点序列:

1256734(2分)

(2)最小生成树:

(2分)

[解析]克鲁斯卡尔法构造的最小生成树的基本思路是:

不断找出图中权值最小的边,逐个连通各边。

本题求解过程依次为(1,6),(2,3),(1,7),然后如果选(7,6)则形成回路,因此不选,继续选择(2,4),(2,5)。

此时各边都已连通,最小生成树构造完毕。

 

【你的答案】

 

本题分数4分

你的得分

修改分数

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

 

 

【正确答案】(P172)

(1)哈夫曼编码树:

 (2分)

(2)哈夫曼编码:

a:

1110 b:

1111 c:

110 d:

00 e:

01 f:

10(2分)

 

【你的答案】

 

本题分数4分

你的得分

修改分数

第4题已知一数值序列为{33,61,12,75,8,54,41},请分别写出按升序进行排序时,直接选择排序、直接插入排序第一趟结束后的数值序列。

 

【正确答案】(P201、205)

(1)直接选择排序 8,61,12,75,33,54,41(2分)

(2)直接插入排序 33,61,12,75,8,54,41(2分)

[解析]

(1)直接选择排序的基本思想是:

将未排好序的序列中最小元素依次放到已排好序的序列的一端。

第一趟找出最小值为8,与33交换位置。

(2)直接插入排序的基本思想是:

从未排序序列中依次取出元素与已排序序列(初始时有1个元素)中的元素进行比较,将其放入已排序序列的正确位置。

第一趟插入61,与已排序序列中的33比较,61>33,插入到33后,已排好序列为[33,61]。

 

【你的答案】

四、程序分析题(本大题共4小题,每小题4分,共16分)

第1题写出下列程序的运行结果。

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++);

}

}

 

【正确答案】(P101)11 11(2分)

13 12(2分)

[解析]指针变量p指向a[1],在for循环中,循环体共执行4次。

进入循环体,如果j不是2的倍数,则输出a[j]的值,之后输出p指针所指向变量中的内容,p指针后移1位,如果j是2的倍数,则进入下一次循环。

j=1,第1次进入循环体,输出a[1],为11,此时p指向a[1],输出*p,也为11,然后p指针后移,指向a[2];j=2,第2次进入循环体,j%2==0,执行else子句continue,进入下一次循环;j=3,第3次进入循环体,输出a[3],为13,此时p指向a[2],输出*p,为12,然后p指针后移,指向a[3];j=4,第4次进入循环体,j%2==0,执行else子句continue,进入下一次循环;j=5,循环条件j<5不成立,退出循环。

 

【你的答案】

 

本题分数4分

你的得分

修改分数

第2题写出下列程序的运行结果。

fun(int a)

{static int x=5;

int y=0,t;

x++;y++;

t=a+x+y;

return (t);

}

main( )

{int a=2,b=3;

 printf("%d\n",fun(a));

printf("%d\n",fun(b));

}

 

【正确答案】(P81)9(2分)

11(2分)

[解析]static int x=5; 将x说明为静态局部变量,x的值在函数结束后不消失,在下次调用该函数时,变量具有上次函数调用结束时的值。

第1次调用fun(a),则函数中,执行了x++;y++;t=a+x+y;t=2+6+1,t=9;第2次调用fun(b),则函数中,x保留上次调用的值6,执行了x++;y++;t=a+x+y;t=3+7+1,t=11。

 

【你的答案】

 

本题分数4分

你的得分

修改分数

第3题下面程序的功能是:

将有15个数据元素的整型数组的最大值与末元素对调后输出,填空完成程序。

 

 

【正确答案】(P46)

①maxmax)(2分)

②x[14]=max(2分)

[解析]通过循环语句,依次比较各个元素,找出最大值。

用max存储当前比较过的数中的最大值,一旦发现max小于当前比较的数,则将大数存于max中,最大数的下标保存在变量n中,循环结束,max中存储的就是数组中最大的值。

退出循环,将最大数与x[14]元素值对调。

 

【你的答案】

 

本题分数4分

你的得分

修改分数

第4题下列算法的功能是:

将循环队列队首元素的值放入变量e后删除队首元素,操作成功返回1,否则返回0;QUEUE表示循环队列的数据结构。

填空完成算法。

 

 

【正确答案】(P152)

①Q->head==Q->tail(2分)

②(Q->head+1)%100(2分)

[解析]首先判断是否为空队列,如果Q->head==Q->tail,为空队列,则返回0。

否则,将队首元素值放入变量e中,队首元素指针指向新的队首元素,因为是循环队列,所以Q->head =(Q->head+1)%100。

 

【你的答案】

五、程序设计题(本大题共2小题,每小题9分,共18分)

第1题编写C语言程序实现:

从键盘上输入10个学生某门课的成绩,计算平均成绩,统计并输出所有高于平均分的学生成绩及人数。

 

av=av+x[i];}

av=av/10;

for(i=0;i<10;i++)

if(x[i]>av)

{n++;printf("%7.2f\n",x[i]);}

printf("%d\n",n);

}

[评分参考]定义正确3分,输入正确1分、平均值计算正确2分,输出正确3分。

"/>

【正确答案】(P45)

main( )

{int i,n=0;

float x[10],av=0;

for(i=0;i<10;i++)

{ scanf("%f",&x[i]);

av=av+x[i];}

av=av/10;

for(i=0;i<10;i++)

if(x[i]>av)

{n++;printf("%7.2f\n",x[i]);}

printf("%d\n",n);

}

[评分参考]定义正确3分,输入正确1分、平均值计算正确2分,输出正确3分。

 

【你的答案】

 

本题分数9分

你的得分

修改分数

第2题设一棵二叉树以二叉链表来存储,节点结构为(见下图):

定义此存储结构的数据类型,用C语言编写一个递归函数,计算此二叉树上度为1的节点个数。

 

 

【正确答案】(P163)

[答案1]

typedef struct node

{int data;

struct node*Lchild,*Rchild;

}NODE;

void leaf(NODE*root)

{if(root!

=NULL)

{if((root->Lchild!

=NULL&&root->Rchild==NULL)‖

(root->Lchild==NULL&&root->Rchild!

=NULL))

n=n+1;

leaf(root->Lchild);

leaf(root->Rchild);

}

}

[答案2]

struct node

{ int data;

struct node *Lchild, *Rchild;};

void leaf(struct node *root)

{if(root!

=NULL)

{if((root->Lchild!

=NULL&&root->Rchild==NULL)‖

(root->Lchild==NULL&&root->Rchild!

=NULL))

n=n+1;

leaf(root-Lchild);

leaf(root->Rchild);

}

}

[评分参考]结构定义正确2分,函数定义正确2分,条件正确3分,递归正确2分。

 

【你的答案】

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2