1、printf(“1”);当运行时输入“B回车”,则输出结果是 。B43C432D43217. 已知字符a的ASCII码值为97,A的ASCII码值为65,则如下程序段的运行结果是 。 char C=d; int i=C-32:printf(“c,d”,i,i);Ad,68BD,68Cd,100DD,1008如下程序段的执行结果是 int X=1,Y=100; while(y0) X*=2; Y=3; printf(“d,d”,X,Y);A8,0B160C. 32,0D64,09. 如下选项中正确的数组定义是 A#define m 10; static int am=3,4,5,6; Bstat
2、ic int a2=3,4,5,6;Cstatic int a10=3,4,5,6);Dint m=4;static int am=3,4,5,6;10执行程序段:char str12;scanf(“s”,str);如果输入如下字符串(其中口表示空格): Whats口your口name? 则str的值是 AWhatsBWhats口CWhats口youDWhats口your口name?11如下程序段的运行结果是 。 int i=5,sum=100; do(sum=sum+(-i);) while(i=0); printf(“d”sum);A100B10C105D11012如下程序段的运行结果是
3、。 int i; for(i=1;iname=ddd;score=660;age=15;DP=&pname=“ddd”;pscore=660;page=15;22下面程序段中语法正确的是 。Aint mm(int x,int y) int x,y;return x+y;Bchar str10;scanf(“s”,&str);Cint i,a10;for(i=0;i+) scanf(“d”,ai);Dint i,a10,*p; for(i=0,p=a;pC!(a= =1)D(a= =1)24若变量已经正确定义,要求程序段完成1到100的累加,下列选项中不能完成此功能的程序段是 。Afor(i=1
4、,sum=0;=100;i+)sum=sum+i;Bi=1;suln=0;while(i+=100)sum=sum+i;Cfor(i=1;i+)sum=0;sum=sum+i Di=1;sum=0;dosim=sum+i;while(+i100);25己知int k;且k已经正确赋值,则下列表达式中存在语法错误的是 A2k6B(k6)+Ck2Dk= =126如下程序段的输出结果是 。 int i,j,a=0;=5;i+) for(j=i;jj+) a=a+j; printf(“d”,a);A10B25 0C55D7527语句:printf(“-84d”,-36);执行时的输出结果是(口表示空格
5、) 。A-0036口口口口B-036口口口口口C口口口口-036D口口口口口-03628如下程序段的输出结果是 。 int a10=34,22,12,66,8,33,22,338,56,99); int i,x=0;10; if(aiax) x=i; printf(“d”,ax);A8B34C99D33829如下程序段的输出结果是 。 char str =(S,t,u,d,e,n,t,0); Char*q=str; while(*q!=0)q+; printf(“d”,q-str);A5C7D830如下程序段的输出结果是 。 #define n 5 int no; struct student
6、 stun=1,12,2,555,3,905,4,78.0,5,34.0; int i; float a=0,b; for(i=0;n;i+) a+=stui.score; b=an;printf(“084f”,b);A00541000B0541000C00541D5410000二、程序阅读题(本大题共4小题,每小题5分,共20分)阅读下列程序,请将运行时输出的结果写在答题纸相应的位置上。31. *程序段中口表示空格*#includevoid main()char strl=“good口morning!”,str220; char*p,*q; for(p=strl;*p!=0;p+); for
7、(q=str2;-p=strl;q+)*q=*p; *q=0; printf(“s”,str2);答案:!gninrom doog32. #include#define n 10 void de(int a,int x,int *m)int i=x+1; for(;=*m;i+)ai-1=ai; *m=*m-1;static int an:32,12,12,56,78,12,78,5,32,12; int i,j,x,m=n-1;=m; x=ai; For(j=i+l; if(aj= =X) de(a,j,&m);printf(“d,”,ai);32,12,56,78,5,33. #inclu
8、deay)ch(&x,&y); for(i=2;ax)x=i; else if(aiay)y=i; ch(&ax,&ay);i+)printf(“d,”,ai);32,132,18,56,98,52,78,15,5,11234. #includemax) max=aij; ; int i,j,max, ;rn; for(j=0;Jint nq,k,i; for(m=101;mk) printf(“d”,m); (4)i+(5)break第二部分 数据结构(共1 00分)一、单项选择题(本大题共1 2,qJ、题,每小题2分:共24分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答
9、案代码填写在答题纸相应位置上。1要表示高校的校、系、班级的有关数据及其关系,选择 比较合适。A线性结构B树结构C图结构D集合结构2下列函数中渐近时间复杂度最小的是 。A.B.C.D.3已知一个栈s以及一个输入序列(A,B,C,D,E),每个元素按照A,B,C,D,E顺序进栈一次,进栈后可立即出栈,也可在栈中停留一段时间后再出栈,则不能得到 序列。AA,B,C,D,EBB,A,E,D,CCC,B,A,D,EDD,C,A,B,E4平均排序效率最好的排序方法是 。A直接插入排序B快速排序C简单选择排序D冒泡排序5某链表中最常用的操作是在已知的一个结点之前插入一个新结点和删除其之前一个结点,则采用 存
10、储方式最节省运算时间。A双向链表B带头指针的单向链表C带尾指针的单向链表D单向循环链表6在逻辑结构不变的情况下,不是导致一个图的遍历序列不唯一的因素是 A出发点不同B存储(物理)结构不同C遍历方法不同D画法不同7散列函数有一个共同的要求,即函数值应当尽量以 取其值域的每个值。A最大概率B最小概率C正态分布概率D均等概率8下面 方法可以判断出一个图中是否存在环(回路)。A 排序B深度和广度遍历C求最短路径D求关键路径9最佳二叉搜索(排序)树是 。A关键码个数最小的二叉搜索树B退化为线性的二叉搜索树C搜索中平均比较次数最小的二叉搜索树D任何结点的度数为0或2的二叉搜索树10. 是数据的基本单位,即
11、数据集合(对象)中的个体。A 数据结构B数据项C数据元素D数据对象11 (线性)表是一个 。A有限序列,可以为空B 有限序列,不能为空C 无限序列,可以为空D无限序列,不能为空12树是结点的集合,它 根结点。A 有0个或1个B 有0个或多个C 有且只有1个D 有1个或1个以上二、填空题 (本大题共7小题,每空2分,共1 6分) 请将答案写在答题纸相应的位置上。13在有n个顶点的有向图中,每个顶点的度最大可达 2(n1) 。14以下程序段的时间复杂度是 O(n) 。i=0;j=o; while(i+jj) j+; else i+;15右图所示的二叉树后序遍历的结果是EDCBIHJGFA16在一个
12、双向链表中P所指结点之前插入一个由指针s所指的新结点,写出可执行的操作序列: s-next = p ; s-prior = p-prior ; p-prior-next =s ;prior = s;(前指和后指的指针域分别为prior和next)17 (线性)表有两种存储结构:顺序存储结构和链式存储结构,请就这两种存储结构完成下列填充:顺序存储 存储密度较大,可以随机存取;链式存储 不可以随机存取,插入和删除操作比较方便。18递归的程序执行时使用 栈 来保存各层递归调用时的现场信息,以保证可以正确返回。19设数组aM(M为最大空间个数)作为循环队列Q的存储空间,front为队头指针(指向第一个
13、存放数据的位置),rear为队尾指针(指向最后一个存放数据位置的下一个),则判定Q队列的队满条件是 Q-front = (Q-rear + 1)%M 或 Q.front = (Q.rear +1)%M 或 front = (rear+1)%M三、应用题(本大题共4小题,每小题1 0分,共40分) 请将答案写在答题纸相应的位置上。20设字符集D=A,B,C,D,E),各字符使用频率W=10,2,5,6,4)。画出对字符进行哈夫曼编码时所对应的哈夫曼树,并给出各字符的编码。哈夫曼树:10,2,5,6,4名字符的哈夫曼编码为:A:01 B:110 C:10 D:00 E:11121用普里姆(Prim
14、)算法从右图中的顶点1开 始逐步构造最小支撑(代价生成)树,要求画出构造的每一步。22给定待排关键字集合为23,14,48,25,5,19,按关键字非递减(从小到大)排序,写出采用冒泡排序的每一趟(最外层循环的每一次)排序结果。23,14,48,25,5,19第一趟:14,23,48,25,5,19第二趟:第三趟:14,23,25,48,5,19第四趟:5.14,23,48,25,19第五趟:5.14,19,23,48,25,23(1)图示表示右边有向图的邻接表。(4分)(2)写出从顶点1开始分别进行深度 优先和广度优先遍历的顶点序列各一种。(6分)(2)深度:124653或125643或13
15、2465或132564或135624 广度:123456或132546四、算法设计题(本大题共2小题,每小题1 0分,共20分) 请将答案写在答题纸相应的位置上c24假定用一个有头结点循环链表来存储一个有序的线性表,线性表从头到尾为非递减(从小到大)有序(如下图)。用指针(如下图)。用指针current从head开始搜索数据域等于key的元素在线性表中位置,如果搜索成功则current指向搜索到的结点,函数返回该指针;如果搜索不成功,函数返回空指针NULL。请在函数SortedlistLocate(head,key)内填空,完成下列算法以实现这种搜索,并使得搜索不成功的平均比较次数小于链表长度
16、。typedef struct node elemtype data;数据域 struct node *next;指针域 1node,术linklist;linklist SortedlistLocate(1inklist head,elerntype key)linklist current;if( (1) ) return ERROR;错误提示current= (2) ;while( (3) & (4) )current=current-next;循链搜索其值等于key的结点if ( (5) ) return current;找到,返回结点地址else return NULL;未找到,返回
17、空指针 1. head = NULL2. head-next3. keydata4. head!=current-5. key=current-25r为一维数组,其中r0到rn-为待排序的n个元素,排序好的元素仍在r0到 rn-1中。请写出对该数组进行非递减排序的直接插入排序算法取名为InsertSort(etemtype r ,int n)。void InsertSort(elemtype r,int n) for(i=1;n; temp = r1; j=i; while(j0&temprj-1) rj = rj-1; j-;rj=temp;第三部分 关系数据库与SQL语言(共1 00分)一、单项选择题(本大题共20小题,每小题2分,共40分)1. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是 。ADBS包括DB乖DBMSBDBMS包括DB和DBSCDB包括DBS和DBMS DDBS就是DB,也就是DBMS2.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是 I人工管理阶段II文件系统阶段III数据库阶段。AI和IIB只有ICII和IIID只有II3.下面的选项不是关系数据库基本特征的是 。A不同的列应有不同的数据类型B不同的列应有不同的列名C与行的次序无关D与列的次序无关4. 从一个数据库文件中取出满足某个条件的所有记
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1