1、(word完整版)2007年福建专升本计算机科学类真题机密启用前 C012007年福建省高职高专升本科入学考试软件工程专业知识试卷(考试时间150分钟,满分300分,共三部分)答题说明:答案卸载答题纸相应的位置上,写在试卷上一律不给分。第一部 C语言程序设计(100分)一、单项选择题(本大题共30小题,每小题2分,共60分)在每小题列出的四个备选项中只有一个符合题目要求,请将正确答案代码填写在答题纸相应的位置上。写在试卷上不得分。1.下列选项中合法的C语言关键字是 A。VARB.charC。integerD.default2.若a为int类型,且其值为3,则执行完表达式a+=a=a*a后,a的
2、值是A.-3B.9C。-12D.63。设x、y、r均为int型变量,则执行完语句:x=y=3;t=+x|+y;后,y的值为A。不定值B。4C.3D.14.有以下程序段int k=0;while(k=1)k+;while循环的次数是A.无限次B。语法错误C。一次也不执行D.执行1次5。以下程序执行后sum的值是main()int I,sum;for(i=1;i6;i+)sum+=I;printf(dn,sum);A.15B。14C。不确定D。06。若变量a是int类型,并执行了语句:a=A+1.6;,则正确叙述Aa的值是字符CB。a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符A的AS
3、C值加上17.下列字符中,ASC码值最小的是A。AB。aC.ZD。z8.不能把字符串:Hello!赋给数组b的语句是A。charb10= H, e, l, l, o, ! B。charb10;b=Hello! ”;C.char b10;strepy(b, ”Hello! ”);D.char b10= Hello! ”;9。C语言中运算对象必须是整型的运算符是A%=B。/C。=D.=10。若变量已正确定义并赋值,下面符合C语言语法的表达式是A.a:=b+1B。a=b=c+2C。int 18。5%3D。a=a+7=c+b11。若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是A
4、1B。2C.2。0D.2.512. 能正确表示逻辑关系:”a10或a10的C语言表达是A。a=10 or a=10B。a=10a=10&a=10C。a=10|a=1013。有如下程序,运行该程序的输出结果是void main() int y=3,x=3,z=1; printf(%d dn”,(+x,y+),z+2); A.3 4B.4 2C.4 3D.3 314.有数组定义int a22=1,2,3;则a11的值为A。1B。2C。3D。015.有如下程序段int a=14,b=15,x;char c=ex=(ab)&(cB);执行完这段程序后,x的值为A。trueB.falseC。1D.016
5、.有以下程序,程序运行后的输出结果是void main()int I; for(i=0;i3;i+) switch(i) case 0:printf (”d,i);case 2: printf (”d”,i);default: printf (d,i); A.022111B.021021C。000122D。01217。若变量已正确定义并赋值,则下列条件语句中,功能与其他语句不同的是A.if(a) printf(%dn”,x);else printf(”dn”,y);B.if(a=0) printf(”%dn ”,y);else printf(”%dn,x);C.if(a!=0) printf(
6、dn”,x);else printf(”%dn”,y);D.if(a=0) printf(%dn,x);else printf(dn”,y);18。若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是A。for(i=1;i=5;d+)p=I;B. for(i=1;i=5;d+)p=1;p=I;C.i=1;p=1;while(i=5)p=i;i+;D. i=1;p=1;dop*=i;i+;while(i=5);19。有以下程序,运行后的输出结果是main()int a=7,b=8,p,q,*r; p=&a;q+b; r=p;p=q;q=r; printf(”%d, %d, d,
7、 dn”,p,*q,a,b)A。8,7,8,7B。7,8,7,8C.8,7,7,8D.7,8,8,720。以下选项中非法的表达式是A。0=x100B.i=j=0C.(char)(65+3)D.x+1=x+121。有定义语句:int ,xy;。若要通过scanf(”%d,%d”,x,y);语句变量x得到数值11,变量y得到数值12,下面四组输入形式,错误的是A.11 12B。11,12C.11, 12D.11, 1222.有以下函数定义void fun(int n,double x)若以下选项中的变量都已经确定并赋值,则对函数fun的正确调用语句是A。fun(int y,double m);B。
8、k=fun(10,12,5);C.fun(x,n)D.void fun(n,x)23.已定义以下函数fun(int p)return p该函数的返回值是A.不确定的值B.行参p中存放的值C。行参p所指存储单元中的值D。行参p的地址值24.有以下程序includestdio。h#define F(x,y) (x)*(y)void main()int a=3,b=4; printf(”dn”,F(a+,b+);程序运行后的输出结果是A。12B.15C.16D.2025.有以下程序void main() int a33,p,I; p=&a00 for(i=0;iScore);程序运行后的输出结果是A
9、。550550B。680680C.580550D。58068027.有以下程序void sort(int a,int n)int I,j,t;for(i=0;in-1;i+=2)for(j=i+2;jn;j+=2)if(aiaj)t=ai;ai=aj;aj=tvoid main()int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;ivoid main()char a=I am a boy。 ”,b20; int i,j; for(i=0,j=0;(a+i)!=0;i+) if((a+i)= )continue;(b+j)=(a+i);j
10、=j+1; (b+j)= 0; printf(”n%sn”,a); printf(%sn”,b)32。includestdio。h#define MAX(x,y) (x)(y)?(x):(y)void main()int a=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)10; printf(”%dn,t)33。#includevoid main()char a=”123456789”,p; int i=0; p=a; while(*p) if(i2=0)p;p+;i+; puts(a);34。includetypedef struct sudent char name10;
11、long sno; float score;STU;void main()STU a=”Zhangsan”,2001,95; ”Shangxian,2002,90; ”Anhua”,2003,95,d,*p=&d; d=a; if(strcmp(a.name,b。name)0)d=b; if(strcmp(c.name,d。name)0)d=c; printf(ddn,d.sno,pname);三、完善下列程序 (本大题共3小题,每空2分,共20分)请在答题纸相应的位置上填上正确答案.写在试卷上不得分。35。以下为递归法球n!的函数float fac(int n)float f;if(n0)p
12、rintf(error! ”);else if(n=0n=1)elsereturn( )36。以下函数把b字符串链接到a字符串的后面,并返回操作后a字符串的长度streen(char a。char b)int num=0,n=0; while((a+num)!= )num+; while(bn)*(a+num)=bn;num+; ; return( )37.从键盘上输入09十个数字组成的字符串存入数组S中,然后求数组S中09的个数分别是多少,最后输出。void fun(char *str,int *num)int I;while( )if (*str=9& ) str+;void main()
13、char s81; static int num10; int i; printf(”nPlease enter 1line strings(09):n”); scanf(%s”, ) fun (s,num); for(i=0;i10;i+) printf(d:%3dn,I,num1);第二部分 数据机构(共100分)一、单项选择题 (本大题共12小题,每小题2分,共24分)在每小题列出的四个备选项中只有一个符合题目要求,请将正确答案代码填写在答题纸相应的位置上。写在试卷上不得分.1.在待排序记录已基本有序的前提下,下述排序方法中效率最高的是A。直接插入排序B.简单选择排序C。快速排序D。归并
14、排序2。与数据的存储结构无关的术语是A。栈B.必散列表C.线索二叉树D。双向链表3。有个元素6,5,4,3,2,1按排序进栈,下列不合法的出栈序列是A.5,4,3,6,1,2B。4,5,3,1,2,6C.3,4,6,5,2,1D。2,3,4,1,5,64。排序存储方式的优点是A。存储密度大B。插入运算方便C。删除运算方便D。可方便地用于各种逻辑结构的存储表示5。对于只在表的首、尾继续拧插入操作的线性表,宜采用的存储结构为A.顺序表B.用头指针表示的单循环链表C。用尾指针表示的单循环链表D。单链表6.对包含n个元素的散列表进行查找,平均查找长度A.为O(logn)B.为O(n)C.为O(nlog
15、n)D.不直接依赖于n7.具有对称邻接矩阵的图是A。有向图B.无向图C。AOV图D.AOE图8.设表(a1,a2,a3,a32)中的元素已经按递增顺序排好序,用二分法检索与一个给定的值k相等的元素,若a1kelem i=(7) ;Lelem j=(8) ;void main()SeqList(9);int r,I;sq=( (10) )malloc (sizeof(SeqList));printf(请输入线性表的长度: );scanf(%d,r);sq-last= (11);printf(”请输入线性表的各元素值:n);for(i=0;i=sq;i+)scanf (%d,& (12) );Ad
16、justSqlist(sq);第三部分 关系数据库与SQL语言(共100分)一、单项选择题 (本大题共20小题,每小题2分,共40分)在每小题列出的四个备选项中只有一个符合题目要求,请将正确答案代码填写在答题纸相应的位置上。写在试卷上不得分。1. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者的关系是A.DBS包括DB和DBMSB.DBMS包括DB和DBSC.DB包括DBS和DBMSD。DBS就是DBMS,包括DB2。在关系理论中称为”元组”的概念,在关系数据库中称为A.实体B。属性C.行D。字段3。在关系数据库中,能对数据进行查询、插入、修改和删除操作的功能称为A。数据
17、定义功能B。数据管理功能C.数据控制功能D。数据操纵功能4.下列可用来实现表结构修改的命令是A.ALTERB。CREATEC。UPDATED.DROP5.关系数据库中,用户共同视图是数据库三级模式结构中的A.模式B。概念模式C,外模式D.存储模式6。在一个关系中,有可能用来唯一标识一个元组的对象,我们称这个对象为A。主码B。候选码C.主属性D.外码7.下列说法正确的是A.几个域做笛卡尔积运算的结果是一个集合,几个关系做广义笛卡尔积运算的结果不是一个集合B. 几个域做笛卡尔积运算的结果不是一个集合,几个关系做广义笛卡尔积运算的结果是一个集合C. 几个域做笛卡尔积运算,运算的结果是一个新的域D。
18、几个关系做广义笛卡尔积运算,运算的结果是一个新的域8.数据字典中不包括的内容有A。数据项B.数据结构C。数据流D.数据操纵9。数据的结构是以一个”二维表框架”组成的集合,这样的模型是A。关系模型B。层次模型C.网状模型D.实体联系模型10。关系数据库对数据的检索操作不包括A.投影B.连接C。比较D。选择11。关系R中的所有属性都是主属性,则R的最高范式是A.INFB.2NFC。3NFD.无法确定12。如下表所示的关系T,T是R和S做运算的结果,则R和S做的运算可能是RARBRCSASBSCabcabcbacabccababcabccabbaccabcabcabA。RSB.RSC。RSD。RS1
19、3。把局部E-R图合并成全局E-R图可能出现冲突,下列不属于合并冲突的是A.属性冲突B.语法冲突C.结构冲突D.命名冲突14。在E-R模型中,用来表示属性的图形是A.椭圆形B.平行四边形C.菱形D。矩形15。下列有关视图的说法,正确的是A。视图是虚拟表,它可以用来存储数据B.视图中所使用的表被删除,则此视图无法查询到数据C。视图可以用来查询数据,而且一定可以通过视图修改相应表数据D。视图只能用来查询数据,而无法通过视图修改相应表数据16。有一SQL语句CRANT SELECT ON student TO User1 WITH CRANT OPTION”,其中”WITH CRANT OPTION
20、”的作用是A.将系统权限授予User1B.允许User1将权限再授予其他用户C。暂时取消User1的所有权限D。将超级管理员的权限授予User117。下列对于Delete命令的描述正确的是A。可以用来删除关系B。可以用来删除数据库模式C.Delete和DROP等价D.可以用来删除表数据18。下列函数依赖关系正确的是A。若XY,WYZ,则XWZB。若XY,则XYC.若XYZ,XY,则YZD。若XY=,则XY19。在一个关系R中,下列说法正确的是A。主属性只有一个B。主属性的个数一定和候选码个数相同C.主属性可以有多个D.主属性的个数一定和主码个数相同20.同一个关系模式的任意两个元组值A。必须完
21、全相同B。主属性列必须相同C.不可完全相同D.非主属性列必须相同二、填空题 (本大题共9小题,每空2分,共20分)请在答题纸相应的位置上填上正确答案.写在试卷上不得分。21。数据模型是现实世界数据特征的抽象,数据模型通常由数据结构、数据的约束条件三要素组成.22。在数据库设计的各个阶段中,关系模式设计是在 阶段完成的23.设关系R和S的元数分别是2和5,关系T是R与S广义笛卡尔积的结果,即T=RS,则T的元数是24.数据库系统的三级模式结构中,将模式和内模式分开,保证了数据的25。自然连续是在广义笛卡尔积中选出同名属性上符合相等条件的元组,再进行,并且去掉重复的同名,组成新的关系。26。在关系
22、模式R(姓名、年龄、职位、出生日期)中,最有可能作为主关键字的属性是27。若属性A是关系R的主属性,则属性A不能取空值,这是完整性的体现.28。在非关系模型中对数据的操作,一次操作内容是一次记录:在关系模型中对数据的操作,一次操作内容是一29。若要创建一个唯一索引,需要使用关键字 来表示唯一。三、根据题意,写出实现以下查询的SQL语句(本大题共25分)请在答题纸相应的位置上填上正确答案.写在试卷上不得分。30。某图书馆的数据库有如下关系:读者R、书籍B、出版社P;读者借阅书籍产生新的关系“借阅RB” ;一个出版社可以出版多本书籍,一本书籍只能由一个出版社出版;关系模式如下:R(Rid,Rnam
23、e,RIDcard,Rphone),属性分别表示:读者编号、读者姓名、读者身份证号、读者电话;B(Bid,Bname,Bauthor,BpublishDate,Bprice,Pid),属性分别表示:书籍编号、书籍名称、作者、出版日期、书籍价格、出版社编号;P(Pid,Pname),属性分别表示:出版社编号、出版社名称;RB(RBid,Rid,RBborrowDate,RBstate),属性分别表示:借阅编号、读者编号、书籍编号、借阅日期、借阅状态;(1) 为了提高查询速度,需要在RB表上通过Rid和Bid两个字段建立一个索引,索引名1X_RB,请写出创建此索引的SQL语句(4分)(2) 为了方
24、便查询出读者、书籍和借阅表的数据,请通过R、B和RB三个关系做内连接操作,创建一个视图,视图名为VIEW_RB,请写出创建此视图的SQL语句(4分)(3) 通过VIEW_RB查询出被借阅次数超过(包括)100次的书籍名称。(在书籍B中Bname属性值是唯一的)(4分)(4) 查询出有借阅过书籍编号为B001号和B002号两本书的读者姓名和读者电话。(4分)(5) 查询出书籍名称中包含有数据库三个字符的所有书籍名称和作者。(3分)(6) 请把读者编号为R012的读者电话修改为0123-12345678。(3分)(7) 查询出福建出版社出版的价格最贵的3本书的书籍名称和书籍价格。(3分)四、计算题
25、 (本大题共2小题,第31题6分,第32题9分,共15分)请在答题纸相应的位置上填上正确答案。写在试卷上不得分.31。设有关系R(V,W,X,Y,Z),各个属性的函数依赖集合有F=WXY,ZV,XZ,问:(1) 关系R的候选码是什么?(1分)(2) 关系R的范式等级是什么?(1分)(3) 关系R时候达到3NF?如果没有,请把关系R进行分解,使分解后的关系达到3NF,写出分解后的关系.(4分)32。使用关系代数描述下列查询:(关系数据库模式同第30题)(1) 查询借阅状态为借出的书籍名称.(3分)(2) 查询出张三所借阅过的所有书籍名称.(3分)(3) 查询出有借阅过书籍编号为B003,但没有借
26、阅过书籍编号为B009书籍的读者姓名和读者电话。(3分)1. A。 10B。 25C. 55D. 752. 语句:printf(“%8.4d ”, 36); 执行时的输出结果是(表示空格)_.A. 036B。 -036C。 -036D. -036 3. 如下程序段的输出结果是_。main( ) int a10 = 34 , 22 , 12 , 66 , 8 , 33 , 22 , 338 , 56 , 99; int i , x = 0; for(i = 1 ; i 10 ; i+) if(ai ax) x = i; printf(“%d” , ax);A。 8B. 34C. 99D。 338
27、4. 如下程序段的输出结果是_。main( ) char str = s , t , u , d , e , n , t , 0; char q = str ; while(q != 0) q+; printf(“d” , q str) ;A. 5B。 6C. 7D。 85. 如下程序段的输出结果是_.define n 5struct student int no; float score; main( ) struct student stun = 1,12。5,2,55。5,3,90。5,4,78.0,5,34.0; int i; float a = 0 , b ; for(i = 0 ;
28、 i n ; i+) a += stui.score ; b = a / n ; printf(“08。4f” , b) ;A. 0054.1000B。 054.1000C. 0054。1D. 54.10000二、程序阅读题(本大题共4小题,每小题5分,共20分)阅读下列程序,请将运行时输出的结果写在答题纸相应的位置上。6. /*程序段中表示空格/include void main( ) char str1 = “goodmorning!” , str220 ; char p , *q; for( p = str1 ; *p != 0 ; p+) ; for(q = str2 ; -p = s
29、tr1 ; q+) *q = p ; *q = 0; printf(“s” , str2) ;7. #include stdio.h#define n 10void de(int a , int x , int m) int i = x + 1 ; for( ; i = m ; i+) ai-1 = ai; *m = *m - 1;void main( ) static int an = 32 , 12 , 12 , 56 , 78 , 12 , 78 , 5 , 32 , 12; int i , j , x , m = n1 ; for(i = 0 ; i = m ; i+) x = ai ; for(j = i+1 ; j = m ; j+) if(aj = x) de(a , j , &m) ; for(i = 0 ; i = m ; i+
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100