资源描述
报名号____________ 姓名______________ 科目________________________
…………………………………………线………………………封………………………密………………………………………………………………………
姓
黄冈师范学院“专升本”考试试题
科目:计算机科学与技术专业《专业综合》
注意:答案一律书写在答题纸上,在试卷上答题一律无效。
第一某些C语言
一、选取题(2分×20=40分)
1、下列关于C语言程序说法对的是()。
A)是由一种主程序和若干子程序构成
B)是由函数构成
C)是由若干过程构成
D)是由若干子程序构成
2、关于C语言程序执行过程,下列说法对的是()。
A)从main函数开始,到main函数结束
B)本程序文献第一种函数开始,到本程序文献最后一种函数结束
C)本程序文献第一种函数开始,到main函数结束
D)从main函数开始,到本程序文献最后一种函数结束
3、C语言中标记符只能由字母、数字和下划线三种字符构成,且第一种字符()。
A)必要为字母
B)必要为下划线
C)必要为字母或下划线
D)可以是字母、数字和下划线中任一字符
4、用C语言编写代码程序()。
A)可及时执行B)通过编译解释才干执行
C)通过编译即可执行D)以上说法都不对
5、如下定义语句中对的是()。
A)chara=\'A\'b=\'B\';B)floata=b=10.0;
C)inta=10,*b=&a;D)float*a,b=&a;
6、如下变量赋初值不对的是()。
A)inta=3;
B)inta,b=2,c=3;
C)inta=1,b=2,c=3;
D)inta=b=c=3;
7、已知intx=1,y=2,z=3;如下语句执行后,x,y,z值是()。
if(x>y);z=x;x=y;y=z;
A)1,2,3
B)2,1,1
C)2,3,1
D)2,3,2
8、有如下程序
voidmain()
{intm=3,n=4,x;
x=-m;
x=x+8/n;
printf("%d\n",x);
}
程序运营后输出成果是()。
A)3B)5C)-1D)-2
9、如下不对的论述是()。
A)在C程序中,main函数不一定要写在程序最上面
B)在C程序中,SUM和sum是两个不同变量
C)若a和b类型相似,在计算了赋值表达式a=b后,b中值将放入a中,而b中值不变
D)从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
10、若有阐明int*p,a[5];p=a;则如下表达式中不能表达a[3]是()。
A)p[3]B)*(a+3)C)*(p+3)D)*(p+6)
11、如下能正拟定义二维数组是()。
A)inta[][3];B)inta[][3]=2{2*3};
C)inta[][3]={};D)inta[2][3]={{1},{2},{3,4}};
12、s1和s2已正拟定义并分别指向两个字符串。若规定:当s1所指串不不大于s2所指串时,执行语句S;则如下选项中对的是()。
A)if(s1>s2)S;B)if(strcmp(s1,s2))S;
C)if(strcmp(s2,s1)>0)S;D)if(strcmp(s1,s2)>0)S;
13、有如下程序
voidmain()
{inti,s=0;
for(i=1;i<10;i+=2)
s+=i+1;
printf(“%d\n”,s);
}
程序执行后输出成果是()。
A)自然数1~10累加和B)自然数1~9累加和
C)自然数1~10中偶数之和D)自然数1~9中奇数之和
14、有如下阐明和定义语句
structstudent{intage;charnum[8];};
structstudentstu[3]={{20,"01"},{21,"02"},{19,"03"}};
structstudent*p=stu;
如下选项中引用构造体变量成员表达式错误是()。
A)(p++)->numB)p->num
C)(*p).numD)stu[3].age
15、有如下程序
voidf(char*p)
{p+=3;}
voidmain()
{charb[4]={'a','b','c','d'},*p=b;
f(p);
printf("%c\n",*p);
}
程序运营后输出成果是()。
A)aB)bC)cD)d
16、执行下面程序段后,输出是()。
intj=1,s=0;
while(j<=10)
{j++;
if(j%2)
continue;
s=s+j;
}
printf(“%d”,s);
A)22B)25C)30D)55
17、有如下程序
#defineN20
fun(inta[],intn,intm)
{inti,j;
for(i=m;i>=n;i--)a[i+1]=a[i];
}
voidmain()
{inti,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
for(i=0;i<5;i++)printf("%d",a[i]);
}
程序运营后输出成果是()。
A)10234B)12344C)12334D)12234
18、有如下程序
voidmain()
{inta=1,b;
for(b=1;b<=10;b++)
{if(a>=8)break;
if(a%2==1){a+=5;continue;}
a-=3;
}
printf("%d\n",b);
}
程序运营后输出成果是()。
A)3B)4C)5D)6
19、有如下程序段
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中值是()。
A)5B)6C)9D)1
20、C语言规定,简朴变量做实参时,它和形参之间数据传递方式是()。
A)地址传递
B)单项值传递
C)由实参传给形参,再由形参传给实参
D)由顾客指定传递方式
二、填空题(1-6题每空2分,7-8题每题5分,共30分)
1、C语言源程序基本单位是 。
2、在内存中每个存储单元编号称为 。
3、依照对变量访问方式,可分为直接访问和 访问。
4、下面程序功能是输出如下形式金字塔图案:
*
***
*****
*******
voidmain()
{inti,j;
for(i=1; (1) ;i++)
{for(j=1;j<= (2) ;j++)printf(“*”);
printf(“\n”);
}
}
5、如下程序功能是从键盘输入若干学生成绩,并输出最高成绩和最低成绩,当输入负数时结束,请填空。
voidmain()
{floatx,amax,amin;
scanf("%f", (1) );
amax=x;
amin=x;
while( (2) )
{if(x>amax)
amax=x;
else
if( (3) )
amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
6、下列程序功能是判断一种正整数与否为素数。
voidmain()
{
intn,i,f;
scanf(“%d”,&n);
f=1;
for(i=2;i<=sqrt(n); (1) )
if(n%i==0)
{
(2) ;
break;
}
}
7、下列程序运营成果是 。
voidmain()
{
inti,s=1;
for(i=0;i<=5;i++)
s=s*i;
printf(“%d”,s);
}
8、当运营如下程序时,输入abcd,程序输出成果是 。
voidinsert(charstr[])
{inti;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]=′*′;i--;}
printf("%s\n",str);
}
voidmain()
{charstr[40];
scanf("%s",str);
insert(str);
}
三、程序理解题(每题10分,共30分)
1、已知函数f功能是求1-n和。
intf(intn)
{
inti,sum;
for(i=1;i<=n;i++)
;
returnsum;
}
问题(1)将函数f补充完整;(5分)
问题(2)写出主函数,求1-100和。(5分)
2、编程求下列分段函数值(x,y均为整型变量)
2x-10x>0
y=x+5x=0
2x+10x<0
3、编程对10个正整数排序(可采用起泡法或选取法任意一种完毕)。
第二某些数据构造
一、选取题(2分×25=50分)
1、数据最小单位是()。
A)数据项 B)数据类型 C)数据元素 D)数据变量
2、字符串长度是指()。
A)串中不同字符个数 B)串中不同字母个数
C)串中所含字符个数 D)串中不同数字个数
3、如下数据构造中()是非线性构造?
A)队列 B)栈C)线性表 D)二叉树
4、建立一种长度为n有序单链表时间复杂度为()。
A)O(n) B)O(1) C)O(n2) D)O(log2n)
5、两个字符串相等充要条件是()。
A)两个字符串长度相等 B)两个字符串中相应位置上字符相等
C)同步具备(A)和(B)两个条件 D)以上答案都不对
6、算法时间复杂度是指()。
A)执行算法程序所需要时间B)算法程序长度
C)算法执行过程中所需要基本运算次数D)算法程序中指令条数
7、队列是一种()线性表。
A)先进先出 B)先进后出 C)只能插入 D)只能删除
8、长度为N线性表进行顺序查找,在查找不成功时,与核心字比较次数为()。
A)NB)1C)N-1D)0
9、若有18个元素有序表存储在一维数组A[19]中,第一种元素放A[1]中,现进行二分查找,则查找A[3]比较序列下标依次为()。
A)1,2,3 B)9,5,2,3
C)9,4,3 D)9,4,2,3
10、设某有向图中有n个顶点,则该有向图相应邻接表中有()个表头结点。
A)n-1 (B)n (C)n+1 (D)2n-1
11、线性链表不具备特点是()。
A)随机访问B)不必事先预计所需存储空间大小
C)插入与删除时不必移动元素D)所需空间与线性表长度成正比
12、设有6个结点无向图,该图至少应有()条边才干保证是一种连通图。
A)5B)6C)7D)8
13、设某棵二叉树中序遍历序列为ABCD,先序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
A)BADC B)BCDA C)CDAB D)CBDA
14、在有n个叶子结点正则二叉树(无度为1结点)中,其结点总数为()。
A)2nB)2n-1C)2n+1D)2n-1
15、设一组初始记录核心字序列为(50,40,95,20,15,70,60,45),则以增量d=4一趟希尔排序结束后前4条记录核心字为()。
A)40,50,20,95 B)15,40,60,20
C)15,20,40,45 D)45,40,15,20
16、函数substr(“DATASTRUCTURE”,5,9)返回值为()。
A)“STRUCTURE” B)“DATA”
C)“ASTRUCTUR” D)“DATASTRUCTURE”
17、设一种有序单链表中有n个结点,现规定插入一种新结点后使得单链表依然保持有序,则该操作时间复杂度为()。
A)O(log2n) B)O(1) C)O(n2) D)O(n)
18、如下不是堆是()。
A)(100,98,88,82,80,77,66,60,40,28,18)
B)(18,28,40,60,66,77,80,82,85,98,100)
C)(100,88,98,77,80,60,82,40,28,18,66)
D)(100,85,40,77,80,60,66,98,82,18,28)
19、顺序存储设计时存储单元地址()。
A)一定持续B)一定不持续
C)不一定持续D)某些持续,某些不持续
20、设一组权值集合W=(15,3,14,2,6,9,16,17),规定依照这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树带权途径长度为()。
A)129 B)219 C)189 D)229
21、设一组初始记录核心字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序第一趟冒泡排序结束后成果是()。
A)F,H,C,D,P,A,M,Q,R,S,Y,X
B)P,A,C,S,Q,D,F,X,R,H,M,Y
C)A,D,C,R,F,Q,M,S,Y,P,H,X
D)H,C,Q,P,A,M,S,R,D,F,X,Y
22、设有一组初始记录核心字序列为(34,76,45,18,26,54,92),则由这组记录核心字生成二叉排序树深度为()。
A)4 B)5 C)6 D)7
23、具备n个顶点无向图最多可包括()条边。
A)n-1B)nC)n(n-1)/2D)n(n-1)
24、设无向图G中边集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发进行深度优先遍历可以得到一种顶点序列为()。
A)aedfcb B)acfebd C)aebcfd D)aedfbc
25、对初始状态为递增序列表按照递增顺序排序,最省时间是()算法。
A)堆排序B)插入排序C)基数排序D)归并排序
二、填空题(2分×15=30分)
1、从题后给出选项中选取一种适当项填空。
1)在计算机内实现递归算法时所需要辅助数据构造是 ;银行排队系统实现时需要辅助数据构造是 。(可选项:栈、队列)
2)用二叉链表表达具备n个节点二叉树时,值为空指针域个数为 。(可选项:2n、n+1)
3)一种程序能确切地满足详细问题需求,表白此程序满足 规定;若能较好地解决异常,表白此程序满足 规定。(可选项:对的性、可读性、健壮性)。
4)向一棵二叉排序树中插入一种元素时,若元素值不大于根结点值,则应把它插入到根结点 上。(可选项:左子树、右子树)
5)在用于表达有向图邻接矩阵中,对第i行元素进行累加,可得到第i个顶点 度;而对第j列元素进行累加,可得到第j个顶点 度。
(可选项:出、入)
2、算法填空。
1)下列算法是在顺序表中第i个位置插入一种元素x,插入成功返回1,插入不成功返回0,将此算法补充完整。
intListInsert(Seqlist*L,inti,DataTypex)
{intj;
if(L->size>=MaxSize||i<0||i>L->size)
return0;
for(j=L->size;j>i;j--)
(1) ;
L->list[i]=x;
(2) ;
return1;
}
2)下面程序段功能是实现二分查找算法,将此算法补充完整。
structrecord
{
intkey;
intothers;
};
intbisearch(structrecordr[],intk)
{
intlow=0,mid,high=n-1;
while(low<=high)
{
(1) ;
if(r[mid].key==k)return(mid+1);
elseif( (2) )high=mid-1;
else (3) ;
}
return(0);
}
3)下面程序段功能是实现数据x进栈,规定在下划线处填上对的语句。
typedefstruct{ints[100];inttop;}sqstack;
voidpush(sqstack*s,intx)
{
if(s->top==m-1)printf(“overflow”);
else
{ (1) ;
(2) ;
}
}
三、计算分析算法题(每题10分,共20分)
1、写出下列二叉树先序、中序、后续遍历序列(10分)。
B
E
G
F
C
D
A
2、设一组12个数据元素核心字序列为{30,42,36,9,33,22,85,12,49,39},设哈希函数为H(key)=key%15,哈希冲突函数采用线性探测法,即冲突函数为:
d0=H(key)di=(di-1+1)%m(i=1,2,3,……)
其中,m为哈希表空间大小,并设哈希表空间大小m=15。
问题(1)构造数据元素序列哈希表,把核心字序列填到下表适当位置(8分)。
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
问题(2)计算该哈希表在等概率状况下查找成功平均查找长度ASL(2分)。
展开阅读全文