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

下载本文档

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

文档简介

2022年江苏省扬州市全国计算机等级考试

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

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

一、1.选择题(10题)

1.SQL通常不提供下列哪一种操作?

A.修改索引定义B.修改视图定义C.修改索弓[定义和修改视图定义D.

修改表定义

2.SQL语言集数据查询、数据操作、数据定义和数据控制功能于一体,

语句INSERT、DELETE、UPDATE实现哪类功能?。

A.数据查询B.数据操纵C.数据定义D.数据控制

3.当利用大小为N的数组顺序存储一个栈时,假定用栈顶指针top=N+l

表示栈空,则向这个栈插入一个元素时,首先应执行语句修改top

指针。

A.top:=top+lB.top:=top-1C.top:=0D.top:=N

4.PowerDesigner是新一代数据库设计工具,下面是它的四个组成部分,

若要进行数据库概念模式设计,应该选用。

A.ProcessAnalystB.DataArchitectC.MetaworksD.AppModeler

5.S-Designer是一种可视化的数据库设计工具,它的后续版本是Power-

Designer,使用它可以完成如下的哪些功能?

I.可以画数据流图(DFD)

II.可以画实体联系图(E-R图),即设计概念数据模型(CDM)

III,可以从概念数据模型(CDM)生成物理数据模型(PDM)

IV,可以从现存数据逆向生成物理数据模型(PDM)

V.可以从物理数据模型(PDM)逆向生成概念数据模型(CDM)

A.I、II和mB.I、II和WC.I、II和VD.都可以

6.是一个用以更好地支持企业或组织的决策分析处理的、面向主

题的、集成的,相对稳定的、体现历史变化的数据集合。

A.数据库系统B.数据库管理系统C.数据仓库D.数据集成

7.数据库管理系统由三级模式组成,其中决定DBMS功能的是____o

A.逻辑模式B.外模式C.内模式D.物理模式

8.设有关系R(A,B,C,D,E),A、B、C、D、E者B不可再分,则R

一定属于

A.1NFB.2NFC.3NFD.以上3个选项都有可能

9.为了控制用户程序不能执行特权指令是通过设置PSW中的一个状态

位来标志,这一位是

A.保护位B.CPU状态位C.屏蔽位D.条件位

10.当局部E-R图合并成全局E-R图时,下列所列冲突中哪个不属于可

能出现的冲突?()

A.属性冲突B.语法冲突C.结构冲突D.命名冲突

二、填空题(10题)

11.在数据库物理结构设计时,要对存储方法进行设计,其中,查询次数

由算法决定的是【】存放方法

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

个。

13.组播路由协议分为组播路由协议和域间组播路由协议。

14.用高级语言编写的程序称之为[】。

15.如果多个事务在某个调度下的执行结果与这些事务在某个串行调度

下的执行结果相同,则称这个调度为【】调度。

16.并行数据库系统的性能有两种主要的度量,分别是吞吐量和o

17.一旦CA验证了实体的身份,就产生一个证书,将这个公共密钥和身

份进行绑定。

证书中包括公共密钥和密钥所有者的全球惟一的O

18.在关系代数中,从两个关系的笛卡儿积中选取它们的属性或属性组

间满足一定条件的元组的操作称为连接。

19.在顺序表(4,7,9,12,13,14,18,19,22,29,50)中,用二分

法查找关键码值n,所需的关键码比较次数为o

20.若记录型A中的每一个值,记录型B中。可以由N个值(N>=0)与

之联系,反之,若记录型B中的每一个值,记录型A中至多有一个值

与之对应,则称记录型A与记录型B之间是【】的联系。

三、单选题(10题)

21.在SQLSever中创建用户数据库,其主要数据文件的大小必须大于

A.master数据库的大小B.model数据库的大小C.msdb数据库的大小

D.3MB

22.在定义一个关系结构时,应该说明()

A.字段、数据项及数据项的值B.属性名、属性数据类型及位数C.关系

名、关系类型及作用D.记录名、记录类型及内容

23.操作系统在控制和管理进程的过程中,涉及到()这一重要数据结构,

这是进程存在的惟一标志。

A.FCBB.FIFOC.FDTD.PCB

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

()。

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

25.在数据库概念设计阶段,进行局部E-R模式的设计时,为实体和联

系确定属性的原则除了()外都是。

A.属性应该是不可再分解的语义单位

B.先确定公共实体类型的属性

C.实体与属性之间的关系只能是1:N的

D.不同实体类型的属性之间应为直接关联关系

26.下列不属于创建分区表步骤的是________o

A.创建分区依据列B.创建分区函数C.创建分区方案D.使用分区方案

创建表

27.一个公司有若干名兼职人员,而每个兼职人员有可能在多家公司打

工,则公司与兼职人员之间具有

A.一对一联系B.一对多联系C.多对多联系D.多对一联系

28.设计与试运行之后投入运行,开始维护工作,过程中监控、评价、调

整与修改以保证数据库系统正常和高效地运行。以下关于数据库运行维

护工作说法不正确的是()

A.数据库转储与恢复

B.数据库安全性、完整性控制

C.检测并改善数据库性能

D.数据库的重组修改数据库原有设计的逻辑结构和物理结构

29.()可以看成是现实世界到机器世界的一个过渡的中间层次。

A.概念模型B.逻辑模型C.结构模型D.物理模型

30.数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功

能是______。

A.数据库设计B.数据通信C.数据定义D.数据维护

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

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

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

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

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

条件的个数ent,并把这些四位数存入数组b中,而后对数组b进行升

序排序,最后调用写函数writeDat把结果ent以及数组b中符合条件的

四位数输出到Out.dat文件中。

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

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

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

和写函数writeDat的内容。

Iinclude<stdio.h>

2IdefineMAX200〃定义宏更■KM苴值制于2Go

3inta(MAX)rb(MAXl,ent・0;〃代初始值为0.定义全M整R*依锹a[MAX].b(MWC|»<lcnt

qvoidwriteDat();//xdeMt()大敏的说明语句

5voidjsVal()

6

7

B

/•“adDatn从数据文忖tn.dai中读取200个网位数存入数蛆■中,/

9voidreadDat()

10(

11int1;

12FILE*fp;

w

13fp-fopen(**in.datr"”);

14•for(ia0;1<MAX;i++)

15!(scant(fp,&a[i]);

16;fclose(fp);

17\卜

18»voidmamO

19;(

20!inti;

21freadDat();

22-jsValO;〃境阳油敝,实取BIH要求的功能

23Jprintf("满足条件的数7d\n,:nt);

24।for(i-0;i<ent;[♦♦)

25•printf(0%d",b[i));

26•printfC,\nM);

27;writeDat{);

28j)

j/・W敷wmdXttHe姑果加以及故期b中衿介条件的四位数■出到uut.dai文件中•/

29;voidwriteDat()

30!(

31;FILEafp;

32•int1;

w

33!fp=fopen(**out.datr"w");

wH

34;fprintf{fprid\nzent);

35!ford•0;i<ent;"♦)

36•fprintf(fp,7d\n",b(iD;

37;felose(fp);

38;)

32.已知数据文件INI.DAT和IN2.DAT中分别存有100个两位十进

制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b

中,请考生编制一个函数JsVal,实现的功能是依次对数组a和b中的数

按条件重新组成一个新数并依次存入数组C中,再对数组C中的数按

从小到大的顺序进行排序,最后调用输出函数writeDat把结果C输出到

文件out.dat中。组成新数的条件:如果数组a和b中相同下标位置的

数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为新

数的个位数字,数组b中的十位数字为新数的百位数字,个位数字为新

数的十位数字,这样组成的新数并存入数组C中。

例如,«(1231241521!5

b>3245172118IS

c:34$I12751155

播序后g113512753451

注意X部分源程序存在EC文件中.

用序中已定义:叩00卜b(IOO)和叩00]・

请勿改动敷据文件INLDAT和1N2.DAT中的任何数据.主函数mamQ.读曲数reMDatO和耳幽数writelM)的内秀.

11•includeOtdio.h>

2»tdefincMAX100

3•inta(MAXI•b(MAXJ,C(MAXJ;

4-intent-0;/•寿故折内要件数的个我•/

5•voidjsVdl()

IN1.DATIDN2.DAT中的100个眄粒十班.我存入也址,和b中・/

9«voidreadDat()

10j(

11;int1;

12jFILE*fp;

13:fp-fopen("ini.dacM***r")

14!for(i•0;1<MAX;

15;fscanf(fp,7cT.fcalll):

16!fclose(fp>;

17;fp•fop«n("in2.dat",・r”)

18-ford-0;1<MAX;if

19»fscanf(fp4Fd"・&b[l]);

20;fclose(fp):

21j1

22voidmain()

24;intifvoidwriteDat();

25;for(i-0;i<MAX;

26•c[l]•Q;

27-readDat();

28!jsVal();

29;for(i-0;1<MAX“C(

30:prlntf(*id\n",c(i)>:

31iwritoDat()I

32j)

i/•把M聚Ur蜗c,出到文林2小中〃

33-voidwriteDat()

FILEafp;

36mti;

3了fp-fopen("out.dit*,Ww"»;

38for(1-07i<MAX,,c(i)>0;

39fprXntf(fp,*ld\n*<e(l)):

40{close(fp);

41

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

把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出所有这

些四位数是素数的个数ent,再求出所有满足此条件的四位数平均值pjzl,

以及所有不满足此条件的四位数平均值pjz2。最后main函数调用写函

数writeDat把结果ent,pjzl,pjz2输出到out.dat文件中。

何如:5591站供数,该攻满足条件.零瓶计算平均值pjz1・H个数cnfcm+1.

9812是年素畋,诬敷不满足条件.善加计算平均值pjz2.

注意*鄙分源程序存在tew.c文件中.

程序中已定义数组:B|300[・已定义变量:a)l.pjzLpjz2

谓药改动故据文件indat中的任何效粼、生或收nuinO,速的散readDaM)和"两数wnteDatO的内容.

1itinclude<atdio.h,>X句说哂8闪序中©畲vc60中的标次・人■出修嫉瞅

2;inta[300!,cnt-O;〃心■不收然川33。)和受■ent.我・ent献初(ill*0

3!doublepjzl-O.O,pjz2*0.0;〃启文堂■p〃i.p,x2JIM初u.。

4;voidwriteDat();//•出—C说明明句

5:voidreadDat();,/■人喻敷说那遍何

61intisPfintm)i»F(Ant*内断D)蜀古力«此W果是*欧3返回1,柠孙£画o

14,voidj$Valu©()〃函Itj・v・iu。力的定义谓句

20;readDatOi〃■用ro•皿匕|)函电从ndat文件中&入WO个为付II件入故陋.中

21:jsValueO;〃■用()函数,实厦就UM・*理的功能

22.writeDat();writ*xt”试数.七环IT丝聚OM,即:I.咖2・出Kw3文杓中

23:prxntf(wcnt-%d\n满足条件的平均值pzll-17.21f\n不消足条件的平均例pzj2-%7.21f\n*

'cntrpjzl,pjj2);〃在肝笫上・示HU的给豪

24:)

25jvoidreadDat()〃Mtn<bi文件中“入300个内位教存入做出.中

26•(

27!FILE*fp;〃定义文件指叶殳■在

28;int1;〃定文史

29I£p-fopon("ln.dat"4"r");〃"只读方表打开文件s.di•片H文帜Mtfp指陶文/s.&t

30ifor(i•0;i<300;〃■环堂■.从。依次g*到2”

31J(scant(fpf-%d,*,;〃从文件in.da<中tftA,38个内倚数存入依用.中

32Ifclose(fp);〃共用NKan.dat

33iI

34-voidwriteDat()XM

35!(

36;FILE*fp;〃定义文件揄力安■力

37;fp-fopenLout.datW”):〃以只写方式打开直神gt.dat,井RZ符插的加$角文件out.<Ut

38!fprwtf(fp,',%d\nV.21f\n17.21f\n"#ent,pjzl,pjz2);〃在解♦上■水计体站黑

39Ifclose(fp);〃夬MIK件out.&r

40;|

34.已知在文件in.dat中存有100个产品销售记录,每个产品销售记录

由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整

型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数

量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编

制函数SortDat,其功能要求:按金额从大到小进行排列,若金额相等,

则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中。

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

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解

题。

例如:sell[i]=temp;

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

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

1;linclude<stdlo.h>

2!IInclude<strmg.h>

i

3Ilinclude<stdlib.h>

4।IdefineMAX100

5•typedefstruct

6\(

7!chardni(5];/*产品代码•/

8icharnc[11];/•产品名源•/

9;intdj;/•单钞•/

10!intsi;/•lit*•/

11jlongje;今・•/

12;}PRO;

13jPROsell[MAX];

14;voidReadDat();

15!voidWriteDat();

16IvoidSortDat()

19;»

20!voidinainO

21[{

22•memsot(sell*Q,sizcof(sell));

23•ReadDatO;

24;SortDat();

25!WrlteDat<”

26J)

27;voidReadDatO

28!(

29;FILEefp;

30jcharstr(80)9ch[111;

31Jinti;

32;fp•fopen("in.dat"r"r">;

33Jfor(l•0;1<100;

34;(

35'fgets(str980.fp);

36!memcpy(sell(1).dm,str/4);

37imetncpy(sell(i).me,3tr♦4f10);

38'roeaicpy(ch#str*14f4);ch[41・0;

39•sell(11.dj-atol(cb);

40itnemepy(ch.str*18.5);ch(51-0;

41!sell(i)«sl•atoi(ch);

42(sellfl).je•(long)sell(i).dj•sell(1).si;

43-\

44!fclose(fp);

45i)

46\voidWriteDat()

47

48FILE・fp;

49Xnt1;

50tp•fopen("out♦dat**#*wn);

51for(1•0;1<100;

52I

53fprlntf(fp,"%BIs%4d(SdH01d\n*,sell[1].dm,5ell(1).mcfsell]幻・dj.sell

sell(i).je);

>

55fclose(fp);

56

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

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

中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数

WriteDat把结果xX输出到文件out.dat中。

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

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

成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是大写

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

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

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

进行处理。

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

finclude<stdio.h>

Iinclude<string.h>

3•finclude<ctype.h>

4unsignedcharxx[50][80];

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

6;intReadDat(void);

7•voidWriteDat(void);

8;voidencryptCharO

9J(

10;

unsignedintval;

11;

12;

13;voidmam()

14;(

15!if(ReadDatO)

16i(

:;iprintf("数据文件m.dat不能打开!\n\007");

return;

19;

20jencryptChar();

21;WriteDat();

22jI

/•从文件tiLdm中谕取一篇英文文IL存人勃字符中数批1*中•/

23;intReadDat(void)

24!I

25JFILE*fp;

26\inti-0;

27!unsignedchar*p;

28\

if((fp-fopenLin.daL,)-NULL)

29-return1;

1

30•while(fgets(xx(i)#80,fp)«NULL)

31((

32j

p-strchr(xx[ih*\n*);

33iif(p),P-0;

34\if

35:

36;maxiine«i;

37;fclose(fp);

38!return0;

39;»

/•£结果MX■出到文件outdai中•/

40-voidWriteDat(void)

41

42FILE*fp;

43inti;

44fp-fopen(•,out.dat**,、");

45for(i»0;i<maxline;1♦♦)

46(

H

47printf("ls\nrxx[i]);

48fprintf(fp,Fs\n”,xx[ij);

49)

50fclose(fp);

51

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

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

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

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

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

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

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

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

程序中已定义数组:4200],耳200],已定义变量Ient

请勿改动数据文件in.dat中的任何数IK、主/数读函数readDatO和号出微writeDa%)的内容。

1j•includo<stdio.h>

2JIdefineMAX200

3inta(MAX]tb【MAXJ.ent

4voidwriteDat();

5voidjsVal()

6

7

8

9voidreadDat()

10(

11inti;

FILE*fp;

fp»fopen("in.dat",wrn);

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

15fscanf(fp,7d",

16fclose(fp);

17>

18voidmain()

19I

20inti;

21readDatO;

22jsVal();

23printf「满足条件的l![ned\rr.ent);

24for(i-0;i<ent;

25printf,bli]);

26printf(0\nw);

27writeDat();

26

29voidwriteDat()

30

31FILE,fp;

32inti;

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

w

34fprintf(fp,•*%d\necnt);

35for(1-0;i<ent;ii)

36fprintf(fpr”d\n・,bl:));

37fclose(fp);

38

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例蛆位置012345678

源字符串ibcdhgfe

123498765

则处理后字符串hgfedcba

876594321

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

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

1*linclude<stdio.h>

2jfinclude<string.h>

3:charxx(20)[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.函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串

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

字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存

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

出到文件out.dat中。

例:原文:dAe,BfC.

CCbbAA结果:fedCBAbbCCAA原始数据文件存放的格式是:每行

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

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

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

的内容。

1jlinclude<stdio«h>

2i♦include<stringeh>

3•charxx[50][80];

4•unsignedintmaxline■0;7•文章的总行16

5iintReadDat(void);

6-voidWriteDat(void);

7jvoidSortCharD(void)

R•I

if(ReadDat())

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

return;

17

18SortCharDO;

19WriteDat();

20

!/•从文件mdst中樵取一篇英文文拿存入男字符串数婚xx中•/

21IintReadDat(void)

FILEefD

24;inti•0;

25!char*p;

26jif((fpmfopenC^in.dat","r">)•"NULL)

27;return1;〃加泉文件in,d小内容为匕则返回1

!,•当从文件ln.dat中读取79个字符存入xxlil设育1•设发生时.执行微环体中的语句〃

28;while(fgets(xx[i]#80efp)!■NULL)

29;1

30•p-strchr(xx(i),tXn');〃在字符率xx[£)中秀找回车换打符事一个西配的位置

31;if(p)*p-0;〃如果p的值不为零.划元其值设置为0

32;i++;〃行爻量加】

33:}

34।maxline•1;//IE文章的总行敬M蛤攵■naxllne

35[(close(fp);

36|return0;

37;|

i/・1E怙果XX・出刎文科ouLdat中•/

38;voidWriteDat(void)

39;(

40!FILE*fp;

41junsignedinti;

Mw

42;fp•fop^n(out•dat*'t**w);

43!for(i-0;i<maxline;

44i(

H

45;printf(*%s\nrxx[1]);

46!fprintf(fp,7s\n3xxfi]);

47i}

48•fclose(fp);

49!}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

finclude<stdio.h>

2•defineMAX200

3inta[MAX),b(MAX]rent-0;

4voidwriteDat();

5voidjsVal()

6

7

8

9voidreadDat()〃从ln.dat文件中厘取200个四位数存入数殂a中

10

11int1;

12FILEefp;

Mw

13fp-fopen(in.datr"r");

14for(i-0;i<MAX;

15fscanf(fpr"Qd。Aa(i]);

16fclose(fp);

17

18voidmain()

19

20Int1;

21readDat();

22jsValO;〃=用南敷”客观・日要求的功能

23printf1满足条件的数7d\n",ent);

24for(i•0;i<ent;

25printf(*%d”,b[H);

26printf("\nw);

writeDat();

28I

29voidwriteDat(>〃圮计年站累cm以及融蛆b中栉合条件的四位数■出到ouidm文件中

30(

31FILE*fp;

32inti;

33fp•fopen(wout.dat",Rw*);

34fprintf(fp,RQd\n".ent);

3Sfor(i-0;i<ent;

w

36fprintf(fp,"%d\n#

37fclose(fp);

38

40.设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开

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

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

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

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

件out.dat中°

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

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

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

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

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

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

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

1linclude<stdio.h>

2IdefineN100

3*defineS1

4*defineM10

Sintp[100]fn,s,m:

6voidWriteDat(void);

voidJosegh(void)

8

9

10

11voidmain()

12(

13m«M;

14nwN;

15s•S;

16Josegh();

17WriteDat();

18)

/♦纪砧果p•出到文件ouutat中•/

voidWriteDat(void)

(

int1;

FILEefp;

fp•fopen("out.dat*rRww);

,•以地♦的方式,以1。个独界为-•祖把也由川口■出利解幕匍文件。ut.dm中•/

24for(i-N-1;1>»0;i-)

25

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

27;fprintf(fp,74dLp(lD;

28if(i%10-0)〃如果1■被10整除.射■出一个回东换行检

29(

30printf("\nM);

31fprintf(fp/"\n*);

32}

33)

34fclose(fp);

35

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

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

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

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

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

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

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

42.设在采用SQLServer2008数据库的图书馆应用系统中有三个基本表,

表结构如下所示,请用SQL语句完成下列两个查询:BORROWER:借

书证号姓名系名班级12011106蒋辉文计算机系12-112011107王丽计算

机系12-112012113范园园信息系12-2LOANS:借书证号图书馆登记号

借书日期12011106T0010012012.01.0212012113

T0010262013.02.O6BOOKS:索书号书名作者图书登记号出版社价格

TP311.1数据库系统李明T001001科学19.00TP311.2二级C语言王

珊1001026人民32.00(1)检索至少借了5本书的同学的借书证号、

姓名、系名和借书数量。(5分)(2)检索借书和王丽同学所借图书中的

任意一本相同的学生姓名、系名、书名和借书日期。(5分)

六、单选题口分K2题)

43.在某并行数据库中,有关系R(A,B)和S(B,C),其中R包含

1000000行数据,S包含100行数据。现有查询SELECT*=FROMR,S

WHERER.A>;S.Bo下列数据划分方式中,对该查询速度最快的是

()O

A.将R按照A属性进行散列划分,将S按照B属性进行散列划分

B.将R按照A属性进行范围划分,将S按照B属性进行范围划分

C.将R按照A属性进行范围划分,将S复制到各个节点

D.将R按照A属性进行散列划分,将s复制到各个节点

44.数据库系统的三级模式结构从数据库系统管理角度考虑数据的组织

与存储。下列不属于数据库三级模式结构的是()o

A.逻辑模式B.物理模式C.外模式D.应用模式

参考答案

LC解析:视图是基于基本表的虚表,索引是依附于基本表的,因此,

SQL通常不提供修改视图定义和修改索弓淀义的操作。用户如果想修改

视图定义或索引定义,只能先将它们删除掉,然后再重建。不过有些关

系数据库产品,如Oracle,允许直接修改视图定义。

2.B解析:SQL语言数据查询的语句是SELECT,数据操作语句有

INSERT,DELETE和UPDATE,数据定义语句有CREATE、DROP和

ALTER,数据控制语句是GRANT和REVOKE。

3.B解析:由题可知该题栈底为高地址,因此向栈中插入一数据时指向

栈顶的指针减lo

4.BPowerDesignerProcessAnalyst用于数据分析和数据发现,使用户能够

描述复杂的处理模型以反映它们的数据库模型,产生数据字典,绘制数

据流图等。PowerDesignerDataArchitect用于两层的即概念层和物理层数

据库设计和数据库构造。PowerDesignerMetaWorks通过模型的共享支

持高级团队工作的能力。PowerDesignerAppModeler用于物理(逻辑)数

据库的设计和应用对象的生成。

5.D解析:使用后续版本Power-Designer可以完成的功能有:可以画数

据流图(DFD);可以画实体联系图(E-R图),即设计概念数据模型(CDM);

可以从概念数据模型(CDM)生成物理数据模型(PDM);可以从现存数据

逆向生成物理数据模型(PDM);可以从物理数据模型(PDM)逆向生成概

念数据模型(CDM)。

6.C解析:数据仓库是一个用以更好地支持企业或组织的决策分析处理

的、面向主题的、集成的、相对稳定的、体现历史变化的数据集合。

7.A解析:数据库管理系统由三级模式组成,其中决定DBMS功能的是

逻辑模式。逻辑模式以一种数据模型为基础统一考虑了所有用户的需求,

并将这些需求有机地结合成一个逻辑整体。

8.A解析:关系模式需要满足一定的条件,最低要求的条件是元组的每

个分量必须是不可再分的数据项,这叫做第一范式,简称1NF。

9.B解析:程序状态字PSW由条件码标志和控制标志构成,其中控制信

息是由系统程序和用户程序根据需要用指令来设置的,而状态信息是由

中央处理器根据计算的结果自动设置的。

10.B解析:在设计分E-R图时,由于各个子系统分别有不同的应用,而

且往往是由不同的设计人员设计的,所以,各个分E-R图之间难免有不

一致的地方,往往引起属性冲突,结构冲突和命名冲突。

11.散列查询次数由散列算法决定,散列存放可以提高数据的查询效率

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

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

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

13.域内【解析】组播协议分为主机和路由器之间的协议,即组播组管

理协议以及路由器和路由器之间的协议。目前,组管理协议包括hxtemet

组管理协议IGMP和CiscO专用的组管理协议CGMP,组播路由协议又

分为域内组播路由协议和域间组播路由协议两类。

14.源程序源程序解析:在计算机语言中,把用高级语言和汇编语言写

的程序称为源程序,对应的机器语言程序称为目标程序。

15.可串行化可串行化解析:几个事务的并行执行是正确的,当且仅当

其结果与按某一次序串行地执行它们时的结果相同时,称这种并行调度

策略为可串行化的调度。可串行化是并行事务正确性的唯一准则。

16.响应时间响应时间解析:并行系统通过并行地使用多个CPU和磁盘

提高处理速度和I/O速度。对数据库系统的性能有两种主要的度量:吞

吐量和响应时间。

17.标识信息【解析】一旦CA验证了实体的身份,就产生一个证书,

将这个公共密钥和身份进行绑定。证书中包括公共密钥和密钥所有者的

全球惟一的标识信息。这个证书由认证中心进行数字签名。

18.0

19.4或4次4或4次解析:二分查找又称为折半查找,首先用待查元

素的关键字与线性表中间位置的一个元素的关键值做比较,若相同则查

找成功,否则以这个中间值为界将线性表分为两个子表,假设子表1中

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

大于中间元素,待查元素比中间元素值小,说明待查元素在子表1中,

完成了一次查找,这是一次失败的查找,因为11并不在序列表中,所

以一共进行了四次比较。

20.一对多一对多解析:一对多联系是关系数据中最普通的联系。在一

对多联系中,表A中的一个记录在表B中可以有多个记录与之对应,

但表B中的一个记录最多只能有一个表A的记录与之对应。

21.B

22.B

23.D解析FCB(文件控制块)是系统为管理文件而设置的一个数据结构,

是文件存在的标志,记录了系统管理文件所需要的全部信息;FIFO是

先进先出,一般表示某些算法(队列操作、存储页面淘汰等);PCB是进

程控制块,描述进程的基本情况以及进程的运行变化过程。

24.A

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

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

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

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

25.B

26.A

27.C解析:本题主要考查了实体之间多对多的联系。如果对于实体集

A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,称为

一对一联系;如果对于实体集A中的每一个实体,实体集B中有n个实体

与之联系;对于实体集B中的每一个实体,实体集A中至多有一个实体与

之联系,称实体集A与B的联系为一对多联系;如果对于实体集A中的

每一个实体,实体集B中有n个实体与之联系;对于实体集B中的每一个

实体,实体集A中有m个实体与之联系,称为多对多联系。所以C)正确。

28.D

29.A

30.C解析:数据字典是系统中各类数据描述的集合,是进行详细的数据

收集和数据分析所获得的成果。数据字典通过对数据项和数据结构的定

义宋描述数据流、数据存储的逻辑内容。所以数据字典的最基本的

温馨提示

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

评论

0/150

提交评论