计算机软件基础复习试题Word文档下载推荐.docx
- 文档编号:21775251
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:25
- 大小:1.67MB
计算机软件基础复习试题Word文档下载推荐.docx
《计算机软件基础复习试题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机软件基础复习试题Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。
B.P=q;
C.*P=&
q;
D.P=*b;
3.已知C语言函数fun()的定义形式为
voidfun(charch,floatx){...}则正确调用函数fun()的语句是()
A.fun(“a”,3.0);
B.fun('
ab'
,19.5);
C.t=fun('
z'
,3.6);
D.fun(65,32);
4.已知charsr[20];
inti;
从键盘向数组sr输入一字符串的正确语句是()
A.gets(sr);
B.gets(sr[20]);
C.for(i=0;
i<
20;
i++)scanf(sr);
D.for(i=0;
i++)gets(&
sr);
5.执行下列c语言程序段,循环结束的条件是()intn=0,P,sum=0;
do{scanf(“%d”,&
p);
n++;
sum+=p;
}
while(sum!
:
126&
&
n<
5);
A.sum的值不等于126或n的值小于5B.sum的值不等于126且n的值小于5
C.sum的值等于l26或n的值大于等于5D.sum的值不等于126且n的值大于等于5
6.下列C语言程序的输出结果是()
main()
{inta=13,m=0;
switch(a%3)
{case0:
m++:
case1:
m--;
case2:
m++;
default:
prinff(“%d”,m);
A.-1B.0
C.1D.2
7.已知C语言程序段如下:
structsa
{intnum:
charname[10];
floatf;
}stu[3]={{5,“liming”,85.0},{6,“liuliaing”,91.5},{7,“wangxin”,100}};
structsa*P;
P=stu;
则值为91.5的表达式是()
A.(*p)·
fB.(*++p).f
C.(*P++).fD.(p++)->
f
8.下列程序是计算两个矩阵的乘积,其算法的时间复杂度是()
Voidmul—matrix(intn,int[][5],intb[][5],intc[][5])
{inti,j,k,x;
for(i=0;
n;
i++)
{for(j=0;
j<
j++)
{X=0;
for(k=0;
k<
k++)
X+=a[i][k]*b[k][j];
e[i][j]=X;
A.O(n)B.O(log3N)
C.O(n2)D.O(n3)
9.若不带头节点的单链表的头指针为head,则判定该链表为空的条件是()
A.head==NULLB.head!
=NULL
C.head->
next==headD.head->
next==NULL
10.一个栈的进栈数据元素序列为l、2、3、4、5,则不可能为栈的出栈序列的是()
A.2、3、4、1、5B.1、5、4、3、2
C.2、3、1、4、5D.5、4、1、3、2
11.一棵二叉树的先序遍历序列为ABCD,中序遍历序列为CBAD,则后序遍历序列是()
A.BCDAB.BCAD
C.CBDAD.ABDC
12.在具有n个顶点、e条边的无向图的邻接表中,所有边的链表中边节点的总数是()
A.e/2B.e
C.2eD.2e+n
13.已知一个有序表为(12,18,24,35,47,50,62,83,90,115,134),用折半查找法查找值为90的元素时,查找成功所使用的比较次数是()
A.1B.2
C.3D.4
14.当待排序序列中记录的关键字基本有序或记录个数较少时,则最好的排序方法是()
A.基数排序B.冒泡排序
C.直接选择排序D.直接插入排序
15.在瀑布模型中,将软件划分为若干个阶段,软件项目的需求分析一般属于()
A.维护阶段B.开发阶段
C.运行阶段D.计划阶段
第二部分非选择题
二、填空题(本大题共l0小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
错填、不填均无分。
16.数学式“30<
Y<
50”对应的c语言表达式是:
17.已知intk,x;
则语句for(k=0,x=0;
=9&
x!
=10;
k++)x+=2;
执行后k的值是()
18.已知inta[10]={1,2,3,5,6);
则a[a[1]]=。
19.下列C语言程序段的输出结果是。
intx=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;
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()
{intj,a[5]={10,11,12,13,14},*P=&
a[1];
for(j=1;
5;
}if(j%2)printf(”%5d”,a[j]);
elsecontinue;
printf(”%5d/n”,*P++);
31.写出下列程序的运行结果。
fun(inta)
{staticintX=5;
intY=0,t;
X++;
Y++;
t=a+X+Y:
return(t);
{inta=2,b=3;
prinff(”%d\n”,fun(a));
printf(”%d\n”,fun(b));
32.下面程序的功能是:
将有l5个数据元素的整型数组的最大值与末元素对调后输出,填空完成程序。
{intX[15],max,n,i;
15;
scanf(“%d”,&x[i]);
max=x[O];
n=0;
for(i=1;
if(①)
{max=X[i];
n=i:
X[n]=x[14];
②;
printf(“%d”,X[i]);
33.下列算法的功能是:
将循环队列队首元素的值放入变量e后删除队首元素,操作成功返回1,否则返回0;
QUEUE表示循环队列的数据结构。
填空完成算法。
typedefstruct
{intdata[100];
inthead;
/*队首元素的下标*/
inttail;
/*等于队尾元素的下标加1*/
}QUEUE;
Leavequeue(QUEUE*Q,int*e)
{
if(①;
return0;
*e=Q->
data[Q->
head];
Q->
head=②;
Retum1;
五、程序设计题(本大题共2小题,每小题9分。
共l8分)
34.编写c语言程序实现:
从键盘上输入10个学生某门课的成绩,计算平均成绩,统计并输出所有高于平均分的学生成绩及人数。
35.设一棵二叉树以二叉链表赤存储,节点结构为:
Lchild
Rchild
定义此存储结构的数据类型,用C语言编写一个递归函数,计算此二叉树上度为l的节点个数
2008年4月计算机软件基础
(一)试卷参考答案
一、l.C2.A3.D4.A5.C6.C7.B8.D9.Al0.D11.Cl2.Cl3.Bl4.Dl5.B
二、l6.y>
30&
y<
5017.5
18.319.0.7
20.物理结构(或存储结构)21.Q->
prior->
next=t22.10823.入度
24.9825.工具
三、26.
27.
(1)广度优先遍历的顶点序列:
l256734(2分)
(2)最小生成树:
(2分)
分)
28.
(1)哈夫曼编码树:
(2分)
(2)哈夫曼编码:
a:
1110b:
llllc:
110d:
00e:
01f:
10(2分)
29.
(1)直接选择排序8,61,12,75,33,54,41(2分)
(2)直接插人排序33,61,l2,75,8,54,41(2分)
四、30.1111(2分)1312(2分)31.9(2分).
11(2分)
32.①max<
x[i](或x[i]>
max)(2分)
②x[14]=maX(2分)
33.①Q->
head==Q->
tail(2分)②(Q->
head+1)%100(2分)
五、【说明】下述答案仅供参考,若采用其他方法答题,只要正确实现题目要求,仍可获满分。
若程序不完整,可酌情给分。
34.main()
{inti,n=0;
floatx[10],av=0;
10;
{scanf(“%f"
,&
x[i]);
av=av+x[i];
av=av/l0;
i++)if(X[i]>
av)
{n++;
printf(“%7.2f\n”v[i]);
}printf(“%d\n”,n);
【评分参考】定义正确3分,输入正确l分、平均值计算正确2分,输出正确3分。
35.参考答案一:
typedefstructnode
{intdata;
structnode%Lchild.*Rchild;
}NODE;
voidleaf(NODE*root)
{if(root!
=NULL)
{if((root->
Lehild!
=NULL&
root->
Rchild==NULL)!
!
(root->
Lehild==.NULL&
RchildI=NULL))
n=n+1:
leaf(root->
Lchild);
leaf(root->
Rehild);
参考答案二:
structnode
structnode*Lchild.*Rchild;
};
voidleaf(structnode*root)
LchildI=NULL&
Lchild==NULL&
Rchild!
=NULL))
Rchild);
【评分参考】结构定义正确2分,函数定义正确2分,条件正确3分,递归正确2分。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 基础 复习 试题