吉林省计算机专升本考试历年真题.docx

上传人:b****9 文档编号:26063906 上传时间:2023-06-17 格式:DOCX 页数:51 大小:185.01KB
下载 相关 举报
吉林省计算机专升本考试历年真题.docx_第1页
第1页 / 共51页
吉林省计算机专升本考试历年真题.docx_第2页
第2页 / 共51页
吉林省计算机专升本考试历年真题.docx_第3页
第3页 / 共51页
吉林省计算机专升本考试历年真题.docx_第4页
第4页 / 共51页
吉林省计算机专升本考试历年真题.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

吉林省计算机专升本考试历年真题.docx

《吉林省计算机专升本考试历年真题.docx》由会员分享,可在线阅读,更多相关《吉林省计算机专升本考试历年真题.docx(51页珍藏版)》请在冰豆网上搜索。

吉林省计算机专升本考试历年真题.docx

吉林省计算机专升本考试历年真题

 

吉林省普通高等学校专升本教育考试

 

2003年吉林省普通高等学校专升本教育考试

计算机科学技术专业综合试卷

一、填空题

1.向栈中推入元素的操作是。

2.线性表中结点的集合是,结点间的关系是。

3.在双链表中要删除已知结点*p,其时间复杂度为。

4.已知数组A[11][6]采用行序为主方式存储,每个元素占4个存储单元,并且数组元素A[0][0]的存储地址是1000,数组元素A[8][4]的地址是。

5.在栈中存取数据遵从的原则是。

6.广义表的长度是指,广义表的深度是指。

7.N个顶点的连通图至少有条边。

8.深度为k的完全二叉树至少有个结点,至多有个结点。

9.在各种查找方法中,平均查找长度与结点个数n无关的查找方法是。

10.已知完全二叉树的第8层有8个结点,则其叶子结点数是。

11.对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序,当把第7个记录60插入到有序表时,为寻找插入位置,需比较次。

12.拓扑排序算法是通过重复选择具有个前驱顶点的过程来完成。

二、单项选择题

1.不带头结点的单链表head为空的判定条件是()

A.head==NULLB.head->next==NULL

C.head->next==headD.head!

=NULL

2.设长度为n的链队列用单循环链表表示,若只设尾指针,则出队操作的时间复杂度为()

A.O

(1)B.O(log2n)

C.O(n)D.O(n2)

3.数组A中,每个元素A[i][j]的长度为3个字节,行下标i从0到7,列下标j从0到9,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[7][4]的起始地址为()

A.SA+141B.SA+144

C.SA+222D.SA+225

4.某二叉树的后序遍历为dabec,中序遍历为debac,则前序遍历序列为()

A.acbedB.decab

C.deabcD.cedba

5.对于二叉树来说,第i层上至多有()个结点。

A.2iB.2i-1

C.2i-1D.2i-1-1

6.递归函数f(n)=f(n-1)+n(n>1)的递归体是()

A.f

(1)=0B.f(0)=1

C.f(n)=f(n-1)+nD.f(n)=n

7.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。

A.1/2B.1

C.2D.4

8.已知图的邻接表如下所示,根据算法,则从顶点0出发按广度优先遍历的结点序列是()

A.0321B.0123

C.0132D.0312

9.对线性表进行二分查找时,要求线性表必须()

A.以顺序方式存储

B.以链接方式存储

C.以顺序方式存储,且结点按关键字有序排列

D.以链接方式存储,且结点按关键字有序排列

10.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用()查找。

A.分块B.顺序

C.二分D.散列

11.设有1000个无序的元素,希望用最快的速度挑出其中前10个最大的元素,最好采用()法。

A.冒泡排序B.快速排序

C.堆排序D.基数排序

12.非线性结构中,每个结点()

A.无直接前趋

B.只有一个直接前趋和后继

C.只有一个直接前趋和个数不受限制的直接后继

D.有个数不受限制的直接前趋和后继

13.设高度为h的二叉树只有度为0和度为2的结点,则此类二叉树所包含的结点数至少为()

