1、计算机软件基础一答案2012年4月计算机软件基础(一)试题一、单项选择题(本大题共15小题,每小题2分,共30:1在绘制程序流程图时,表示“条件判断”的符号是【 】 A B C D 2下列运算符中优先级别最高的是【 】 Ayear B.d.day C.p-month D.*p).year 7在下列时间复杂度中,最大的是【 】 A.O(n) B.O(n log2 n) C.O() D. O()8在长度为n的链表的第i个节点后插入一个新节点,需要移动的节点数是【 】 A.O B.i C.n-i D.n-i+19下列关于循环队列的叙述中,正确的是【 】 A队头指针固定不变,队尾指针随队列长度变化 B
2、队尾指针固定不变,队头指针随队列长度变化 C队头指针可以大于队尾指针,也可以小于队尾指针 D队头指针只能小于等于队尾指针,两者的差值为队长10下列关于哈夫曼树的叙述中,错误的是【 】 A哈夫曼树中没有度为1的节点 B哈夫曼树是带权路径长度最小的二叉树 c一组互不相同的权值可唯一确定一棵哈夫曼树 D哈夫曼树的节点总数等于叶节点数的2倍减l1 1下图中不同的最小生成树的个数是【 】A2 B.3 C4 D5 题1 1图12. F列关于折半查找算法的叙述中,正确的是【 】 A可以用于有序的顺序表,也可以用于有序的链表 B可以用于有序的顺序表,但不能用于有序的链表 c可以用于无序的顺序表,也可以用于无序
3、的链表 D可以用于无序的顺序表,但不能用于无序的链表13如果说一个排序算法是稳定的,则它的含义是【 】 A待排序记录的关键字均互不相同 B关键字相同的记录在排序前后的相对位置不变 c该排序算法既可用于内排序,也可用于外排序 D该排序算法既可用于顺序存储,也可用于链式存储1 4在绘制数据流图时,表示“加工的符号是【 】 A矩形 B圆形 C平行线 D带箭头的弧线15对模块内部的处理流程进行具体设计,属于【 】 A需求分析 B总体设计 C详细设计 D编码二、填空题(本大题共1 0小题,每小题2分,共20分)1 6已知int a=5,b=8,c;表达式C=a/b*b的值是_。17 .语言中强制退出当前
4、循环可使用的语句是_。1 8已知char a=A;语句printf(%c,a+3);的输出结果是_。19已知char sl20=Good, *s2=Luck!;函教strlen(strcat (sl, s2)的值是_。20如下图所示的循环单链表中,指针p指向链表中任一节点。要判断指针p是否指向头节点,可使用的表达式是_。2 1对以下二叉树进行后序遍历,得到的序列是_。 题21图22具有n个顶点的完全无向图,其顶点的度之和是_。23直接选择排序的时间复杂度为_。24在软件工程中,软件=呈序+数据+_。25如果不考虑程序的内部实现细节,只从功能上对程序进行检测,考察其是否能够达到预期的要求,这种测
5、试方法称为_。三、解答题(本大题共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分,共1 8分)34编写程序:从键盘输入一个浮点数a(ao),利用迭代公式计算x=。迭代公式如下:要求:当的绝对值小于是迭代
6、结束,输出结果。35.35设二叉树以二叉链表进行存储,节点结构如F:其中data的数据类型为int ,要求:(1)请给出该二叉树节点类型的C语言描述;(2)编写一个递归函数count2计算给定二叉树中度为2的节点。2012年4月计算机软件基础(一)试题答案课程代单项选择题(本大题共15小题,每小题2分,共30分) 1D 2B 3D 4A 5C 6A 7D 8A 9C 10.C 11.A 12.B 13.B 14.B 15.C二、填空题(本大题共10小题,每小题2分,共20分) 16.0 17. break(或goto) 18.D 19.9 20.p!=head(或phead) 21. d b
7、e g f c a 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)void pop(s,x) if( s.top=-1)下溢; else x=s.datas.top-;【参考答案2】(1) 栈空的判断条件是:s.top=0;(2)void pop(s,x) if( s.topO)下溢; else s.top
8、一; x= s.datas.top; 28序列1:a b c d e f 序列2:a b c e d f 序列3:a c b d e f 序列4:a c b e d f29. 平均查找长度=(1+2*2+3 *3+2*4)8=228=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= he
9、ad-next (1分)五、程序设计题(本大题共2小题,每小题9分,共18分) 34.【参考程序】 #include #include void main() float a,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.【参考程序】 struct node int data; struct node*Lchild,*Rchild; ); intn=O; *外部变量,计算二叉树中度为2的节点数量* void count2(struct node*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分) 一、
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1