2021年广东省广州市全国计算机等级考试数据库技术真题(含答案)_第1页
2021年广东省广州市全国计算机等级考试数据库技术真题(含答案)_第2页
2021年广东省广州市全国计算机等级考试数据库技术真题(含答案)_第3页
2021年广东省广州市全国计算机等级考试数据库技术真题(含答案)_第4页
2021年广东省广州市全国计算机等级考试数据库技术真题(含答案)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2021年广东省广州市全国计算机等级考试

数据库技术真题(含答案)

学校:班级:姓名:考号:

一、1.选择题(10题)

1.在Oracle数据库系统中,可以建立一种称为聚簇(cluster)的结构,这

是为了O

A.维护安全性B.加快查询速度C.维护完整性D.便于数据库恢复

2.在数据库的三级模式结构中,内模式有

A.1个B.2个C.3个D.任意多个

3.PowerDesigner中用于创建和维护双层数据模型的组件是()。

A.ProcessAnalystB.DataArchitectC.MetaWorksD.AppModeler

4.关于数据库技术的发展历史,下列说明不正确的是

A.关于模型数据库系统属于第一代数据库系统

B.新一代数据库系统具有很好的开放性

C.新一代数据库系统包含关系数据库管理系统

D.新一代数据库系统支持面向对象技术

5.对一棵70个结点的完全二叉树,它有个非叶结点。

A.35B.40C.30D.44

6.数字签名与手写签名的差别是

A.数字签名是所签文件的物理部分,手写签名不是所签文件的物理部分

B.手写签名是通过和真实的手写签名比较来验证,不易于伪造

C一个手写签名的拷贝容易与原文件区别,因此易于拷贝

D.数字签名能通过一个公开的验证算法来验证,比较安全

7.在分时系统中,若给定时间片一定,若(),响应时间越短。

A.内存越大B.用户数越多C.内存越小D.用户数越少

8.在基本SQL语言中,不可以实现()。

A.定义视图B.定义基本表C.查询视图和基本表D.并发控制

9.在学生表STUD中,查询年龄在20至23岁之间的学生的姓名(XM)、

年龄(SA)和所在系(SD),实现该功能的正确SQL语句是

A.SELECTXM,SA,SDFROMSTUDWHEREBETWEEN20<

SA<23;

B.SELECTXM,SA,SDFROMSTUDWHERESABETWEEN23

AND20

C.SELECTXM,SA,SDFROMSTUDWHERESANOTBETWEEN

20AND23

D.SELECTXM,SA,SDFROMSTUDWHERESABETWEEN20

AND23

10.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分

法查找键码值11需要经过次比较。

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

二、填空题(10题)

11.在数据库的三级模式体系结构中,外模式与模式之间的映像(外模式

/模式),实现了数据库的【】独立性。

12.能够模式化为维属性和度量属性的数据统称为数据。

13.系统中有N个进程,则进程就绪队列中最多有【】个进程。

14.虚拟局域网是建立在交换技术的基础上,以软件方式实现

工作组的划分与管理。

15.虚电路的工作方式的工作过程分为3个阶段:虚电路建立阶段、

阶段与虚电路拆除阶段。

16.FTP协议规定:向服务器发送_________命令可以进入被动模式。

17.若Dl={al,a2,a3},D2={bl,b2,b3},则D1?D2集合中共有元组

个。

18.严格两阶段锁协议要求对更新的封锁必须保持到事务的终点。

19.在多道程序设计中,为了保证系统的安全,将指令系统中的指令分为」]_和非一两部分。

20.用二维表结构表示实体以及实体间联系的数据模型称为数据

模型。

三、单选题(10题)

21.链栈与顺序栈相比,有一个比较明显的优点是()

A.插入操作更加方便B.通常不会出现栈满的情况C.不会出现栈空的

情况D.删除操作更加方便

22.文件可存放在磁盘、磁带等多种存储介质上,通常只能按记

录的顺序存取,对这种文件进行更新,原则上需对文件做整体拷贝。

A.索引文件B.索引顺序文件C.顺序文件D.直接文件

23.PowerBuilder具有的功能特点包括()。

I.提供了良好的跨平台性

II,具有自己的编程语言PowerScript

HI.是一种面向对象的开发工具

IV.事件驱动的程序设计方式

A.I和nB.I和mc.ii、m和wD.全都是

24.下面关于通道的叙述中,正确的是()I.通道相当于一个功能简

单的处理机II.通道完成数据输入输出工作m.通道与CPU共

用一个内存

A.I和IIB.I和niC.II和niD.都是

25.栈和队列是两种重要的线性结构,对它们的描述错误的是()。

A.栈顶是允许操作的一端,栈底是不允许操作的一端