A.2hB.2h-1

C.2h+1D.h+1

14.矩阵是一个()

A.对称矩阵B.三角矩阵

C.带状矩阵D.稀疏矩阵

15.散列文件是一种()

A.顺序文件B.索引文件

C.链接文件D.计算寻址文件

三、假设二叉树包含的结点数据为1,3,7,2,12

1}画出两棵高度最大的二叉树

2)画出两棵完全二叉树,要求每个双亲结点的值大于其孩子结点的值。

四、程序分析题

1.程序:

#include

intx=1;

main()

{

func(x);

printf(“%d\n”,x);

}

func(intx)

{

x=3;

}

程序的执行结果是:

2.程序:

#include

main()

{

inta=2,*p,**pp;

pp=&p;

p=&a;

printf(“%d,%d,%d”,a,*p,**pp);

}

程序的执行结果是:

3.程序:

#include

main()

{

chars[80],c1,c2=’‘;

inti=0,num=0;

gets(s);

while(s[i]!

=’\0’)

{

c1=s[i];

if(i==0)

c2=’‘;

else

c2=s[i-1];

if(c1!

=’‘&&c2==’‘)

num++;

i++;

}

printf(“%d”,num);

}

程序完成功能是:

4.下面的函数invert的功能是将一个字符串的内容颠倒过来。

程序有一处错误请找出,度改正。

程序:

voidinvert(charstr[])

{

inti,j,k;

for(i=0,j=strlen(str);i>j;i++,j--)

{

k=str[i];

str[i]=str[j];

str[j]=k;

}

}

5.下面程序中有一处错误,请指出,并改正。

main()

{

floata[10];

inti;

for(i=0;i<3;i++)

scnaf(”%d”,&a[i]);

for(i=1;i<3;i++)

a[0]=a[0]+a[i];

printf(”%f\n”,a[0]);

}

五、程序设计题

1.设计求二叉树深度的算法。

2.用递归方法,计算x的n次方。

3.如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数。

试编程求1000以内的所有阿姆斯特朗数。

2005年吉林省普通高校专升本教育试点考试

计算机科学与技术专业综合试卷

一、填空题

1.栈的主要特点是;队列的主要特点是。

2.在一长度为n的向量中的第i个元素(1≤i≤n)之前插入一个元素时,需向后移动个元素。

3.对于一个具有n个结点的单链表,在已知P所指结点后插入一个新的结点的时间复杂度为;在给定值为x的结点后插入一个新的结点的时间复杂度为。

4.设n行n列的下三角矩阵A已压缩到一维数组s[0…n*(n-1)/2]中,若按行序为主存储,则A[i][j]对应的s中的存储位置为。

5.将f=1+1/2+1/3+…1/n转化成递归函数,其递归出口是,递归体是。

6.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为。

7.具有n个叶子结点的哈夫曼树中,其结点总数为。

8.对一个满二叉树,m个树叶,n个结点,深度为h,则n=。

9.判定一个有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用算法。

10.在各种查找方法中,平均查找长度与结点个数无关的查找方法是。

11.快速排序在最坏情况下的时间复杂度为。

12.一组记录的排序码为(46,79,56,38,40,84),则利用堆排序方法建立的初始堆为。

13.直接存取文件是用方法组织的。

14.-18在内存中的补码形式是10010011。

15.若a=3,b=4,c=5,d=6,则执行完如下表达式(a<(b=2))&&(c=d)后,a=,b=,c=,d=。

二、单项选择题

1.线性表的顺序存储结构是一种()的存储结构;线性表的链式存储结构是一种()的存储结构。

A.随机存取,顺序存取B.顺序存取,随机存取

C.索引存取,散列存取D.散列存取,随机存取

2.表达式a*(b+c)-d的中辍表达式为()

A.abcd+-*B.abc+*d–

C.abc*+d-D.-+*abcd

3.在一个单链表中,若P所指结点不是最后的结点,在P之后插入S所指结点,则执行()

A.S->next=P;P->next=S;B.S->next=P->next;P->next=S;

