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

下载本文档

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

文档简介

2022年山东省滨州市全国计算机等级考试

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

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

一、1.选择题(10题)

1.虚拟页式存储管理中页表有若干项,当内存中某一页面被淘汰时,可

根据其中哪一项决定是否将该页写回外存?

A.内存标志B.外存地址C.修改标志D.访问标志

2.下列关于函数依赖性不正确的是()。

A.若X—Y,X-Z,贝IJX-YZ

8.若乂丫—2,贝IJX-Z,Y—Z

C.若X-Y,WY—Z,则XW-Z

D.若X->Y,Y-Z,则X-Z

3.设关系R与关系S具有相同的目(或称度),且相对应的属性的值取自

同一个域,则R-(R-S)等于。

A.RUSB.RPSC.RxSD.R-S

4.在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的

存储空间,常用的方法是创建________O

A.另一个表B.游标C.视图D.索弓[

5.在下图所示的二叉树中查找关键码值502,需要进行多少次关键码值

比较?

68

A.lB.2C.3D.4

6.SQL语言的GRANT和REVOKE语句主要用来维护数据库的

()。

A.安全性B.完整性C.可靠性D.一致性

7.下面所列条目中,哪一项是当前开发工具的发展趋势?

I.采用三层Client/Server结构

II.对Web应用的支持

III,开放的、构件式的分布式计算环境

A.IB.IIC.IIID.都是

8.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突

的操作是

A.一个是DELETE,另一个是SELECT

B.一个是SELECT,另一个是UPDATE

C.两个都是UPDATE

D.两个都是SELECT

9.下列算法中,不属于进程调度算法的是

A.先进先出算法B.时间片轮转算法C.直接插入排序算法D.最高优先

数算法

10.下列的故障中,可能会造成事务执行失败的是

A.系统故障B.磁盘故障C.逻辑错误D.硬件故障

二、填空题(10题)

11.数据模型用来描述数据的静态特征、动态特征和数据的完整性约束。定义一组规则,数

据库中的数据必须满足这组规则,这是描述数据的」]

12.PowerDesigner是SYBASE公司提供的CASE工具,它包括多个模

块,其中用于数据库概念数据建模(CDM)的模块是______。

13.局域网所使用的传输介质主要有双绞线、光纤、无线

通信信道。

14.网络安全技术的研究主要涉及三方面问题:_口_、安全攻击和安全服务

15.

若关系模式R的规范化程度达到4NF,则R的属性之间不存在非平凡

且非函数依赖的【】。

16.Novell公司的NetWare最著名的地方就是它的和打印管

理。

17.从被管理设备中收集数据有两种方法:轮询法和基于中断法,将两者

结合起来的(Trap—directedPolling)是执行网络管理最有效

的方法。

18.按后根次序周游树或树林,等同于按次序周游对应的二叉树。

19.一个数据库有多个外模式,有【】内模式。

20.数据库管理系统中事务的隔离性主要由____部件来保证。

三、单选题(10题)

21.E-R图是数据库设计的工具之一,它适用于建立数据的()

A.中继器B.桥接器C.路由器D.网关

22.如果以链表为栈的存储结构,则退栈操作时()

A.必须判别栈是否满B.必须判别栈是否空C.判别栈元素的类型D.对

栈不作任何判别

23.以下关于OSI的描述中,错误的是()。

A.OSI详细说了各层提供的服务,但各层提供的服务与这些服务如何实

现无关

B.OSI不是一个标准,只是一个在制定标准时所使用的概念性的框架

C.OSI提供了一系列可以实现的方法

D.OSI中采用了三级抽象

24.概念模型()

A.依赖于DBMS和硬件B.独立于DBMS和硬件C.依赖于DBMSD.独

立于DBMS

25.在SQLServer系统数据库中,存放用户数据库公共信息的是

A.masterB.modelC.msdbD.tempdb

26.能够对PowerDesigner中所有模型信息只读访问的模块是()。

A.A.ProcessAnalyst

B.DataArchitect

C.Viewer

D.WarehouseArchitecture

27.对数据库模式设计进行优化有三项指标,下列指标中不属于这三项

指标的是()

