计算机软件基础一答案.docx
《计算机软件基础一答案.docx》由会员分享,可在线阅读,更多相关《计算机软件基础一答案.docx(12页珍藏版)》请在冰豆网上搜索。
![计算机软件基础一答案.docx](https://file1.bdocx.com/fileroot1/2023-2/2/bee0c187-b3ad-45a5-9466-7fe90e49000f/bee0c187-b3ad-45a5-9466-7fe90e49000f1.gif)
计算机软件基础一答案
2012年4月计算机软件基础
(一)试题
一、单项选择题(本大题共15小题,每小题2分,共30:
1.在绘制程序流程图时,表示“条件判断”的符号是【】
A.B.C.D.
2.下列运算符中优先级别最高的是【】
A.
C.!
=D.&&
3.if语句的格式如下
if(表达式)语句
其中的“表达式”【】
A.必须是逻辑表达式B.必须是关系表达式
C.可以是逻辑表达式或关泵表达式D.可以是任意合法的表达式
4.C语言中数组名作为函数参数时,其数据传递方式是【】
A.地址传递B.单向值传递C.返回值传递D.全局变量传递
5.下面程序的运行结果是【】
A.344B.345C.575D.577
6.已知:
structdate
{intyear;
intmonth;
intday;
)d,*p=&d;
下列引用结构成员的表达式中,错误的是【】
A.*p->yearB.d.dayC.p->monthD.*p).year
7.在下列时间复杂度中,最大的是【】
A.O(n)B.O(nlog2n)C.O(
)D.O(
)
8.在长度为n的链表的第i个节点后插入一个新节点,需要移动的节点数是【】
A.OB.iC.n-iD.n-i+1
9.下列关于循环队列的叙述中,正确的是【】
A.队头指针固定不变,队尾指针随队列长度变化
B.队尾指针固定不变,队头指针随队列长度变化
C.队头指针可以大于队尾指针,也可以小于队尾指针
D.队头指针只能小于等于队尾指针,两者的差值为队长
10.下列关于哈夫曼树的叙述中,错误的是【】
A.哈夫曼树中没有度为1的节点
B.哈夫曼树是带权路径长度最小的二叉树
c.一组互不相同的权值可唯一确定一棵哈夫曼树
D.哈夫曼树的节点总数等于叶节点数的2倍减l
11.下图中不同的最小生成树的个数是【】
A.2B.3C.4D.5
题11图
12.F列关于折半查找算法的叙述中,正确的是【】
A.可以用于有序的顺序表,也可以用于有序的链表
B.可以用于有序的顺序表,但不能用于有序的链表
c.可以用于无序的顺序表,也可以用于无序的链表
D.可以用于无序的顺序表,但不能用于无序的链表
13.如果说一个排序算法是稳定的,则它的含义是【】
A.待排序记录的关键字均互不相同
B.关键字相同的记录在排序前后的相对位置不变
c.该排序算法既可用于内排序,也可用于外排序
D.该排序算法既可用于顺序存储,也可用于链式存储
14.在绘制数据流图时,表示“加工’’的符号是【】
A.矩形B.圆形C.平行线D.带箭头的弧线
15.对模块内部的处理流程进行具体设计,属于【】
A.需求分析B.总体设计C.详细设计D.编码
二、填空题(本大题共10小题,每小题2分,共20分)
16.已知inta=5,b=8,c;表达式C=a/b*b的值是_________________。
17.语言中强制退出当前循环可使用的语句是____________________。
18.已知chara='A';语句printf("%c¨,a+3);的输出结果是______________。
19.已知charsl[20]="Good",*s2="Luck!
¨;函教strlen(strcat(sl,s2))的值是____________。
20.如下图所示的循环单链表中,指针p指向链表中任一节点。
要判断指针p是否指向头节点,可使用的表达式是_______________________。
21.对以下二叉树进行后序遍历,得到的序列是_________________________。
题21图
22.具有n个顶点的完全无向图,其顶点的度之和是_________________________。
23.直接选择排序的时间复杂度为____________________。
24.在软件工程中,软件=呈序+数据+_________________。
25.如果不考虑程序的内部实现细节,只从功能上对程序进行检测,考察其是否能够达
到预期的要求,这种测试方法称为______________________。
三、解答题(本大题共4小题j每小题4分,共16分)
26-用N-S图描述下列函数的程序流程。
28.已知有向图如下:
请写出该图的全部拓扑排序序列。
29.已知序列(20,15,18,30,25,70,80,65),按给定顺序构造一棵二叉排序树,并给出
成功查找时的平均查找长度。
30.请写出下列程序的输出结果。
31.请写出下列程序的输出结果。
32.下列程序的功能是输出高度为h的三角形。
下图是h等于4时的输出。
33.
五、程序设计题(本大题共2小题,每小题9分,共18分)
34.编写程序:
从键盘输入一个浮点数a(a≥o),利用迭代公式计算x=
。
迭代公
式如下:
要求:
当
的绝对值小于
是迭代结束,输出结果
。
35.35.设二叉树以二叉链表进行存储,节点结构如F:
其中data的数据类型为int,要求:
(1)请给出该二叉树节点类型的C语言描述;
(2)编写一个递归函数count2计算给定二叉树中度为2的节点。
2012年4月计算机软件基础
(一)试题答案
课程代单项选择题(本大题共15小题,每小题2分,共30分)
1.D2.B3.D4.A5.C
6.A7.D8.A9.C10.C
11.A12.B13.B14.B15.C
二、填空题(本大题共10小题,每小题2分,共20分)
16.017.break(或goto)
18.D19.9
20.p!
=head(或p—head)21.dbegfca
22.n(n-1)23.O(n2)
24.文档25.黑盒测试(或黑盒法,或功能测试)
三、解答题(本大题共4小题,每小题4分,共16分)
【评分参考】正确画出while循环给1分;正确画出if语句给1分;正确画出do-while
循环给1分;其他部分正确给1分?
27.【参考答案1】
(1)栈空的判断条件是:
stop==-1;
(2)
voidpop(s,x)
{if(s.top==-1)下溢;
elsex=s.data[s.top--];
}
【参考答案2】
(1)
栈空的判断条件是:
s.top==0;
(2)
voidpop(s,x)
{if(s.top—O)下溢;
else
{s.top一;
x=s.data[s.top];
}
}
28.序列1:
abcdef
序列2:
abcedf
序列3:
acbdef
序列4:
acbedf
29.
平均查找长度=(1+2*2+3*3+2*4)/8=22/8=2.75(1分)
四、程序分析题(本大题共4小题,每小题4分,共16分)
30.结果输出为:
156,89,55,72(每个输出1分)
31.结果输出为:
64,79,15,180(每个输出1分)
32.①&h(1分)
②h(1分)
③h-k(1分)
④2*k-l(1分)
33.①NULL(1分)
②h或h!
=NULL(1分)
③q-p(1分)
④head=head->next(1分)
五、程序设计题(本大题共2小题,每小题9分,共18分)
34.【参考程序】
#include
#include
voidmain()
{floata,x=l,x1=0,
scanf("%f",&a);
while(fabs(x-x1)>1e-6)
{xl=x;(2分)
x=(x1+a/x1)/2;
}
printf("sqrt(%f)=%f\",a,x);
}
35.【参考程序】
structnode
{intdata;
structnode*Lchild,*Rchild;
);
’intn=O;/*外部变量,计算二叉树中度为2的节点数量*/
voidcount2(structnode*BT)/*按照后序遍历的思想进行计数*/
{if(BT!
=NULL)(1分)
{if(BT->Lchild!
=NULL&&BT->Rchild!
=NULL)
rH+,
if(BT->Lchild!
=NULL)
count2(BT->Lchild);(2分)
if(BT->Rchild!
=NULL)
count2(BT->Rchild);(2分)
}
}
一、