C.S->next=P->next;P=S;D.P->next=S;S->next=P;

4.一个栈的入栈序列为1,2,…,n,其输出序列为P1,P2,…,Pn,若P1=n,则Pi为()

A.iB.n-iC.n-i+1D.不确定

5.数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行序存放时,元素A[8][5]的起始地址为()

A.SA+141B.SA+144C.SA+222D.SA+225

6.将递归算法换成对应的非递归算法时,通常需要使用()

A.栈B.队列C.链表D.树

7.任何一棵二叉树的叶结点在前序、中序和后序遍历中的相对次序是()

A.不发生改B.发生改变C.不能确定D.以上都不对

8.已知一有向图的邻接表存储结构如下图所示,根据有向图的深度优先遍历算法,从顶点V1出发,所得到的顶点序列为()

A.V1V2V3V5V4B.V1V2V3V4V5

C.V1V3V4V5V2D.V1V4V3V5V2

9.快速排序方法在()情况下最不利于发挥其长处。

A.要排序的数据量太大B.要排序的数据中含有多个相同值

C.要排序的数据已基本有序D.要排序的数据个数为奇数

10.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为()

A.35/12B.37/12C.39/12D.43/12

11.下面给定的四个数中最大的是()

A.(38)10B.(00101011)2C.(1F)16D.(41)8

12.若x=4,y=-2,z=5,则表达式++x-y+z++的值为(C)

A.10B.11C.12D.13

13.以下给定程序的输出结果为()

main()

{

intx=12;

while(x--);

printf(“%d”,x);

}

A.-1B.0C.11D.1

14.有一二维数组a[3][4],其第2行第3列元素的正确表示方法是()

A.&a[2][3]B.a[2]+3C.*(a+2)+3D.*(a[2]+3)

15.执行完下列语句后,*p的最终值是()

inta[8]={1,3,2,4,6},*p=a,c=11;

p+=5;

a[4]=c;

A.6B.11C.0D.4

三、算法设计与解答

1.设有一组关键字{19,01,23,14,55,20,84,27,68,11,10,77}采用哈希函数:

H(key)=key%13,采用开放地址法的二次探测再散列方法解决冲突,试在0~18的散列地址空间中对该关键字序列构造哈希表。

2.试用普里姆法构造如图所示的一棵最小生成树。

(要求每加入一个结点,画一个图)

3.已知二叉树的先序遍历序列为“-,+,a,*,b,c,-,/,d,e,f”中序遍历序列为:

“a,+,b,*,c,-,d,/,e,-,f”,画出此二叉树,并写出它的后序遍历序列。

4.二叉树采用链接存储结构,试设计一个算法计算一棵给定二叉树的单孩子结点数。

(只写算法函数)

intonechild(btree*b)

{…}

5.已知线性表中的元素以值递增有序排列,并以单链表作为存储结构,试写一高效的算法,删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同),同时释放被删除结点空间,并分析你的算法的时间复杂度。

statusDelete_Equal(Linklist&L)

{…}

四、程序填空

1.下面程序的功能是求1+2+3+…+10的和。

补充程序使之完整。

main()

{

intsum=0,i;

i=1;

while(i<=10)

{

【1】;

【2】;

}

printf(“sum=%d\n”,sum);

}

2.从键盘输入一行句子,统计其中单词的个数,补充程序使之完整。

#include

main()

{

chars[80];

inti,num=0;

【1】;

gets(s);

while(s[i]!

=’\0’)

{

if((i==0)&&(s[i]!

=’‘))

num++;

elseif((【2】)&&(【3】))

num++;

i++;

}

printf(“num=%d\n”,num);

}

3.在已排好序的字符串a,下面的程序是将字符串b的每个字符按顺序插入到a中。

请将该程序填写完整。

#include

main()

{

chara[30]=”adeghkortuw”;

charb[]=”flmsx”;

inti,j,k;

printf(“stringa:

%s\n”,a);

for(k=0;s[k]!

=’\0’;k++)

{

j=0;

while(s[k]>=a[j]&&a[j]!

=’\0’)

j++;

for(【1】)

【2】

a[j]=s[k];

}

printf(“stringa:

%s\n”,a);

}