A.A.单位时间内访问的逻辑记录个数要少

B.单位时间内数据的传送量要少

C.数据库模式中的关系(即数据库文件)数目要少

D.系统占用的存储空间要少

28.有两个实体集,并且它们之间存在着一个M:N联系,根据概念ER

模型转换成关系数据库的规则,这个ER结构转换成表的个数为()

A.lB.2C.3D.4

29.物理结构设计的任务是设计数据库的()

A.存储格式B.存取方法C.存储结构与存取方法D.存储模式

30.用数组存放循环队列的元素值,若其头尾指针分别为front

和rear,则循环队列中当前元素的个数为()

A.(rear-frontm)modm

B.(rear-front1)modm

C.(rear-front-1m)modm

D.(rear-front)modm

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

31.已知数据文件indat中存有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;*include<stdio.h>

2;tdefineMAX200

3•Inta[MAX]#b(MAX],ent-0;

4;voidwriteDat();

5!voidjsVal()

/()从数界文件in,dai200个四位数存入数组•中•/

voidreadDat()

12!FILE*fp;

Rw

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

14;for(i-0;1<MAX;ix)

fscanf(fp,

fclose(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

32.编写一^函数findStr(char*str,char*substr),该函数统计一个长度为

2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数

值返回。例如,假定输入的字符串为"asdasasdfgasdaszx67asdmklo”,

子字符串为“as",函数返回值是6。

函数ReadWrite实现从文件indat中读取两个字符串,并调用函数findStr,

最后把结果输出到文件out.dat中。

注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函

数中的任何内容,仅在函数findStr的花括号中

填入你编写的若干语句。

^include<stdio.h>

*include<string.h>

voidReadWrlte();

a

intfindStr(char3trtchar•substr)

main0

charstr(81|,substr(3];

intn;

printf("输入原字符申:w);

gets(str);

pdntf("■入子字符串:”);

gets(substr);

puts(str>;

puts(aubstr);

nwfindStr(str,substr);

"n

printf(*n"%d\n,n);

ReadWrite();

I

,•从文件in.dii中It取两个字符中,蚌■用炳欣findSoO,■后1E郎果博出到文件即如中,/

voidReadWrite()

24charstr[81)rsubstr(3],ch;

25intn,lenri00;

e

26FILEerfrwf;

27rf=fopen(*£n.dat**,wrH);

wwHM

28wf-fopen(out.datrw>;

29while(i<5)

30|

31fgets(str,80,rf);〃从文件mdai中域取长度为R的字符中存入到字符中

32(gets(subset<10,rf);〃从文件mdit中读取长度为Q的子字符中存入到字符率substr

33len■strlen(substr)•1;〃mf字符南gubstr的长度K1的

ch-substr(lenI;〃把子字符州的量后T字箝的但"字符ch

人如臬子字符申的量后个字椅是同架按行符或是文钟帖贩料,明纪子字符串的♦后f字符的值设置X。•/

35if(ch«•'\n'11ch~Oxla)

36substr[len]・0;

flndStr(4tr«■ubstr)返Z1子字符串subst.r在字符率Atr中出现的次数*/

37n-findStr(str,substr);

38fprintf(wf/Fd\n".n);//IC计H纳暨n写入到文件out.dau中

39〃谓环堂量士加】

40I

41fclose(rf);

42fclose(wf);

43

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中已定义数ffl;M200].b(200],巳定义变量:ent

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

1I#include<stdlo.h>

2|tdefineMAX200

3*inta(MAX],b[MAX]ent,0;

।t

4jvoidwriteDat();

5•voidjsVal()

6j(

8J|

9;voidreadDat()〃从in.dat文件M《取200个网位数存入数ifia中

10;(

XIJxnt£s

12;FILE*fp;

Rn

13*fp-fopen(in.datr

14;for(i*0;i<MAX;

15;fscanf(fp,f1]):

16!fclose{fp);

17;|

18;voidmain()

19!

20;

21\readDat();

22।isVai();〃,用曲数isvalU,求厦・目要氽的功傕

23jprint—”满足条件的数,%d\n**/ent);

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

25;printf("%dIb(i]);

26jprintf(H\nw);

27•writeDat();

28;J

29voidwriteDat()〃把计簿的IEent以及数能b中希合条件的四位数・出舞Mdii文件中

30(

31FILE*fp;

32inti;

33fp-fopen("out.datM,Hww);

34fprintf(fp/ent);

35for(i-0;i<ent;

36fprintf(fp,w%d\n**/b[i]);

37fclose(fp);

38

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

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

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

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

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

位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数

字),如果新组成的两个位数ab>cd,ab必须是偶数且能被5整除,cd必

须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位

数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的

个数cnto最后main函数调用写函数writeDat把结果ent以及数组b中

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

注怠:部分源程序存在tCSLC文件中.

程序中已定义教组:4200),b[200],已定义变量:ent

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

1ilinclude<stdio.h>

2IfdefineMAX200

3-inta(MAX],b(MAX],ent-0;

4!voidwrlteDat0;

5ivoidjsVal()

6;(

*7i

8i)

9!voidreadDat()〃从in.dat文件中it取200个四位数存入致殂a中

10jI

11•int£;

12•FILE#fp;

13;fp-fopen(Hin.datw,wrw);

14•for(i*0;i<MAX;1++)

15ffscanf(fpr;

16;fclose(fp);

17!J

18;voidmain()

19;(・

20!inti;

21treadDat();

22;jsValO;〃•用港数”V,客现♦日要求的功能

231printf<“涓足条件的数7d\n”,ent);

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

25!printf(w%d”,b[il);

26iprintf("\nw);

writeDat();

28I

29voidwriteDat(>"纪计算站果cni以及数iflb中符合条件的四位Ik“出到outdot文件中

30(

31FILE*fp;

32int1;

33fp•fopenLout.dat".Www);

wR

34fprintf(fp,ld\nrent);

35for(1■0;i<ent;11♦♦)

36fprintf(fp,"%d\n"r

37fclose(fp);

38

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

串数组XX中,请编制函数ConvertCharA,其函数的功能是:以行为单

位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母

Z,则改写成字母a,大写字母和其他字符保持不变。把已处理的字符串

仍按行重新存入字符串数组XX中。最后main函数凋用函数WriteDat

把结果XX输出到文件Out.dat中。

例,原文:Adb.Bcdza

abck.LLhj

结果:Aec.Bdcab

hrdlITik

原始数据文件存放的格式是:银行的窗度均小于80个字符,含标点符号和空格.

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

请勿改动主函数main。、读函数ReadDaM)和■出函数WritcDmO的内容.

1、tinclude<stdio.n>

2!!include《string.h>

3•charxx[50][80];

4;intmaxline■0;/*文*的总打数•/

5jintReadDat(void);

6;voidWriteDat(void);

7•voidConvertCharA(void)

8

9

10

11•voidmainO

12!l

13jif(ReadDat())

14(

15printf("数据文件in.dat不能打开!\n\007”);

16return;

17j}

18ConvertCharA();

19jWrlteDatO;

2。•I

!,♦从文件m&t中it取一■英文文章存入到字符率数盥u中〃

21;intReadDat(void)

22!(

23\FILEwfp;

24|inti»0;

25•char*p;

26jif((fp-fopen("in.dat","r"))—NULL)

27return1;

28\while(fgeta(xx(i]r80rfp)!-NULL)

29{(

30p-strchr(xx[1],f\n*);

31if(p)*p-0;

32if

33i,

34;maxline-i;

35fclose(fp);

36return0;

37I

/•纪结果U•出到文件OUL&t中•/

38voidWriteDat(void)

39(

40FILE#fp;

41int1;

42fp・fopen(**out*wM);

43for(1-0;1<maxline;i++)

44(

45print/xx[i]);

46fprintf(fp,"%s\n*rxx(i]);

47\

48!fclose(fp);

49

36.已知在in.dat中存有若干个(个数<200)1四位十进制数字组成的正

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

数CalValueO,其功能要求:

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

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

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

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

中。

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

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

和输出函数WriteDatO的内容。

1«Iinclude<stdioeh>

2;IdefineMAXNUM200

3!intxx(MAXNUM);

4:inttotNum-0;〃文件Ln,Sit中共有,少个正IMS

5-inttotCnt-0;〃将合*ft的正•鼓的个数

6!doubletotPjz-0.0;〃平均值

i

7;IntReadDat(void);

8-voidWriteDat(void);

9»voidCalValue(void)

10;(

11!

12:J

13;voidmain()

14!(

15:int1;

16\ford-0;i<MAXNUM;i,+)

17;xx[i]-0;

18\if(ReadDatO)

19\(

20>printf("数据文件ln.dat不能打开!\007\n");

21;return;

22i)

23:CalValue();

24:printf("文件in.dat中共有正整数个totNum);

25!prin"("符合条件的正整数的个敢■“个\n",totCnt);

26\print””平均值totPjz);

27;WriteDat();

28jI

;/•设取这若干个正餐数并存入数盥xx中•/

29!intReadDat(void)

30\(

31:FILE*fp;

32;int1-0;

w

33if((fp-fopcnein.dat.*r"))«NULL)

34return1;//1n<in.datMfiH1

\/•while-4执行文卷Hi.dat的妁电送附♦/

35Iwhile(!feof(fp))

36;1

37fscanf(fp,",d,"•;〃从文件,'个Hr存入XM【,J中.同N1Ml

38I

39;fclose(fp);

40return0;〃1E文件,n・<Uc若干个正■图■取并正・存入便回0

41;)

;/•«!计算站呆存入文件61t.st中•/

42•voidWriteDat(void)

43I(

44jFILE-fp;

w-

45[fp•fopen("out.datrw*);

46;tprintf(tpf-%d\n%d\n%.2If\n*,totNum,totCnt,totPjx);

47fclose(fp);

48

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如:位置012345678

源字符串abcdhgfe

123498765

则处理后字符串hgfedcba

876594321

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

请勿改动数据文件in.dat中的任何敷据、主函数main()、读曲数rcadD叫)和写的数writcD&U)的内容.

1Jlinclude<stdio.h>

2j*include<string.h>

3;charxx[201f80);

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.设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开

始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个

人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现

要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编写

函数Josegh(void)实现此功能,并调用函数writeDat,把结果P输出到文

件out.dat中0

设n=100,s=l,m=10o

①将1到n个人的序号存入一维数组P中;

②若第i个人报数后出圈,则将p用置于数组的倒数第i个位置上,而原

来第i+1个至倒数第i个元素依次向前移动一个位置;

③重复第②步直至圈中只剩下p[l]为止。

注意:部分源程序已经给出。

请勿改动主函数main和输出数据函数writeDAT的内容。

1ifinclude<stdio.h>

2;tdefineN100

3j»defineS1

4;IdefineM10

S!intp[100]9nrsrm;

6;voidWriteDat(void);

7!voidJoseqh(void)

6«\

9;

10j)

11jvoidmain()

12j(

13;m«M;

14;n-N;

151s•S;

16!Josegh();

17<WriteDatO;

18;)

!,•把砧聚p•出到文件outdat中•/

19;voidWriteDat(void)

20!(

21jint1;

22!FILEefp;

23!fp-fopen("outRww);

;/•以史■的方式,以1c个!dK为一雌把也微以门•出利屏幕剧文件中♦/

24jfor(N-11l>m0X

25•(

26!printf("*%4d",p(i));

27;fprintf(fp,74d”,p(i]);

28if(1%100)〃如果i・被10蒙除.射■出一个回甑换行将

29

30prlntf(*\nM);

31fprintf(fp/"Xn");

32

33

34fclose(fp);

35

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

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

位数的个位数位置上的值减去千位数位置上的值再减去百位数位置上

的值最后减去十位数位置上的值,如果得出的值大于等于零且原四位数

是偶数,则统计出满足此条件的个数ent,并把这些四位数按从小到大

的顺序存入数组b中,最后调用写函数writeDat把结果ent以及数组b

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

注JL部分源程序存在teste文件中.

程序中已定义数组:4200],6(200].已定义变量,ent

请勿改动数据文件indu中的任何数!K.主函依main()、读函数readDatO和写由AtwriteDatO的内容•

1jllncludo<stdio.h>

2\IdefineMAX200

3inta(MAX],b[MAXJ/ent

4voidwriteDat();

voidjsVal()

6

7

8

9voidreadDat()

10(

11inti;

FILE*fp;

fp*fopen("in.dat",wr");

14for(i-0;i<MAX;i++l

15fscanf(fp,7d",[iI);

16fclose(fp);

17}

18voidmain()

19I

20inti;

21readDat();

22jsVal();

23prin"「涧足条件的敷。ent);

24for(i-0;i<ent;

25printf(•*%(!”,bill);

26printf(w\nw);

27writeDat();

26I

29voidwriteDat()

30

31FILEefp;

32intij

33fp-fopen("out.datw,"w");

nn

34fprintf(fp,%d\necnt);

35for(1•0;i<ent;ix)

36fprintf(fpr”d\n",b(x));

37fclose(fp);

38

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

号字符串数组XX中;请编制函数encryptChar,按给定的替代关系对数

组XX中的所有字符进行替代,其替代值仍存入数组XX所对应的位置

上,最后调用函数WriteDat把结果XX输出到文件out.dat中。

替代关系:f(P)=P*Hmod256,mod为取余运算,p是数组XX中某一

个字符的ASCII值,0(p)是计算后无符号的整型值(注意:中间变量定义

成整型变量),如果原字符是数字字符0至9或计算后f(p)值小于等于

32,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系

进行处理。

请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat

的内容。

1!tinclude<stdio.h>

♦include<string.h>

3tinclude<ctype.h>

4unsignedcharxx[50][80];

5intmaxline-0;/•文章的总行数•/

6intReadDat(void);

7voidWriteDat(void);

avoidencryptChar()

9

10

11

12!voidmain()

13;I

14;if(ReadDatO)

15!(

16pen"L数据文件in.dat不能打开!\n\007-);

17return;

18•)

19iencryptChar();

20!WriteDat();

21i)

|厂从文科Hdm中工取一・英文文章,存入义无符号字符*般银=中”

22!intReadDat(void)

23;(

24:FILE#fp;

25!inti•0;

26;unsignedchar#p;

21jif((fp-fopen("in.datw,wr"))—NULL)

28return1;

29;while(fgets(xx[l]r80,fp)!-NULL)

30I(

31P-strehr(xx(i]r'n');

32if(p)*p-0;

33

34I>、

35maxline«1;

;fclose(fp);

37;return0;

38P

i八把结果u一出到文件OUL&I中•/

39ivoidWriteDat(void)

40•I

41!FILE*fp;

42iinti;

43\fp-fopen("out.dat",**w");

44•for(i*0;i<maxline;

45;(

w

46:printf(%s\n"#xx[i1);

47ifprintf(fp#7s\n".xx[1]);

48-)

49!fclose(fp);

50;1

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

41.在SQLServer2008中,设某数据库中有商品表(商品号,商品名,

进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销

售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商

品的单价。现要求每当在销售表中插入前4列数据时(假设一次只插入

一行数据),系统自动计算本次销售产生的利润,并将该利润赋给销售

表的第5歹IJ“本次利润”。请编写实现上述功能的后触发型触发器代码。

(10分)

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

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

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

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

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

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

六、单选题口分](2题)

43.在SQLServer2008中,设用户U1是某数据库db_datawriter角色中

的成员,则U1在该数据库中有权执行的操作是()

A.SELECT

B.SELECT和INSERT

C.INSERT,UPDATE和DELETE

D.SELECT,INSERT,UPDATE和DELETE

44.数据库性能优化是数据库应用系统上线后最常见的运行维护任务之

-O下列有关数据库性能优化的说法,错误的是()o

A.数据库性能优化和数据库的外部环境有很大关系,如果外部环境出现

瓶颈,单独对数据库进行调整很难取得较好效果

B.在数据库性能优化期间可能对原有符合范式的关系转为不符合范式

的关系

C.物化视图将会预先计算并保存耗时操作的结果,可大幅度提高查询效

率,但是物化视图必须人工手动刷新

D.存储过程在执行期间不需要重新编译,可以在一定程度上提高运行效

率,但是其与数据库管理系统绑定,更换数据库管理系统时需要重新编

参考答案

LC解析:在虚拟页式存储管理中,当内存中某一页面被淘汰时,可根

据修改标志决定是否将该页写回外存。

2.B解析:Armstrong公理系统中,选项A属于合并规则,选项C属于

伪传递规则,选项D属于传递规则,合并规则的逆并不一定成立。

3.B解析:传统集合运算包括并、交、差和广义笛卡尔积4种运算。对

本题中的关系R-(R-S),进行分解:(R-S)是由属于R而不属于S的所有

元组组成,R-(R-S)就是有属于R而不属于(R-S)的元组组成,部分集合

就是由既属于R又属于S的所有元组组成,即Rnso所以本题正确答

案为选项B。这类题通过画图可以比较容易找到正确答案。

4.C解析:视图具有以下几个作用:简化用户操作;使用户能以多种角

度看待同一数据;支持重构数据库的逻辑独立性;视图能够提供安全保

护同时不增加数据的存储空间。

5.C解析:二叉排序树的特点是:每个结点上的左子树中所有的结点的

关键码值都小于该结点的的关键码值,而右子树中所有的关键码值都大

于该结点的关键码值。二叉排序树的查找方法是,将待查关键码值与树

根的关键码比较,若相等则查到,否则比较结果确定进入左子树或右子

树,继续查找,如此进行下去,直到找到待查的关键码值,或确定二叉

树中没有这样的关键码。在本题中对关键码502的查找如下:第一次:

502>236,进入右子树第二次:502>285,进入右子树篇三次502=502,

查找完毕。所以经过三次关键码值比较后,找到502,本题正确选项为

Co

6.A

SQL语言中用GRANT、REVOKE语句实现数据控制功能,数据库中

权限的授予可以使用GRANT....ON....TO....语句,要求指明授予哪个用

户(组)对哪个对象有什么权限,而REVOKE语句实现数据库权限的回

收,需要指明从哪个用户(组)回收对于哪个对象的什么权限。

7.D解析:当前应用开发工具的发展趋势:采用三层Client/Server结构;

对Web应用的支持;开放的、构件式的分布式计算环境。

8.D解析:因为DELETE和UPDATE都对数据库进行了修改,如与其

他操作同时进行,容易造成对未提交数据的依赖;而SELECT不对数据

库进行修改,因此两个SKLECT可以同时进行操作,而不会引起冲突。

9.C解析进程调度算法包括先进先出算法(FIFO)、时间片轮转算法(RR)

和最高优先数算法(HPF)。

10.C解析:逻辑错误、系统错误可能会造成事务执行失败。注意:系统

故障、磁盘故障和硬件故障都不会导致事务执行失败,因此A),B),D)

选项不正确,故C)选项正确。掌握故障产生的原因,以及如何解除故障。

H.完整性约束数据完整性约束是一组完整性规则的集合。它定义了数据

模型必须遵守的语义约束,也规定了根据数据模型所构建的数据库中数

据内部及其数据相互间联系所必须满足的语义约束。

12.DataArehitectDataArehitect解析:PowerDesigner是一组紧密集成的

计算机辅助软件工程(CASE)工具,用于为复杂的数据库应用完成分析、

设计、维护、建立文档和创建数据库等功能。它可以根据用户的项目规

模和范围的需要提供灵活的解决方案。PowerDesigner由五个模块组成:

MetaWorks,ProcessAnalyst,DataArchitect,WarehouseArchitect和

AppModelero

DataArchitect提供概念数据模型设计,自动的物理数据模型生成,针对

多种数据库管理系统的数据库生成,开发工具的支持和高质量的文档特

性。

13.光缆【解析】局域网所使用的传输介质主要有双绞线、光缆、光纤、

无线通信信道。

14.安全机制网络安全技术的研究主要涉及三方面问题:安全攻击,安全

服务和安全机制。

15.多值依赖有关系模式RW1NF,如果对于R的每个非平凡的多值依赖

XAY,都有X包含码,那么RE4NF

16.文件【解析】NetWare以其强大的的文件和打印服务能力而久负盛

名。

17.陷入制轮询法【解析】从被管理设备中收集数据有两种方法:一种

是轮询方法,另一种是基于中断的方法。将以上两种方法结合的陷入制

导轮询方法可能是执行网络管理最有效的方法。

18.对称序对称序解析:由二叉树与树之间的对应关系可知,按先根次

序周游树(林)等同于按前序周游对应的二叉树,而按后根次序周游树(林)

等同于按对称序周游对应的二叉树。

19.一个一个解析:外模式也称子模式或用户模式,它是数据库用户(包

括应用程序员和最终用户)能够看见的和使用的局部的逻辑结构和特征

的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表

示。一个数据库可以有多个外模式。内模式也称物理模式或存储模式,

一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是

数据库内部的表示方法。

20.并发控制并发控制解析:解决事务并发执行问题的一种方法是串行

地执行事务,即一个接一个地执行。但这样性能较低,事务并发执行能

显著地改善性能。因此,数据库管理系统中有一个并发控制部件,它保

证事务隔离性,即确保事务并发执行后的系统状态与这些事务以某种次

序一个接一个地执行后的状态是等价的。

21.A

22.B

23.C

OSI参考模型并没有提供一个可以实现的方法。OSI参考模型只是描述

了一些概念,用来协调进程问通信标准的制定。

24.B

25.B

26.B

【答案】B

【解析】DataArchitect是可以对PowerDesigner中所有模型信息进行

访问的只读模块。

27.C

28.C

29.C

30.A

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

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

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

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

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

\n【参考答案】

\n

\n

32.\n【审题关键句】统计一个长度为2的子字符串在另一个字符串中出

现的次数。

\n【解题思路】

\n①定义字符指针p,q,并且q指向字符串str。定义计数整型变量ent,

设置其值等于0。

\n②在while循环中调用C语言的字符串库函数strstr,返回子字符串

substr在字符串q第一次出现的位置,赋给变量P。用if语句判断,如

果P的值为空,则说明在字符串str没有找到子字符串,退出循环。否

则,变量ent加1,再把P的值加2(因为子字符串substr的长度为2)赋

给变量q,执行下一次循环。直到字符串中不存在子字符串时,退出循

环结束。

\n③最后,返回子字符串substr在字符串str中出现的次数。

\n【参考答案】

\n

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

序。

\n【解题思路】

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

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

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

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

\n【参考答案】

\n

\n

34.\n【审题关键句】千位+十位与个位+百位,比较大小,整除,奇数,

从大到小排序。

\n【解题思路】

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

件有所不同,即判断新组合的两位数要求第一个为偶数,第二个为奇数,

比较两题的第10条语句,只需将新组合的第二个数的判断条件改为奇

数判断,即“newV2%2”。

\n【参考答案】

\n

\n

35.\n【审题关键句】以行为单位把字符串中的所有小写字母改写成该字

母的下一个字母,大小写不变,其他字符不变。

\n【解题思路】

\n①定义整型循环变量i、i。

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

maxline,实现对文章每行的处理。第二层for循环中,循环变量j从。

开始,依次递增直到其值等于strlen(xx[i]),在循环体中,利用if条件语

句首先判断)的值是否在小写字符字符W〜切之间,然后,再判断

在此范围之内的小写字母,如果是z,则该字符转换为a,如果字符不是

z,则将其改写成它的下一个字母。

\n【参考答案】

\n

\n

\n

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

值。

\n【解题思路】

\n①定义整型变量i、j和长整型he,并把其初始值设置为0。

\n②用for循环语句对数组XX进行扫描,如果当前数组元素xx国零,

则全局变量totNum加1。

\n③在for循环语句中,循环变量i从0开始递增到totNum—1,对数

组xx中的每个元素XX用右移一位,把这个值赋给整型变量i,再对j

的值对2求余数,如果余数等于0,则变量totCnt加1,并把数组元素

xx[i]累加到变量heo

\n④退出循环时,把变量he的数据类型转换成双精度型再除以变量

totCnt的值,就得到算术平均值totPjzo

\n【参考答案】

\n

\n

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

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

符不参加处理。

\n【解题思路】

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

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

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]

啪的ASCI

温馨提示

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

评论

0/150

提交评论