福建专升本计科类真题.docx
- 文档编号:6297187
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:28
- 大小:27.67KB
福建专升本计科类真题.docx
《福建专升本计科类真题.docx》由会员分享,可在线阅读,更多相关《福建专升本计科类真题.docx(28页珍藏版)》请在冰豆网上搜索。
福建专升本计科类真题
2010福建省高职高专升本科入学考试
软件工程
计算机科学与技术专业知识试卷
数字媒体艺术
(考试时间150分钟,满分300分,共三部分)
第一部分C语言程序设计(共100分)
一、单项选择题(本大题共30小题,每小题2分,共60分)
1、在C语言中,浮点型常量的表示方法错误的是()
(A)12.565
(B)0.0
(C)1.2521e2
(D)5.3^8
2、下面程序执行后的结果是()
#include
voidmain()
{
floatb=189.22;
printf("%2d",(int)b);
}
(A)189.22
(B)189
(C)18
(D)89
3、如果要对a,b,c三个变量赋予同一个初值5,如下语句错误的是()
(A)inta,b,c;a=b=c=5;
(B)inta=5,b=5,c=5;
(C)inta=5;b=5;c=5;
(D)inta=5,b=a,c=b;
4、设所有变量均是int类型,运行完表达式((a=4*6,a-3),a+22)后表达式的值为()
(A)46
(B)43
(C)0
(D)20
5、下列不能够正确得到a,b两个值中最大值,并把最大值赋予max的语句为()
(A)if(a>b)max=a;elsemax=b;
(B)a>b?
max=b:
max=a;
(C)a>b?
max=a:
max=b;
(D)a
max=b:
max=a;
6、已知floatx=6.5;inta=8;floaty=3.5;则表达式x+a%3*(int)(x+y)%2/4最后的值是多少()
(A)10
(B)6.5
(C)31.5
(D)0
7、关于算法的描述,错误的是()//此题不妥
(A)算法应具有零个或多个输入输出
(B)算法中的每一个步骤都必须是确定的
(C)算法可以是有限的,也可以是无限不停止的
(D)算法的输出可以是屏幕上显示,也可以是通过打印机打印
8、设a,b初始值分别是3和5,则如下程序执行完后,a和b的值分别是()
if((a=b)>0)b=a++;elsea=++b;
(A)6,5
(B)5,6
(C)5,5
(D)3,6
9、设a,b都是整数类型,要在键盘上输入a,b的值,则格式化输入函数应为()
(A)scanf("%d,%d",*a,*b);
(B)scanf("%d,%d",a,b);
(C)scanf("%d,%d",&a,&b);
(D)scanf("%d,%d",%a,%b);
10、已知a和b值分别是4和5,关于如下逻辑表达式,值为0的是()
(A)a||b
(B)!
a||b
(C)(a&&b)||0
(D)!
!
(a>b)
11、以下程序的输出结果是()
#include
voidmain()
{
inttop=5;
inttmp=0;
do
{
tmp*=top;
}while(--top);
printf("%d,%d\n",top,tmp);
}
(A)0,120
(B)1,120
(C)0,0
(D)1,0
12、已知有定义inta[10];,如下对数组a第5个元素引用中(数组的首元素为第1个元素),正确的表达式是()
(A)a[0]+4
(B)*a+4
(C)*(a+4)
(D)a[5]
13、假设二维数组a定义为floata[3][4],下列对数组第二行、第二列元素引用方法中,错误的为()
(A)*(a[0]+5)
(B)a[2][2]
(C)a[1][1]
(D)*(a[1]+1)
14、以下程序输出结果正确的是()
#include
voidmain()
{
intsum=0;
for(intn=0;n<10;n++)
{
if(n%2==0)
continue;
if(n%5==0)
break;
sum+=n;
}
printf("%d,%d",sum,n);
}
(A)4,5
(B)45,10
(C)2,1
(D)5,8
15、如下对字符串赋初值的方式中,错误的是()
(A)chart[10]={'h','e','r','e'};
(B)chart[]="here";
(C)chart[]={"here"};
(D)chart[10]='here';
16、如下常用的字符串操作中,实现两个字符串连接操作的是()
(A)strcmp
(B)strcat
(C)strcpy
(D)strstr
17、以下程序的输出结果正确的是()
intf(inta,int*b)
{
if(a>*b)*b=a;
return*b;
}
voidmain()
{
inta=9;intb=6;
intc=f(a,&b);
printf("%d,%d,%d",a,b,c);
}
(A)9,6,9
(B)9,9,6
(C)9,6,6
(D)9,9,9
18、一维数组a的定义为inta[10],对于如下函数定义,不能用f(a)调用的为()
(A)intf(int*x)
(B)intf(intx[])
(C)intf(intx[10])
(D)intf(intx)
19、以下程序的输出结果正确的是()
intp=1;intq=2;
intf(intp){p++;q++;returnp;}
intg(intx){p+=x;returnp;}
voidmain()
{
f(3);
g(5);
printf("%d,%d",p,q);
}
(A)6,3
(B)7,3
(C)6,2
(D)7,2
20、当函数中的局部变量在函数调用结束后不消失而保留原值,在下次调用该函数时,该变量已有值,那么申明该变量时需要使用何种关键字加以修饰()
(A)register
(B)const
(C)static
(D)extern
21、以下程序的输出结果正确的是()
voidmain()
{
inta[5]={0,1,2,3,4};
printf("%d,%d,%d,%d",*a,*(a+3)+1,a[2]+2,a[3]);
}
(A)0,3,2,3
(B)0,4,4,3
(C)0,1,2,3
(D)2,3,2,3
22、假设变量a,b初始值为4,5,通过swap(a,b)可以实现a和b值互换的函数定义为()
(A)voidswap(intp1,intp2){inttmp;tmp=*p1;*p1=*p2;*p2=tmp;}
(B)voidswap(int*p1,int*p2){int*tmp;*tmp=*p1;*p1=*p2;*p2=tmp;}
(C)voidswap(intp1,intp2){inttmp;tmp=p1;p1=p2;p2=tmp;}
(D)voidswap(int*p1,int*p2){inttmp;tmp=*p1;*p1=*p2;*p2=tmp;}
23、以下表达式中,不能够实现结构体stu中age域值加1的表达式是()
(A)stu.age++
(B)++stu.age
(C)stu.age+1
(D)stu.age+=1
24、要打开一个文本文件,并且向文本文件中写入相关信息,那么如下打开文件方式正确的是()
(A)FILEfp=fopen("filename.txt","w");
(B)FILEfp=fopen("filename.txt","r");
(C)FILEfp=fopen("filename.txt","rb");
(D)FILEfp=fopen("filename.txt","wb");
25、一下程序的输出结果正确的是()
intf(intn)
{if(n<=1)returnn;elsereturn(n+f(n-1));}
voidmain()
{
printf("%d",f(5));
}
(A)10
(B)5
(C)120
(D)15
26、有如下宏定义
#defineA100
#defineB2*A
对于表达式printf("A=%d,B=%d",A,B);宏展开后语句为()
(A)printf("A=%d,B=%d",100,2*A);
(B)printf("100=%d,2*A=%d",100,2*A);
(C)printf("A=%d,B=%d",100,2*100);
(D)printf("A=%d,B=%d",100,200);
27、关于结构体的叙述中,错误的是()
(A)一个结构体变量的指针就是该变量所占据的内存起始位置
(B)一个结构体变量中可以存放一组数据
(C)结构体变量可以作为函数传递的参数
(D)用结构体变量作实参时,采取的不是“值传递”的方式
28、以下程序的输出结果正确的是()
structroom
{
charroomName[20];
intL;
intW;
}r[2]={"101",3,4,"102",4,4};
voidmain()
{
printf("%sareais%d",r[1].roomName,r[1].L*r[1].W);
}
(A)printf("%sareais%d",r[1].roomName,r[1].L*r[1].W);语句错误
(B)102areais16
(C)101areais12
(D)102areais12
29、C语言提供的数据类型中,属于构造类型的是()
(1)整型
(2)字符型(3)浮点型(4)枚举类型(5)结构体类型(6)公用体类型(7)指针类型
(A)
(1)
(2)(3)
(B)(5)(6)
(C)(4)(5)(6)
(D)(7)
30、组成结构化程序设计的三种基本控制结构中,不包括()
(A)顺序结构
(B)选择结构
(C)循环结构
(D)嵌套结构
二、程序阅读题(本大题共4小题,每小题5分,共20分)
阅读下列程序,写出程序运行输出结果。
31、#include
voidmain()
{
charch[20]="Example354";
for(inti=0;i<10;i++)
ch[i]=(ch[i]>='A'&&ch[i]<='Z')?
(ch[i]+32):
ch[i];
printf("%s\n",ch);
}
32、#include
voidmain()
{
longintf1,f2;
inti;
f1=1;f2=1;
printf("%10ld\n",f1);
printf("%10ld\n",f2);
for(i=1;i<=6;i++)
{
f2=f1+f2;
f1=f2-f1;
printf("%10ld\n",f2);
}
}
33、#include
voidmain()
{
intf[][3]={{1,2,3},{4,5,6},{7,8,9}};
inttmp;
for(inti=0;i<3;i++)
{
for(intj=0;j
{
tmp=f[i][j];f[i][j]=f[j][i];f[j][i]=tmp;
}
}
for(i=0;i<3;i++)
{
printf("%3d%3d%3d\n",f[i][0],f[i][1],f[i][2]);
}
}
34、#include
intf(intn)
{
staticintf=1;
f=f*n;
returnf;
}
voidmain()
{
for(inti=1;i<=5;i++)
printf("%d!
=%d\n",i,f(i));
}
三、完善下列程序(本大题共2小题,每空4分,共20分)
请将答案写在答题纸相应的位置上。
35、下面程序首先输入一个十进制数,通过程序的转化,输出一个与之对应的八进制数。
#include
voidmain()
{
inti,j=0,k,a[100];
scanf("%d",&i);
do
{
k=__________;
i=__________;
a[j++]=k;
}while(i>0);
for(__________)
{
printf("%1d",a[j]);
}
}
36、下面程序求两个数的最大公约数,并输出该公约数。
#include
intMin(intL,intR)
{
if(L>R)returnR;
elsereturnL;
}
voidmain()
{
intL,R;
intResult;
scanf("%d,%d",&L,&R);
intmin=__________;
for(inttmp=1;tmp<=min;tmp++)
{
if(__________)
Result=tmp;
}
printf("%d",Result);
}
第二部分数据结构(共100分)
一、单项选择题(本大题共12小题,每小题2分,共24分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。
1、采用单链表方法存储线性表的特点是()
(A)数据元素的物理存储顺序与逻辑顺序相同
(B)不需要额外的存储空间来表示数据元素之间的逻辑关系
(C)插入和删除运算比较方便
(D)可以随机存取表中的数据元素
2、如果某线性表中最经常的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
(A)仅有头指针单链表
(B)仅有头指针的但循环链表
(C)仅有头指针的双向链表
(D)仅有尾指针的单循环链表
3、已知一个栈以及一个输入序列(A,B,C,D,E),每个元素按照A,B,C,D,E顺序进栈一次,进栈后可立即出栈,也可在栈中停留一段时间后再出栈,则不能得到()序列。
(A)A,B,C,D,E
(B)B,A,E,D,C
(C)C,B,A,D,E
(D)D,C,A,B,E
4、设初始序列为5,7,4,3,8,6,从后往前冒泡,则执行第一趟冒泡排序算法后得到的序列为(A)
(A)3,5,7,4,6,8
(B)3,4,5,6,7,8
(C)5,4,3,7,6,8
(D)5,4,3,6,7,8
5、如图1所示的二叉树,对应中序遍历的结果是()
A
/\
DF
/\
CE
(A)ADCDF
(B)CDEAF
(C)ACDEF
(D)CEDFA
6、二叉链表是用指针实现二叉树的存储结构,具有n个结点二叉树对应的二叉链表中指针域为空的个数为()
(A)2n-1
(B)n-1
(C)n+1
(D)2n+1
7、若二叉搜索树中各关键码值互不相同,那么最小值的结点()
(A)一定是分支结点
(B)一定是叶子
(C)一定无右孩子
(D)一定无左孩子
8、给定N个权值,则构造的哈夫曼树中的结点总数为()
(A)N
(B)2N-1
(C)2N
(D)2N=1
9、有n个顶点的连通图G的最小生成树有()条边
(A)n-1
(B)n
(C)n+1
(D)0
10、设单链表的类型定义如下:
typedefstructnode{
intelement;
structnode*next;
}LinkNode*p,*s;
设p指向链表中某一个结点,将s指向的结点插入到p结点之后的操作是:
()
(A)p->next=s;s->next=p->next;
(B)s->next=p->next;p->next=s;
(C)s->next=p;p->next=s;
(D)p->next=s->next;s->next=p;
11、对于快速排序算法,下列说法正确的是()
(A)初始序列基本有序的情况,快速排序的性能较差
(B)快速排序算法最好情况下的时间复杂度是O(n*n)
(C)快速排序所需要的附加空间复杂度是O
(1)
(D)快速排序是一种选择排序方法
12、设某个图的邻接表如图2,根据该临界表执行从顶点A出发的广度优先搜索算法,则经历的结点顺序为()
(A)ABCDE
(B)AEDBC
(C)ABCED
(D)ACBDE
二、填空题(本大题共6小题,每空2分,共16分)
13、各时间复杂度表达式为:
n!
、n*n、log2n、n,按照渐进阶从低到高的顺序排列,则排在第一位的表达式是__________
14、对同样的一组数据,合并、简单选择、直接插入和堆排序中,__________排序对内存容量要求最大。
15、一个无向图的连通分支定义为该图的__________连通子图,任何连通图有__________个连通分支。
16、一棵二叉树有11个度为0的结点,可以知道该二叉树中度为2的结点个数为__________个。
17、设循环队列中对头和队尾指针分别为front、rear,其中队头指向队列第一个元素的前一个位置,队尾指向最后一个元素,那么当front和rear的关系为__________,说明循环队列为空。
18、二叉树是有限结点的集合,这个集合要么是空集,要么是由一个根结点和两棵分别称为__________和__________的互不相交的二叉树组成。
三、应用题(本大题共4小题,每小题10分,共40分)
请将答案写在答题纸相应的位置上
19、根据图3所示树,画出对应孩子链表表示法和左孩子右兄弟表示法的示意图。
A
/|\
BCD
||
EF
/|\
GHI
20、已知一棵二叉树的中序遍历的结点序列为:
BDCEAFHG,后序遍历的结点序列为:
DECBHGFA,画出对应的二叉树,并写出该二叉树的前序序列。
A
/\
BF
\\
CG
/\/
DEH
21、给定元素序列:
(50,25,80,20,76,93),画出按照该序列构造的二叉搜索树。
22、对于给定的一组数据:
(20,39,79,61,15,58),给出对该组数据进行简单选择排序的每一趟过程。
四、算法设计题(本大题共2小题,每小题10分,共20分)
请将答案写在答题纸相应的位置上。
23、线性表采用顺序存储结构,类型定义如下:
#defineMAXSIZE100
typedefstruct{
intdata[MAXSIZE];
intlen;/*表中数据元素的个数*/
}seqlist;
设某顺序表L存放的数据已经递增有序。
完成下面算法,将x插入到表L的适当位置上,并且保持表L的递增有序,插入成功返回1,否则返回0。
intinsert_L(seqlist*L,__________)
{
inti;
printf("\n插入之前的元素序列:
");
for(i=0;i
printf("%d",L->data[i]);
if(__________)return0;
i=L->len-1;
while(i>=0&&L->data[i]>x)
{
__________;
i--;
}
__________;
L->len++;
printf("\n插入之后的元素序列:
");
for(i=0;i
printf("%d",L->data[i]);
__________;
}
评分标准:
每空2分,表达答案的含义即可,不必与以上答案完全一致。
24、假设循环单链表中即无头结点也无头指针,p指向该链表中某一个结点。
(1)写出该循环单链表用C语言描述的数据类型;
(2)设计一个算法删除p指向结点的前驱结点,成功返回1,失败(p结点为空或没有前驱)返回0。
第三部分关系数据库与SQL语言(共100分)
一、单项选择题(本大题共20小题,每小题2分,共40分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。
1、在数据库技术领域,术语DBMS指的是()
(A)数据库管理系统
(B)数据库系统
(C)对象关系数据库系统
(D)分布式数据库
2、以下常见软件中,属于数据库管理系统的是()
(A)Word2007
(B)Oracle10G
(C)Visio2003
(D)QQ2009
3、以下关于数据冗余的叙述中,不正确的是()
(A)数据库中不应该存在任何冗余
(B)冗余的存在将给数据库的维护增加困难
(C)冗余的存在可能导致数据的不一致性
(D)数据冗余是指在两个或多个文件或表中出现重复的数据
4、SQLServer2000是常用的一种数据库产品,它所基于的数据模型是()
(A)网状模型
(B)关系模型
(C)层次模型
(D)瀑布模型
5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。
要查找选修"COMPUTER"课程的"女"学生姓名,将涉及到关系()
(A)S
(B)SC,C
(C)S,C,SC
(D)S,SC
6、设有关系R和S如图-1:
则R与S进行差运算,其结果的元组数为()
(A)1
(B)5
(C)3
(D)2
7、一个规范化的关系模式至少应属于()
(A)BCNF
(B)3NF
(C)2NF
(D)1NF
8、设有关系R如图-2所示:
则进行关系运算。
。
。
后所得结果的元组数为()
(A)2
(B)3
(C)4
(D)5
9、当关系模型R(A,B)已属于3NF,下列说法中正确的是()
(A)一定消除了插入和删除异常
(B)可能仍存在插入或删除异常
(C)一定消除了插入异常
(D)一定消除了删除异常
10、在关系R1(S,SN,D)和R2(D,CN,NM)中,R1的主键是S,R2的主键是D,则D在R1中称为()
(A)主码
(B)主属性
(C)外键
(D)主键
11、在SQL中使用FOREIGNKEY时,与之配合的语句是()
(A)EXISTS
(B)EXCEPT
(C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 福建 计科类真题
![提示](https://static.bdocx.com/images/bang_tan.gif)