五、读程序写结果

1.写出如下程序的执行结果

#include

intm=5;

intf1()

{

m=m+3;

return(m);

}

main()

{

intm=3;

{

intm=10;

m++;

}

f1();

m+=1;

printf(“%d\n”,m);

}

2.写出下面程序的执行结果

voidswap(int*r,int*s)

{

int*t;

t=r;

r=s;

s=t;

}

main()

{

inta=3,b=9;

int*p,*q;

p=&a;

q=&b;

printf(“%d,%d\n”,*p,*q);

swap(p,q);

printf(“%d,%d\n”,*p,*q);

}

3.写出下面程序的执行结果。

main()

{

union

{

struct

{

intx;

inty;

}n;

inta;

intb;

}e;

e.a=5;

e.b=4;

e.n.x=e.a+e.b;

e.n.y=e.a*e.b;

printf(“%d,%d\n”,e.n.x,e.n.y);

}

六、编程题

1.编程实现求1+1/2!

+1/3!

+…1/n!

,真到使最后一项1/n!

小于10-4.

2.从键盘输入10个数,将其存入一个数组中,处理使这10个数在原数组中逆序存放。

输出原数组和处理后数组。

(注:

要求处理过程占用最少存储空间)

3.将给定数组a中,10个元素(初始值为1001,1000,2001,1030,5201,4110,2111,3302,6013,3123)按每数各位之和(千位+百位+十位+个位)从小到大排序。

2007年吉林省普通高校专升本教育试点考试

计算机科学与技术专业综合试卷

一、填空题(每空2分,共40分)

1.设有变量说明:

inta=3,b=2;则表达式a>b的值为。

2.若有如下定义:

intx=65;则语句printf(“%c”,x);的输出结果是。

3.有条件表达式:

a>b?

a:

c>d?

c:

d,若a=1,b=2,c=3,d=4,则表达式的值为。

4.已知inta[][3]={1,2,3,4,5,6,7};则数组a的第一维(行)的大小是。

5.设有语句:

inti;for(i=0;i<10;i++),循环结束后i的值为。

6.下面程序段运行的结果是。

Charc[5]={‘a’,’b’,’\0’,’c’,’\0’};

Printf(“%s”,c);

7.已知intb[]={1,2,3,4},y,*p=b;则执行语句y=*p++;后,变量y的值为。

8.C语言中,十进制数10的八进制表示方法为。

9.C语言中,字符型常量以码的形式在变量中存储。

10.已知struct{inti;charc;floata;}test;则结构体变量test的存储长度为

个字节。

11.设元素1,2,3,4,5依次进入栈S,在经过操作序列为push(S,1),push(S,2),push(S,3),

pop(S),push(S,4),pop(S),pop(S),push(S,5),pop(S),pop(S)之后得到的输出序列。

12.一个稀疏矩阵

,按照行序递增的顺序,下标从1开始构造对应的三元组线性表为。

13.一颗具有35个结点的二叉树可能的最小深度___________;最大深度为___________。

14.一颗树的广义表表示为a(b,c(e,f(g)),d),当用孩子兄弟链表表示时,右指针余非空的结点个数为___________。

15.利用n个值生成哈夫曼树中共有___________个结点。

16.具有n个顶点的强连通图至少有___________条边。

17.已知一个有向图的邻接矩阵表示,计算第i个结点的入度的方法是___________。

18.已知8个数据元素(35,75,40,15,20,55,95,65)按照依次插入点结点的方法生成一颗二叉树排序树后,最后两层上的结点总数为___________。

19.若对一组记录(46,79,56,38,40,80,35,50,74)进行直接插入排序,当把第8个记录50插入到前面已排序的有序表时,为寻找插入位置需比较___________次。

二、单项选择题(每小题2分,共40分)

1.若定义了intx;则将x强制转化为双精度类型应该写成