B.表达式求值一般采用栈来实现

C.队列是一种先进先出的线性表,允许对队列两端进行操作

D.队列可以用链式存储结构

26.在E-R图和数据流图中都使用了方框,下列说法中有错误的是()

A.在E-R图中表示实体B.在E-R图中表示属性C.在数据流图中表示起

点D.在数据流图中表示终点

27.在关系代数的连接操作中,连接操作需要取消重复列的是()。

A.自然连接B.笛卡尔积C.等值连接D.0连接

28.在关系数据库系统中,一个关系相当于()

A.一张二维表B.一条记录C一个关系数据库D.一个关系代数运算

29.采用SPOOLing技术的主要目的是()o

A.提供内存和磁盘的接口B.减轻用户编程负担C.提高CPU和设备交

换信息的速度D.提高独占设备的利用率

30.在计算机硬件系统的基本组成中,完成解释指令、执行指令的功能

部件是

A.运算器B.控制器C.存储器D.输入输出设备

四、C语言程序设计题(10题)

31.已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数

ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,

其功能要求:

1.求出该文件中共有多少个正整数totNum;

2.求这些正整数右移1位二进制位后,产生的新数是奇数的数的个数

totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjzo

最后main函数调用函数WriteDat把所求的结果输出到文件out.dat

中。

注意:部分源程序存放在test.c文件中。

请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat

和输出函数WriteDat的内容。

•include<stdio.h>

2!IdefineMAXNUM200

3\intxx[MAXNUM|;

4;inttotNum-0;〃文件In.dau中年有名少个正整数

5;mttotCnt■0;〃符合条件的正整数的个被

6;doubletotPjt-0.0;〃平

7;intReadDat(void);

6;voidWriteDat(void);

voidCalValue(void)

11;

12!

13;voidmalnO

14;

inti;

16for(i-0;i<MAXNUM;if

17xx(1]-0;

18if(ReadDat())

19

20prlntf("数据文件in.dat不能打开!\007\n");

21return;

22

23CalValue();

24printsL文件in.dat中共有正整数7d个\n",totNum);

25print。L符合条件的正整数的个数-、d个\n,tocCnt);

26printf平均值=$・21f\n・,totPjz);

27WriteDatO;

28

八源取这若干个正■敏并存入室ifiix中〃

29IntReadDat(void)

30

31FILE*fp;

32inti-0;

