2018年04月自学考试02243《计算机软件基础(一)》试题.docx
2018年4月高等教育自学考试计算机软件基础(一)试题课程代码:02243一、单项选择题1 .语句=4%5+(54);运行之后,整型变量X的值为A.1B.4C.5D.5.252 .若有定义:inta=5,b=2;则表达式b=(a!-5)的值为A.0B.1C.2D.53 .下列程序执行后输出结果是voidmain()inti;for(i=l;i<=3;i+)switch(i)case1:printf("%d",i);break;case2:prinff("%d",i);default:prinff("%d",i);)IA.123B.132C.1223D.1112234 .下列不能对二维数组a进行正确初始化的语句是A.inta32=1,2,3),4,5,6);B.inta312=l),2,3),4,5);C.inta2=l,2,3,4,5,6;D.inta32=1,2,3A5;5 .下列程序的输出结果是#include<stdio,h>intnum:10;intfunc()intnum:4;return+nam;)voidmain()prinff(,%dn",func();1A.1B.4C.5D.106 .下列程序段运行后,表达式*(p+4)的值为chara:"china"char*p;p=a;A.,a'B.'n'C.存放h的地址D.存放言的地址7 .一个结构体变量占用的内存大小是A.占内存容量最大的成员所需容量B.各成员所需内存容量之和C.第一个成员所需内存容量D.最后一个成员所需内存容量8 .某程序的时间复杂度为(5n+nlog2n+M),其数量级表示为A.0(n)B.O(log2n)C.O(nlog2n)D.0(n2)9 .下列程序段的时间复杂度为i=l;while(i<=n)i=i*3;A.O(n)B.O(3n)C.O(log3n)D.O(n3)10 .从表中任一结点出发,都能扫描整个表的是A.静态链表B.单链表C.顺序表D.循环单链表11 .设计一个判别表达式中左右括号是否配对出现的算法,采用的最佳数据结构是A.栈B.队列C.线性表的顺序存储结构D.线性表的链式存储结构12 .在一棵具有5层的满二叉树中结点总数为A.16B.31C.32D.3313 .采用邻接表存储的图,其深度优先遍历类似于二叉树的是A.中序遍历B.先序遍历C.后序遍历D.层次遍历14 .对于一个有向图,若一个顶点的人度为kl,出度为k2,则对应邻接表中该顶点单链表中的结点数为A.klB.k2C.kl+k2D.kl-k215 .大型软件系统的测试通常由四个步骤组成,这些测试方法应用的先后顺序是A.确认测试一单元测试一集成测试一系统测试B.单元测试一系统测试一确认测试一集成测试C.系统测试一集成测试一单元测试一确认测试D.单元测试一集成测试一确认测试一系统测试二、填空题16 .inta=24;Pfintf(“%o",a);输出结果是。17 .若inta=6,b=4,c=2,则表达式!(2孙+(>1&<她+(:/2的值是。18 .在C语言中,允许函数的嵌套调用,但不允许函数的嵌套。19 .数组在内存中占用一段连续的存储空间,它的首地址由表示。20 .判断带头结点的单链表head为空的条件是。21 .由3个结点所构成的二叉树有种形态。22 .对一个二叉排序树进行遍历,结果是一个递增序列。23 .已知有序表为(12,18,24,35,47,50,62,83,90,115,134),当用折半查找90这个元素,需进行次查找可确定成功。,从而逐步形成了计算机软件工24 .计算机科学技术领域引入的工程化方法来缓解.程学。25 .能方便清晰地表达复杂条件组与其应做动作之间的对应关系的详细设计工具是.三、简答题26 .写出二叉树后序遍历的定义。27 .已知图的邻接表如题27图所示,绘制出该图,并给出从顶点。出发按深度优先遍历的结点序列。1_zH2 IJ/0I。1 I Q1 3 一/ ILo2 /题27图28 .试构造一个有13个节点的折半查找判定树,并求成功的平均查找次数ASJ29 .有一组关键字值为:40,17,18,7,85,32,60,65,73。试用直接选择排序的方法进行排序,写出前4趟排序结果。四、程序分析题请将划线部分的程序代码补充完整。30 .下面程序用于计算n!的值。#include<stdio,h>voidmain()(ihti,s,n;printf("entern:");scanf("%d",&n);for(i:1;i<:n;i+)printf("s=%d",s);31 .输入三位正整数,分解为各个位数之和,例如423分解为4+2+3之和,输出为:s=9o#include<stdio,h>voidmain()intn,c,cl,c2,c3;printf("Entern=',);scanf("%d",&n);printf(,rn:%d",n);c=O;cl:0;c2'-0;c3-O;cl:;/*求百位*/c2:n10%10;c3:;/*求个位*/c:el+c2+c3;prinff("s=%dn",c);)32 .以下程序的功能是:输出一组无重复数据中的最小数min与次小数scn_min。#include<stdio,h>voidmain()inta10;intmin,scn_min,i;fbr(i=O;i<IO;i+)scanf(',%d",&ai);if(aO<al)min=aOJ;scn_min=al;)elsemin=ail;scn_min=a0;for(i=2;i<10;i+)if(alii<min)min=ai;)elseif(ai<)scn_min=ai;)printf("min=%d,scn_min=%dn",min,scn_min);)33 .以下程序的功能是:输出满足约束条件的整数n的最大值。/include<stdio,h>voidmain()(intn.sum;n=0;while(sum<10000)sum+:n,(2,n-l)*(2*n-l);printf(,n=%dn.n-l);五、程序设计题34 .写一段C语言程序实现:从键盘上输人10个学生某门课的成绩,计算平均成绩,统计并输出所有高于平均分的学生成绩及人数。35 .编程统计带头结点的单链表中结点的个数(包括数据结构的定义)。