A.(double)xB.x(double)C.double(x)D.(x)double

2.已知inti=5,执行语句i+=++i后,i的值是

A.10B.11C.12D.A,B,C答案都不对

3.C语言中的函数

A.可以嵌套定义B.不可以嵌套调用

C.可以嵌套调用不可以递归调用D.嵌套调用和递归调用均可

4.合法的数组说明语句是

A.chara[]={0,1,2,3,4,5};B.inta[5]={0,1,2,3,4,5};

C.chara=”string”;D.inta[]=”string”;

5.有字符组a[80],b[80],正确在输出语句是

A.puts(a,b);B.printf(“%s,%s”,a[],b[]);

C.putchar(a,b);D.puts(a),puts(b);

6.已知int*p,a;则语句p=&a;中运算符&的含义是

A.位与运算B.逻辑与运算

C.取指针内容D.取变量地址

7.若inti=10;则执行下列语句后,变量i的正确结果是

switch(i)

{

case9:

i+=1;

case10:

i+=1;

case11:

i+=1;

default:

i+=1;

}

A.10B.11C.12D.13

8.在C语言中,二维数组的元素在内存中存放的顺序是

A.按行存放B.按列存放

C.用户自己定义D.由编译程序决定

9.已知char*p,*q;选择正确的语句

A.p*=3;B.p/=q;

C.p+=3;D.p+=q;

10.设有以下说明语句,则错误的叙述是

uniondata

{

inti;

charc;

floatf;

}a;

A.a所占内存长度为成员f的长度

B.a的地址和它的成员地址都是同一地址

C.a不可作为函数的参数

D.不能对a赋值,但可以在定义a时对它初始化

11.下面列出的四种时间复杂性,最好的是()

A.O(n)B.O(nlog2)C.O(n)D.O(log2n)

12.在一个长度为n的顺序存储的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为()

A.(n+1)/2B.n/2C.nD.n+1

13.二维数组M的行下标i的范围从0到4,列下标j的范围从0到5,每个元素占4个存储单元,M按行序存储元素M[3][5]的起始地址与M按列序存储时元素()的起始地址相同。

A.M[2][4]B.M[3][4]C.M[3][5]D.M[4][4]

14.一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个。

A.3B.4C.5D.6

15.对于一个具有n个顶点的无向连通图,它包含的连通分量的个数为()

A.0B.1C.nD.n+1

16.已知一个图如下所示,若从从顶点a出发按深度优先搜索遍历,可能得到的一种遍历序列为()

A.a,b,e,c,d,f

B.a,c,f,e,b,d

C.a,e,d,f,c,b

D.a,e,b,c,f,d

17.已知一个有向图如下所示,由该图得到的一种拓扑序列为()

A.V1,V4,V6,V2,V5,V3

B.V1,V2,V3,V4,V5,V6

C.V1,V4,V2,V3,V6,V5

D.V1,V2,V4,V6,V3,V5

18.对于一个长度为18的顺序存储的有序表,若采用折半查找,则查找第15个元素的查找长度为()

A.3B.4C.5D.6

19.对下列四个序列进行快速排序,各以第一个元素为基准进行第一次划分,则在该次划分过程中需要移动元素次数最多的序列是()

A.1,3,5,7,9B.5,7,9,1,3C.5,3,1,7,9D.9,7,5,3,1

20.一组记录的关键字为 (45,80,55,40,42,85),则利用堆排序的方法建立的初始堆为()

A.(80,45,55,40,42,85)B.(85,80,55,45,42,40)

C.(85,80,55,40,42,45)D.(85,55,80,42,45,40)

三、解答题(共50分)

1.设有一种数据结构B的元素集合K和它的二元关系R为:

B=(K,R)

K={K1,K2……K7}

R={,,,,,,,}(表示结点a到结点b是单向的)画出此结构对应的图形,并判断它属于哪种逻辑结构?

(6分)

2.将下面所示的森林转换成一棵二叉树(按字母序号顺序),并分别写出二

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1