33if((fp-fopen(-In.dat-,-r-D-NULL)

34return1;

35while(!feof(fp))

",

37fscanf(fp,7d.e.&xx(i+>]);

38

39fclose(fp);

40return0;

41

/♦把计翼站累存入文件iut.dat中〃

42voidWriteDat(void)

43

44FILE*fp;

45fp-fopen(**out.dat",**w0>;

w

46fprintf(fp,*%d\n%d\ni.21f\n,totNum,totCnt,totPji);

47fclose(fp);

48

32.已知数据文件in.dat中存有300个四位数,并已调用读函数readDat

把这些数存入数组a中,请编制一函数jsValue,其功能是:求出于位数

上的数加个位数上的数等于百位数上的数加十位数上的数的个数ent,

再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位

数按从小到大的顺序进行排序。最后main函数调用写函数writeDat把

数组b中的数输出到文件out.dat中。

例如;6712,6+2=7+l.则该数满足条件存人数组b中,且个数

8129,8刁!-1,2.则谈数不清足条件忽略.

注意,部分源程序存在t«Lc文件中.

程序中已定义数Mb1(300].b(300).已定义变量,ent

请勿改动数据文件m.dat中的任何数据、主函数皿必()、读语UreadDatO和写的数writcD叫)的内容.

;Iinclude<stciio.h>

:inta[300),b[300J,cnt-0;

!voidwriteDat();

4ivoidreadDat();

5;voidjsValue()

7

mainO

10;

11!inti;

12\readDat();

13jjsValueO;

14;writeDat();

15;printfent);

16Jfor(i•0;i<ent;

HM

17«printf(b[%d]-%d\nri9b(ij);

18j

19!voidreadDat()

20।

21iFILE・fp;

22;int1;

23jfp■fopen("in.dat"#*r**)i

24;forfi-0;i<300;i++)

25jfdcanf(fp^**%d,",&a(i]

26;fclose(fp);

271)

28ivoidwrite£>at()

29\I

30•FILEefp;

31।int1;

32.fp-fopen(wout.dat**,Ww");

33jfprintf(fp,"d'n”,cnt>;

34;for(i*0;i<ent;“♦)

35•fprintf(fp,Fd\n”,bll]);

36ifclose(fp);

37h

33.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat

把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把千位数

字和个位数字重新组成一个新的含有两位数字的数(新数的十位数字是

原四位数的千位数字,新数的个位数字是原四位数的个位数字),以及把

百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数

字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如

果两个新组成的数均是奇数并且至少有一个数能被5整除,同时两个新

数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存

入数组b中,并要计算满足上述条件的四位数的个数ent。最后main函

数调用写函数writeDat把结果ent以及数组b中符合条件的四位数输出

到Out.dat文件中。

注意:部分源程序存在testx文件中.

程序中已定义数组:M200),b{200b巳定义变lbent

请勿改动数据文件in.dat中的任何数据、主求数main。、读函数readDatO和写函敏而teDatO的内容.

1\*include<stdio.h>

2jtdefineMAX200

3jinta{MAX],b【MAX],ent-0;

4{voidwrlteDat();

voidjsVal()

6

8

9voidreadDat()〃从in.dat:文件中或取200个四位数存入教统△中

10

11int1;

12FILE*fp;

nRw

13fp■fopen("in.datrr);

14for(i*0;i<MAX;

15fscanf(fpvAaf12):

16fclose{fp);

17

18voidmainO

19(

20int1;

readDat();

22,isValO;,,通用曲数WValU,家JUi目■氽的功傕

23;print-"满足条件的数~Qd\n".ent);

24!for(i•0;i<ent;

25;printf(H%dLb[i]);

261printfC,\nw);

27»writeDat();

28;)

29!voidwriteDdt()〃把计算的果b以及数能b中用合条件的四位数■出到Mdu文件中

30j1

31;FILE*fp;

32!inti;

33ifp-fopen("out.dat**/Ww**);

R

34-fprintf(fp/"%d\n/ent);

35\for(i-0;1<ent;

36;fprintf(fp,7d\M,b[i]);

37!fclose(fp);

38।)

34.程序test.c的功能是:将大于整数m且紧靠m的k个素数存入数组

XX。请考生编写函数num(intm,intk,intxx口)实现程序的要求,最后调

用函数readwriteDATO把结果输出到Out.dat文件中。

例如,若输入17,5,则应输出:19,23,29,31,37O

注意:猿分源程序存在gtx文件中.

请勿改动数据文件mdat中的任何数据以及I一函敷main。和输出函数rcsdwritcDAT。的内容.

♦include<stdio.h>“include语句说明各悭序中包含vc6.0中的标常■人■出牌嫉数suho.h

2voidreadwriteDAT();〃曲依retd^naDATO说噌诵句

3intis?(intm)〃函tkiaP(lnLtn)就新m是否为It敏,如果是素敷则返回1,否则返回0

4(

5Int1;〃定义变量£

6for(i-2;i<m;1♦♦)〃殳■士从2依次域•到所1

7if(m%i•»0)return0;〃如柬m能被i■除,运回o

8return1;//否剜返回l

9)

10voidnum(intM.intk.intxx(])

11

12

13

14main()

IS(

16intm,n,xxflOOOJ;〃宓又变量!n.n和故跑xx[10。。]

17printf(w\nPleaseentertwointegers:*);

18scanf<-%dr%d-r&n);〃从健室读入四个敷M蛤受假叫n

19num(m*n,xx);〃■网函Iknumuntm,mtk.tntKJ)实现特大于Wtin且的k个点效存入敷ttix*

20for(m-0;m<n;m++>〃安量、从。依次埸增到n-1

21printf("id3xx(m));〃•出京盥元索xx【oi]

22printf(**\nR);〃•出一个回军换行将

23readwrit©DAT(H//M用#tkZwritcDATOT砧果■出到wtdai文仲中

24)

25voidreadwriteDATO〃也败mdwrtteMT八的定义耐句

26(

27intm,n,xx(1000),i;〃定义就《变■m.nJ和数组xx[1000]

28FILE•1£.*wf;〃定义文件指计交■「£.wf

29rf-fopenCin.dat","r””〃以只&的方式的打开文件s.daj并用cf摘向这个文件

30wf-fopen(^out.daf,'”);//以只有的方式的打开文件。ut.daj并网Xf指向这个文件

31for(i-0;i<10;[♦+)〃修旧变量上从0依次降*到9

32(

R

33fscanf(rf,”d%d,&m,&n);〃从文件in.&【it入两个故值M绐m.n

34num(mrnrxx);〃■用/敬洪Vknum(tn・k.HJ)实现特大于整触mH窜8m的k个素数存入依(8u

35for(m-0;ro<n;m,+)〃微环殳从。依次埸**n-1

36fprintf(wf,"%d**.xx(m]);〃把数ifl元*xxlm]不入到文仰。ue.dat中

w

37fprintf(wfr\n-);〃纪回+偿行杼写入到文科mt.dat中

381

39fclose(rf);〃关闭♦入文件In.dAt

40fclose(wf);〃关册■出文件out.cut

41

35.已知数据文件in.dat中存有200个四位数,并已调用读函数readDatO

把这些数存入数组a中,请考生编制一函数jsVal,其功能是:依次从数

组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数

且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此

条件的个数ent并把这些四位数按从小到大的顺序存入数组b中,最后

调用写函数writeDat把结果ent以及数组b中符合条件的四位数输出到

Out.dat文件中o

注意:部分源程序存在test.C文件中。

程序中已定义数组:a[200],b[200],已定义变量:ent

请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat

和写函数writeDat的内容。

1;linclude<stdio.h>

2;fdefineMAX200

3i£nta(MAX]#b[MAX],ent«0;

4;voidwriteDat();

5!voidjsVal()

8”

;/•readDat"从数界文件in,dit中录队200个四位数存入数组•中•/

9•voidreadDat()

10j(

11;inti;

FILE*fp;

Rw

13fp-fopen(ln.dat,"r");

14for(i-0;1<MAX;if

15fscanf(fp,"W.&a[i]);

16fclose(fp):

17

18voidmain()

19

20,int1;

21!readDat();

22;jsValO;〃调用”Vah)曲故,实现KH要求的功能

23\printf("湎足条件的数=Sd\n-,ent);

24•for(i■0;i<ent;1+♦)

25;printf(0%d”,b(i]);

261printf;

27'writeDat():

28;|

•函数writeD叫)和端聚cm以及数赳b中符合条件的四位数■出到oul4at文件中♦/

29;voidwriteDat()

30

31FILEefp;

32inti;

33fp=»fopen("out.dat",Ww");

34fprintf(fp#ent);

35for(1=0;i<ent;

36fprintf(fp/"$d\n”,b[i1)

37fclose(fp);

38

36.将文件in.dat中的200个整数读至数组XX中。请编制jsValue函

数,要求:求出数组XX中的数值为奇数的个数cntl和数值为偶数的个

数cnt2以及数组XX下标为奇数的元素值的算术平均值pjo

结果cntl,cnt2,pj输出到out.dat中。注意:部分源程序存在test.c

文件中。请勿改动数据文件in.dat中的任何数据、主函数main、读函

数read_dat和输出函数writeDat的内容。

1tlnclude<stdio.h>

2,defineN200

3Intchtl«5t2rxx[NJ;

4floatpj;〃平均值

5voidwriteDat();

6voidjsValue()

7

e

9

/•ro4d_d«t(intxxlN”/敷典文ftiiutot中的200个・收0至IWlu中•/

iovoidread_dat(intxx[N])

ii(

12intirj;

13FILE*fp;

w

14fp«fopen(**in.d3t,"r");

15for(1•0;i<20;

16(

17for(j-0;j<10;

18

19fscanf(fp«"dj,^xx(i*10*jJ);//从文件n&i中it取一个整数打入敷馔元索xx【l・107】中

20printf("%d",xx[i*10*j));

21]

22printf(*\nw);

23]

24fclose(fp);

25

26voidmain()

27(

28read_dat(xx);

29;jsValue();

30?printf(w\n\ncntl-%d,cnt2・*d,p]・56.2f\n",cntl/ent2,;

iPj>

31IwriteDat();

•/•樽计算笳果end.cm2,pj■出JNouLdai中,/

33ivoidwriteDat()

34y

351FILE*fw;

36;fw-fopen("out.dat*\Hww);

w〃・讨写人到中

37!fprintf(fwr"%d\n%d\n%6.2f\n9cnt2,pj);cmlcm2,ouLdai

38ifclose(fw);

39;1

37.函数readDat是从文件in.dat中读取20行数据存放到字符串数组

XX中(每行字符串长度均小于80)。请编制函数isSort,其函数的功能

是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍

按行重新存入字符串数组XX中,最后调用函数writeDat把结果)XX输

出到文件Out.dat中。

条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,

右边部分不作处理,排序后,左边部分与右边部分按例子所示进行交换。

如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原

位置上。

例蛆位置012345678

源字符串abcdhgfe

123498765

则处理后字符串hgfcdcba

876594321

注意:部分源程序存在(estc文件中.

请勿改动数据文件in.dat中的任何敷据、主函数读函数rcadDatO和写函数wnieDaU)的内容.

1Jlinclude<stdio.h>

2j*include<string.h>

3:charxx[201(80);

4voidreadDat();

5voidwrlteDat();

6voidjsSort()

7

8

9

10voidmain()

11

12readDat();

13jsSort();

14wrlteDat("

15

/•从文件indii中注取20打数究存放到字符率依蛆xx中•/

16voidreadDat()

17!(

18•FILE-in;

19•inti-0;

20char*p;

nw

21in=fopen(in.dat,"D;

22while(i<20“fgets(xx{i]v80.in)NULL)

23

24p-strchr(xx(ij,•\n,);

25if(p)*p•0;

26

27]

28fclose(in);

29;)

\/,史州Rxx*出到文件outt中•/

30jvoidwriteDat()

31

32FILE*out;

33int1;

34out•fopen(*out.datw/**wM);

35for(i»0;1<20;if)

36(

37printfxx[i));

38fprintf(out,xxri!);

39)

40fclose(out);

41

38.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat

把这些数存入数组a中,请考生编制一函数jsVal,其功能是:从数组a

中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千

位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位

数的个位数字,新数的个位数字是原四位数的千位数字),以及把百位数

字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原

四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个

新组成数:一个是奇数,另一个为偶数,并且至少有一个数能被17整

除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入

数组b中,并计算满足上述条件的四位数的个数ent,而后对数组b进

行降序排序。最后main函数调用写函数writeDat把结果ent以及数组b

中符合条件的四位数输出到out.dat文件中。

例如:一个四位数为4512,依题意组成的第一个新数为24,第二个新

数为51,其中51能被17整除,这两个新数的十位数字不为零,则4512

这个四位数满足题意所规定条件。

注意1部分源程序存在test.c文件中.

程序中已定义数组:a[200].b[200],已定义变量;ent

请勿改动数据文件in.cUl中的任何数据,主函数读函数rcadDatQ和号函数wrisDat。的内容.

1!!include<stdio.h>

2iIdefineMAX200

3;intalMAX],b[MAX],ent,0;

A!voidwriteDat():

5ivoidjsVal()

6

7i

8i\

9jvoidreadDat()〃从in.dau文件中灌取200个四位数存入软力Ia中

10;(

11।inti;

12!FILE*fp;

13ifp-fopen(Hin.datw,**rM);

14•for(i-0;i<MAX;

M

15|fscanf(fp^"%dr[1];

16;fclose(fp);

17!1

181voidmain()

20int1;

21readDat();

22jsValO;〃,用确效”如襄求的功睫

23printf("清足条件的数7d\n”,ent);

24for(i■0;i<ent;

25printfb(i]);

26printf("\nw);

27writeDat();

28

29voidwriteDat()〃把计算储果ent以及做tHb中符合条件的四位依■出到皿加文件中

30(

31FILE*初

32int1;

33fp-fopen(wout.datR,Ww**);

34*fprintf(fpr"id\n"#ent);

35jfor(i■■0;i<ent;i++)

36fprintf(fprfd\n".b[1]);

37fcloae(fp);

38

39.程序test.c的功能是:计算100以内满足以下条件的所有整数i的

个数ent以及这些i之和sum。条件:i,i+4,i+10都是素数,同时i+10

小于100o请考生编写函数countvalue实现程序要求,最后调用函数

wfiteDAT把结果ent和sum输出到文件out.dat中。(数值1不是素数)

40.

函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数

组XX中,请编制函数ConvertCharD,其函数的功能是:以行为单位把

字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,

则改写成字母z,其他字符保持不变。把已处理的字符串仍按行重新存

入字符串数组xx中。最后main函数调用函数WriteDat把结果xx输出

到文件out.dat中。例:原文:Adb.Bcdza

abck.LLhj结果:Aca.Bbcyzzabj.LLgi原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格。

注意:部分源程序存放在test.c文件中。

请勿改动主函数main、读函数ReadDatO和输出函数WriteDat的内容。

2itinclude<string.h>

4jIntmaxline-0;/•文章的总行H•/

5iintReadDat(void);

6;voidWrlteDat(void);

•八以钎为♦位星字符串中的析有小耳字时改写成;6字母的上一》字母,如果驰?维・,■改写〉字用人Mlfe字符保的不变・

7jvoidConvertCharD(void)

8iJ(

9•

10;1

11»voidmain()

12jI

13[if(ReadDatO)

14!(

15!printf厂数据文件in.dat不能打阴\n\007*,);

16ireturn;

17;,

18jConvertCharD<>;

19jWriteDat();

20•)

!/♦从文件中it以・英文文拿存入到字符如及物u中•/

21•intReadDat(void)

22!1

23!FILE•tp;

24iint1-0;

25•char・p;

26•if((fp-fopen("in.dat**r-r"))~NULL)

21;return1;

28!while(fgets(xx(ijr80>fp)!•NULL)

29;(

30!p-atrchr(xx(l],*\n*>;

31!if(P)*p•0;

32i

33j)

34*tnaxline-1;

35!fclose(fp);

36;return0;

37j)

\/♦!£结果u•出=文件ouLdai中•/

3B?voidWriteDat<void)

39j(

40;FILE•fps

41•int1;

w

42-fp-fopen(out.dat*r**w");

43:for(1-0?1<moxllno;

44\(

45!printfxx(iJ);

46;fprintf(fp,*%s\nw,xxlij);

47!)

49jfcloae(fp);

49­)

五、设计与应用题(2题)

41.设某连锁商店数据库中有关系模式R:R(商店编号,商品编号,库

存数量,部门编号,负责人)如果规定:每个商店的每种商品只在一个

部门销售,每个商店的每个部门只有一个负责人,每个商店的每种商品

只有一个库存数量。(10分)(1)请根据上述规定,写出关系模式R的

函数依赖集;(2)请给出关系模式R的候选码;(3)请说明关系模式R

属于第几范式,并给出理由;(4)请将R分解成满足3NF的关系模式。

42.某教务管理系统使用SQLServer2008数据库管理系统,数据库软硬

件配置信息如下:I.数据库运行在两路IntelXeonE5-26092.4GHz

CPU(每路CPU4核心),128GB内存、2块300GB15000转SAS硬盘

(RAID1)的服务器上;II.服务器操作系统为Windows200332位企

业版安装SP2补丁.数据库为SQLServer2008Enterprise(32位),

数据库中总数据量近130GB。近一个学期以来,用户反映系统运行缓慢,

经程序员定位,确定为数据库服务器响应缓慢,需要进行调优。(10分)

六、单选题口分K2题)

43.设在SQLServer2008中,用户U1在DB1数据库中创建了#Temp表。

下列关于#Temp表的说法中,正确的是()。

A.只有在创建#Temp表的连接中才可以查询#Temp表数据

B.在所有用户U1发起的连接中,都可以查询#Temp表数据

C.在创建#Temp表的连接未断开时,DB1数据库的所有用户都可以查询

#Temp表数据

D.在创建#Temp表的连接断开时,DB1数据库的所有用户仍可以查询

#Temp表数据

44.效率低下的SQL语句往往是导致系统性能不佳的主要原因。设有如

下优化系统性能的方法:I.利用存储过程封装频繁使用的SQL语句

II.重新安排数据存储,整理回收碎块ni.不要随意使用游标w.合理

使用相关子查询V.调整表结构定义以上属于优化SQL语句执行效率

方法的是()o

A.I、m、WB.i、m、vc.ihw、vD.i、w、v

参考答案

l.B解析ORACLE通过一种称为“聚簇(cluster)”的结构而将两个或两个

以上的表结合在一起,以提高查询速度。

2.A解析:数据库通常采用三级抽象模式结构:模式、外模式和内模式。

内模式也称存储模式、物理模式或数据库模式,它是数据物理结构和存

储结构的描述,是数据库在数据库内部的表示方式。一个数据库只有一

个内模式。相关知识点:模式也称逻辑模式,是数据库中全体数据的逻

辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一

个模式。外模式又称子模式或用户模式,它是数据库用户能够看见和使

用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。外

模式通常是模式的子集,一个数据库可以有多个外模式。

3.B解析:PowerDesigner是一个功能强大而使用简单的工具集,支持从

处理流程建模到对象和组件的生成的应用开发生命周期的各个阶段,其

中DataArehitect模块用于创建和维护双层数据模型,即概念数据模型和

物理数据模型。

4.A解析:第二代数据库系统是指支持关系模型的关系数据库系统。

5.A解析:深度为k的,有n个结点的二叉树,当且仅当其每一个结点

都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完

全二叉树。对一棵结点数为n的完全二叉树,其叶结点的个数为对n/2

取整。

6.D解析:手写签名是所签文件的物理部分,数字签名不是所签文件的

物理部分。手写签名是通过和真实的手写签名比较来验证,易于伪造。

数字签名能通过一个公开的验证算法来验证,比较安全。一个手写签名

的拷贝容易与原文件区别,因此不易拷贝。

7.D解析:响应时间是指用户从提出请求到任务完成的时间,用户数越

少,每个用户在单位时间内得到处理的次数更多,完成任务的时间就更

提前,响应时间也就越短。

8.D解析:SQL语法简单,功能极强,核心功能有数据定义功能、数据

操纵功能数据查询功能和数据控制功能。在数据控制中基本的数据控制

语句有GRANT、REVOKE,用来实现数据库的安全控制。

9.D解析:在SQL的查询语句SELECT中,使用WHERE子句可实现

查询满足指定条件的元组(记录)。在WHERE子句中,可使用以下运算

符来确定查询范围。BETWEENAND——查找属性值在指定范围内的元

组。NOTBETWEENAND——查找属性值不在指定范围内的元组。在

选项A中,查询范围表达式“BETWEEN20<SA<23”错误;在选项B

中,查询范围表达式“BETWEEN23AND20”的低值20与高值23的位

置不对,低值20应在短语AND的前面,高值23应在AND的后面;

在选项C中,查询范围表达式“NOTBETWEEN20AND23”表示查询年

龄不在20至23岁之间的元组,不符合题目要求。因此,选项D正确。

10.C解析:二分查找又称为折半查找,首先用待查元素的关键字与线性

表中间位置的一个元素的关键值做比较,若相同则查找成功,否则以这

个中间值为界将线性表分为两个子表,假设子表1中的所有元素的关键

值都小于中间元素,子表2中的所有元素的关键值都大于中间元素,待

查元素比中间元素值小,说明待查元素在子表1中,完成了一次查找,

这是一次失败的查找,因为11并不在序列表中,一共进行了四次比较。

11.逻辑逻辑解析:数据库系统的三级模式是对数据的三个抽象级别。

为了能够在内部实现这3个抽象层次之间的联系和转换,数据库管理系

统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式

映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑

独立和物理独立性。

12.多维多维

13.N-1

14.逻辑【解析】虚拟局域网建立在局域网交换机的基础上,它以软件

方式实现逻辑工作组的划分与管理,工作组中的结点不受物理位置的限

制。相同工作组的成员不一定连接在相同的物理网段,它们可以连接在

相同的交换机上,也可以连接在不同的局域网交换机上,只要这些交换

机互联即可。当结点从一个工作组转移到另一个工作组时,只需要简单

地通过软件设定,而无须改变在网络中的物理位置。

15.数据传输【解析】虚电路的工作方式的工作过程分为3个阶段:虚

电路建立阶段、数据传输阶段与虚电路拆除阶段。

16.PASV【解析】当客户机向服务器发出数据传输命令时,通过控制连

接向服务器发送一个PASV命令,请求进入被动模式。

17.9【解析】两个分别为n和m目的关系R和s的笛卡儿积是一个n+

m列的元组的集合。若R有kl个元组,S有k2个元组,则关系R和S

的广义笛卡儿积有kl?k2个元组。

18.未提交事务未提交事务

19.特权指令

特权指令是指具有特殊权限的指令,在多用户,多任务的计算机系统中,

特权指令却是不可缺少的。它主要用于系统资源的分配和管理,包括改

变系统的工作方式,检测用户的访问权限,修改虚拟存储器管理的段表,

页表和完成任务的创建和切换等

20.关系关系

21.B

22.C解析顺序文件通常只能按记录的顺序存取,对这种文件进行更新,

原则上需对文件做整体拷贝。链接结构的文件可以将文件分散存放于若

干不连续的物理块中,每个物理块中设一指针,指向下一块。索引结构

的文件也可以将文件分散存放于若干不连续的物理块中,系统为每个文

件建立一张索引表。

23.D解析:PowerBuilder是由美国著名的数据库应用开发工具厂商

PowerSoft公司(于1991年6月推出的完全按照客户机/服务器体系结构

设计的快速应用开发系统,是一个客户机前端开发工具。它除了具有题

中选项中的特点,其特点还有可同时支持与多种数据库的连接,支持动

态数据交换(DDE)、动态链接库(DLL)、对象链接与嵌入(OLE)强大的调

试器和多种调试方式等。

24.D解析:通道相当于一个功能简单的处理器,具有自己的指令系统,

并与主机共享同一个内存,以保存通道程序和交换数据,通道的功能就

是在CPU的控制下完成数据的输入输出工作。

25.C解析:队列是一种先进先出的线性表,它只允许在表的一段进行插

入,而在另一端进行删除,允许插入的一端叫做队尾,允许删除的一端

叫做队头。

26.B方框代表的是实体,属性是椭圆,联系是菱形

27.A解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比

较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。一

般的连接操作是从行的角度进行运算,但自然连接还需要取消重复列,

所以是同时从行和列的角度进行运算。

28.A

29.D解析:在一类设备上模拟另一类设备的技术称为虚设备技术。通常

使用高速设备来模拟低速设备,以此把原来慢速的独占设备改造成为若

干进程共享的快速共事设备。就好像把一台设备变成了多台虚拟设备,

从而提高了设备的利用率.我们称被模拟的设备为虚设备。SPOOLing

技术是一类典型的虚设备技术。

30.B解析:冯?诺依曼提出的存储程序工作原理决定了计算机硬件系统

的5个基本组成部分,即运算器、控制器、存储器、输入设备和输出设

备。运算器是计算机中执行各种算术运算和逻辑运算的部件,也叫算术

逻辑单元。存储器是计算机中具有记忆能力的部件,它能根据地址接收

和保存指令或数据,并能根据命令提供有关地址的指令或数据。

控制器的主要作用是使整个计算机能够自动地执行程序,并控制计算机

各功能部件协调一致地动作。执行程序时,控制器先从主存中按顺序取

出程序中的一条指令,解释该指令并形成数据地址,取出所需的数据,

然后向其他功能部件发出执行该指令所需的各种时序控制信号。然后再

从主存中取出下一条指令执行,如此循环,直到程序完成。计算机自动

工作的过程就是逐条执行程序中指令的过程。

输入设备的主要功能是将数据、程序等用户信息变换为计算机能识别和

处理的信息形式。

输出设备的主要功能是将计算机中的二进制信息变换为计算机用户所

需要并能识别的信息形式。

31.\n【审题关键句】读取正数,统计个数,右移后为奇数的个数及平均

值。

\n【解题思路】

\n本题类似第44套试题,通过审题可以发现仅有一个不同点,即参与

平均值计算的元素是数组xx[i]右移一位之后为奇数的元素,参考答案的

第9条语句。

\n【参考答案】

\n

\n

32.\n【审题关键句】千位+个位等于百位+十位个数,把所有满足此条件

的数依次存入数组,按从小到大的顺序排序。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现仅有一个不同点,即要求统

计的四位数的条件是“个位+千位=百位+十位”,参考答案的第8条语句,

修改if条件语句的判断条件即可,对于数据交换的整型变量tmp可以自

定义其变量名。

\n【参考答案】

\n

\n

33.\n【审题关键句】千位十个位与百位+十位,奇数,整除,从大到小排

序。

\n【解题思路】

\n本题类似第27套试题,通过审题可以发现主要是对四位数的筛选条

件有所不同,体现在两个方面:①分解后重新组合成两位数的方式不同,

参考答案的第8、9条语句重新指定两位数的组合方式;②新组台的两

位数的奇数的判断及整除判断,参考答案的第10条语句。

\n【参考答案】

\n

\n

34.【审题关键句】将大于整数m且紧靠m的k个素数存入数组。

\n【解题思路】

\n①首先定义一个计数变量ent并赋初值为0o

\n②利用while循环统计大于整数m且紧靠m的k个素数,当计数变量

ent的值与变量k的值相等的时候,则退出while循环。每执行一次循环

时,变量m的值加1,然后调用函数isP判断当前的m值是否为素数,

如果是素数,则将m的值赋给数组xx[cnt],同时计算变量ent的值加

1,即当数组xx[O]中保存了一个素数之后,在T一次素数判断成立时将

保存到XX[1]的位置上,依次类推。

\n【参考答案】

\n

\n

35.\n【审题关键句】大于后连续5个数,奇数,从小到大排序。

\n【解题思路】本题类似第35套试题,通过审题可以发现主要有两个不

同点:①判断数值为奇数,可通过a[i]%2进行判断,参考答案的第4条

语句;②要求进行比较的元素大于后连续5个数,因此在设置判断条件

时,作为比较的两个数之间应该是大于关系,参考答案的第4条语句。

\n【参考答案】

\n

\n

36.\n[审题关键句】读入数值,奇数个数,偶数个数,数组下标为奇数

的平均值。

\n【解题思路】

\n本题类似第42套试题,通过审题可以发现仅有一个不同点,即本题

是计算数组下标为奇数的元素的平均值,参考答案的第6条语句。

\n【参考答案】

\n

\n

37.\n[审题关键句】以行为单位从字符串左边部分降序排序,排序后左

边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字

符不参加处理。

\n【解题思路】

\n①定义循环变量i、j、k和整型变量len、po

\n②第一层for循环中,循环变量i从0开始,依次递增直到其值等于

20,实现对20行数据的逐行处理。在循环体中,对于i行首先调用函数

strlen(xx[i])求得第i行字符串的长度,并把其值赋给变量len,再用len

除以2,得到第i行字符串长度的一半,赋给变量P。在第二层for循环

中,循环变量J从0开始,依次递过来增直到其值等于(P-1),在第三层

for循环中,循环变量k从J+1开始,依次递过来增直到其值等于P,比

较字符xx[i][j]ASCII码值与xx[i][k]ASCII码值的大小,如果字符xx[i]

啪的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换实现对第

i行字符串左半部分的字符串按降序排列。

\n③用变量len的值对2求余数,如果余数为1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论