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

下载本文档

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

文档简介

2022年河北省沧州市全国计算机等级考试

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

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

一、1.选择题(10题)

1.设关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,

下列叙述中正确的是()。

A.若X-Y为F所逻辑蕴涵,且ZU,则XZ-YZ为F所逻辑蕴涵

B.若X-Y,Y-Z为F所逻辑蕴涵,则X-Z为F所逻辑蕴涵

C.若YXU,则Y-X为F所逻辑蕴涵

D.若XYU,则X-Y为F所逻辑蕴涵

2.关系模型中,一个关键字

A.可由多个任意属性组成

B.至多由一个属性组成

C.可由一个或多个其值能惟一标识该关系模式或任何元组的属性组成

D.以上都不是

3.下列运算不是专门的关系运算。

A.选择B.投影C.笛卡尔积D.连接

4.数据库系统的核心是__。()

A.编译系统B.数据库C.操作系统D.数据库管理系统

5.在Oracle中,可以根据用户建立的模型,自动生成数据字典、数据库

表、应用代码和文档的工具是

A.OracleFormsB.ModelersC.GeneratorsD.BPR

6.设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),

要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的

快速排序法,第一趟完成后关键码95被放到了第几个位置?

A.7B.8C,9D.10

7.关于进程调度算法中的轮转法,下列描叙不正确的是

A.就绪队列按FCFS方式排队

B.就绪队列按FIFO方式排队

C.每个运行进程一次占有处理器时间可以超过规定的实际单位

D.可以调用调度原语而形成就绪进程轮流使用服务器

8.利用计算机帮助学员进行学习,将教学内容加以组织使学生通过人机

交互自如地学习,这属于计算机应用的哪一个领域?

A.CADB.CAIC.CAMD.CAT

9.有如下请求磁盘服务的队列,要访问的磁道分别是98、183列7、122、

14、124、65、67o现在磁头在53道上,若按最短寻道时间优先法,磁

头的移动道数是

A.234B.235C.236D.237

10.

设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y,下面关于多值依赖的叙述中,不正确的是().

A)若Z=o,贝灰-fY

B)若Xf—Y,贝IJX——Z

C)若X-Y,则XffY

D)若XffY,且Y"包含Y,则Xf—M

二、填空题(10题)

IL不让死锁发生的策略可以分成静态和动态的两种,死锁预防属于【】

12.ADSL技术通常使用一_________对线进行信息传输。

13.在双向链表中,每个结点都含有两个指针域,它们一个指向其前驱结

点,另一个指向其【】结点

14.层次模型和网状模型统称为【】模型。

15.若线性表的长度经常发生变化,那么该线性表应采用的存储结构是_[]_

16.第三代数据库系统(或新一代数据库系统)是____技术和数据库技

术相结合的系统。

17.在HTML语言中,<IMG>标记用于表示。

18.UNIX内核部分包括文件子系统和控制子系统。

19.在SQL语言中,允许获得某种权限的用户把这种权限再转授给其他

用户,可以在GRANT语句中指定_____子句。

20.

用数加A11…nJ・序存储完全二叉树的各结点,则'i>0.fl,Q_____时,

结点A[i]的右子女是结点A[2M].令耐结点A[i]没有右千女丁

三、单选题(10题)

21.整个软件生存期中时间最长蹬是()

A.需求分析B.设计C.程序编制D.运行维护

22.在关系数据库设计中,设计关系模式是()的任务。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段

23.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机

中的表示,它是数据库设计的()阶段。

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

24.E-R模型转换成关系模型是在数据库设计阶段中的()阶段。

A.概念设计B.逻辑设计C.物理设计D.实现

25.密钥管理包括密钥的生产、存储、装入、分配、保护、销毁以及保密

等内容,其中最关键和最困难的问题是()。

A.密钥的分配和存储B.密钥的产生和装入C.密钥的保护和保密D.密

钥的销毁

26.下列关于SQLServer数据库服务器登录账户的说法中,错误的是

A.登录账户的来源可以是Windows用户,也可以是非Windows用户

B.所有的Windows用户都自动是SQLServer的合法账户

C.在Windows身份验证模式下,不允许非Windows身份的用户登录到

SQLServer服务器

D.sa是SQLServer提供的一个具有系统管理员权限的默认登录账户

27.描述概念模型的常用方法是

A.建立数据模型方法B.需求分析方法C.二维表方法D.实体-联系方

28.收缩整个数据库的大小,可以采用下列语句:()

A.DBCCSHRINKDATABASE

B.DBCCSHRINKFILE

C.ALTERDATABASE

D.CREATESCHEMA

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

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

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

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

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

A.I和IIB.I和nic.ii、m和wD.全都是

30.用户对SQL数据库的访问权限中,如果只允许删除基本表中的元组,

应授予哪一种权限?

A.DROPB.DELETEC.ALTERD.UPDATE

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

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

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

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

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

制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名

称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell

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

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

题:产品名称比较请用函数strcrnp进行解题。例如:sell[i]=temp;

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

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

!linclude<3tdio.h>

2;Iinclude<string.h>

3■*include<stdlib.h>

4•defineMAX100

Stypedefstruct

6(

7chardm[5];/•产品代码•/

8charme(111;/•产品名称•/

9intd"/,单价•/

10intal;/•Bl•/

11longje;/•金1•/

12IPRO;

13PROsell(MAX);

14voidReadDat();

15voidWrlteDat();

16voidSortDat()

17

18

19

20voidmain()

211

22m^rnset(sell,0,sizeof(sell));

23ReadDat();

24SortDatO;

25WriteDat();

26

27voidReadDat()

28(•

29FILE«fp;

30charstr(B0],ch[llj;

31int1;

32fp-fopent^ln.dat",wrw);

33for(i-0;i<100;if)

34

35fgets(9tr>80.fp);

36meraepy(sell[i].dm#str,4);

37memcpy(sell(1).mc«str♦4*10);

38inamcpy(ch»atr^14r4);ch[4]-0;

39sei1(1|«dj•atol(ch);

40memcpyfch,str*18*5);ch(51-0;

41sell|i]<sX■atoi(ch);

42•(long)sell[i].dj•sell(1].81;

43)

44fclose(fp);

45

46JvoidWriteDat()

47)<

48FltE*fp;

49inti;

50fp■fopen("out.dat","ww);

51ford-0;1<100;

52I

53fprintf(fp,**s%5MdI5dtl01d\n*»sell(i•dm.sell(i).dj,sellfl].slr

sell[ij.je);

S4I

55fclose(fp);

56♦)

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

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

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

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

替代关系:)=p*17mod256,mod为取余运算,p是数组)xx中某一个字

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

型变量),如果计算后f(p)值小于等于32或f(p)是奇数时,则该字符不

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

注意,部分源程序存放在lotx文件中.总的数据文件存放的格式般,每行的宽度均小于80个字符.含标点杼号卿空

格,井也按此傅代关系进行处理.

请勿改动主函效mimO、读函数RoidDMl)和■出函散WmeDaiO的内本.

1tinclude<9tdlo.h>

2•Include<strin9.h>

3•include<ctype.h>

4unsignedcharxx[50][80);

5intmaxline■Of/♦文章的总打敏•/

6xntReadDat(void);

7voidWriteDat(void);

evoidencxyptChar0

9(

iounsignedIncval:

11

12

13voidmam()

14(

15if(ReadDat())

16(

17printfLift据文件in,dat不能打开!\n\007w);

18return;

19

20encryptChar();

21WriteDatO;

I

22八从文件ilLdBi中博取一・英文文章.存入到无符号?押申数粗»中•/

23intReadDat(void)

24(

25FILEwfp;

26inti00;

27unsignedchar*p;

28if((fp-fopen「mdaL,F))-NULL)

29return1;

30while(fgets(xx[1],80/fp)!-NULL)

31(

32p•strchr(xx[1],*\n*);

33if(p)*p-0;

34

35)

36maxline-1;

37fclose(fp);

38return0;

39/•把站梁xx•出到文件outdat中•/

40voidWriteDat(void)

41(

42FILE*fp;

43int1;

44fp■fopen("out.datH,;

45for(1-0;i<maxline;

46(

w,

47printf(%s\n'/xx[1]);

48fprintf(fp,xx(i]);

49J

50fclose(fp);

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

串数组XX中,请编制函数StrCharJR,其函数的功能是t以该文章中的

行为单位把字符串中的所有字符的二进制ASCII值右移4位,高位补

0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的

值仍存入原字符串对应的位置上,之后把已处理的结果仍按行重新存入

数组XX中。最后main函数调用函数WriteOat把结果XX输出到文件

out.dat中。

例如:

"z”对应的ASCII值为7AH,二进制值为01111010,右移4位后为

00000111,加上原来"2"的ASCII值01111010得至1J10000001结果。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符

号和空格,并也按字符处理。

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

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

:j•include<stdio.h>

!iinclude<string.h>

3\charxx[501(80];

4!intmaxline=0;/•文聿的总行数,/

5•intReadDat(void);

6;voidWriteDat(void);

7jvoidStrCharJR(void)

8

9

10

111voidmain0

12;I

13!if(ReadDatO)

14f1

15printf("效据文件in.dat不能打开!\n\007">;

16return;

17j»

18?StrCharJRO;

19;WriteDat();

20

;八从文"中读取iJI英文文章存入到字符串敛fiiXi中♦/

21jintReadDat(void)

22!I

23JFILE»fp;

24!inti-0;»

25;char.p;

26if((fp-fopen(•*in.dat",,•?••))-NULL)

27return1;

28!whlle(fgets(xx(i|,80rfp)!-NULL)

29

,:p=strchr(xx[i)f,Xn,);

31if(p)*p-0;

32if

33!)

34maxiine-i;

35!fclose(fp);

36ireturn0;

37P

J/•把结果”■出到文仰OUL&1中•/

38•voidWriteDat(void)

39p

40FILEwfp;

41!inti;

42fp«fopen("out.datM,www);

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

44(

R

45printf(is\n"rxx(i});

wM

46fprintf(fp,%s\nfxx[1i);

47

48fcloseIfp);

49

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

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

上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数

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

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

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

例如:9123.9-1-2-3>0.则诙数满足条件存入数组b中,且个数cnmt+l.

9812,9-8-1-20,则该数不满足条件忽略.

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

程序中已定义效组:a[300),b{300).己定义变量tent

请勿改动数据文件imdal中的任何数据、主函数读函数reMD«()和耳函数writeDmO的内容•

finclude<stdio.h>

inta(3001,b(300Bcnt-O:〃定义・野依蛆cb【3。0】和受・ent.并且st的初值为0

voidwriteDat();

4voidreadDatO;

5voidjsVa1ue()

6

7

8

9main()

10(

11inti;

12readDat();

13isValue();

29•(

30-FILE*fp;

31!int1;

32ifp=fopen(wout.datw,"wR);

H

33\fprintf(tp,%d\n"rent);

34•for(i-0;i<ent;if

35:fprintf(£p,Fd\n",b[it

36!fclose(fp)s

37\}

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

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

以行为单位对字符串变量的下标为奇数的位置上的字符按其ASCII值

从小到大的顺序进行排序,下标为偶数的位置上的字符仍按原来位置存

放,排序后的结果仍按行重新存入字符串数组)XX中,最后调用函数

WrriteDat把结果xx输出到out.dat文件中。

例如:位置01234567

源字符串hgfedeba

则处理后字符串hafedebs

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

请勿改动数据文件Hdat中的任何数据、主函数main。、读函数re«n>at()和耳函败writeDat()的内容.

■include<stdio.h>

yllnclude<string.h>

3voidreadDat();

4voidwriteDat();

5charxx(20J(80]:

6voidjsSort()

e

9

10jvoidmain()

11;(

12•readDat();

13jsSort();

14writeDat();

15i)

;“从文件iadtf中谟取20打数据存放到字柯串数蛆xx中•/

16!voidreadDat()

17•(

18•FILE•in;

19!inti■0;

20;char*p;

21!in•fopen("in.dat"/°r");

22{while(i<20&&fgets(xx[1],80,in)!-NULL)

j

23j(

2Ap•strchr(xx[i]**\n*);

25if(p)*p•0;

26if

27i)

28;fdose(in);

29!)

•/♦把懦果出到OUt<fal文件中•/

30;voidwriteDat()

31\(

32FILE*OUt;

33•int1;

w

34out-fopen("out.date;

35for(1•0;i<20;

36

37printfxx[1]);

wH

3Bfprintf(out,%s\n,xx[1]);

39

40fclose(out);

41

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

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

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

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

出到文件out.dat中。

例:原文:dAe,BfC.

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

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

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

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

的内容。

・include<stdio«h>

■include<string.h>

3charxxlSO)(80);

4unsignedintmaxline0;7•文章的总行Ift•/

5intReadDat(void);

6voidWriteDat(void);

7voidSortCharD(void)

B

10

11voidmain()

12

13if(ReadDat())

14(

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

16return;

17»

SortCharDO;

WriteDat();

20)

/•从文传中速取一■英文文拿存入髯字希$畋皿XX中•/

21intReadDat(void)

22

23FILEefD;

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!}

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

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

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

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

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

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

例如.7153,7*1-5+3,则该效满足条件存入敷中,且个敷cnfcnt+l.

8129.8+1!»2+9.则该数不湎定条件忽略.

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

程序中已定义改组:4300].b[300J.巳定义登■,ent

请勿改动数据文flin.dat中的任何数据.Iliftftmain().读函数rradDat。和*;函数wnteDatO的内容.

1;tinclude<stdio.h>

2!inta(300]b|300]cnt-0;

ir9

3;voidreadDat();

4-voidwriteDat();

5jjsValue()

6\I

71

8

9:mainO

10

11int1;

12readDat();

13jsValue();

14wrlteDat();

Hw

15printf(cnt=%d\n,ent);

16for(i■0;i<ent;W)

17;printf(wb[ld]

IS*)

19»voidreadDat()

20•(

21JFILEwfp;

22inti;

23fp-fopen("In.dAt**,HrH);

24for(i«0;i<300;i+4-)

25fscanf(fp,

26fclose(fp);

21

28voidwriteDatO

29

30FILE*fp;

31inti;

32fp=fopen(*"out"w");

33fprintf(fp,w%d\nw^ent);

34ford-0;i<ent;"♦)

35fprintf(fp#*%d\n*/b(i));

36fclose(fp);

37

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

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

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

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

出到文件out.dat中。

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

右边部分不变,左边经排序后再与右边部分进行交换。如果原字符串长

度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

例fch位置012345678

源字符率dcbahgfe

432198765

则处理后字符中hgfcabcd

876591234

注意,部分源程序存在teste文件中•

请匆改动数据文件in.dal中的任何1!(据、主函数main()、设函数readDatO和写函数writeDatO的内容.

1;iinclude<stdio«h>

2:*include<string.h>

3jvoidreadDat();

4jvoidwriteDat();

5*charxx[20][801;

6;voidjsSort()

7i(

j

8I

9;)

10;voidmainO

11;(

12•readDat();

13:jsSortO;

14!writeDatO;

15\)

!,•从文件m.dai中父取20tj数福存放到字符串软觎xx中•/

16jvoidreadDat()

17?/

18}FILE*in;

19jint1-0;

20*char*p;

www

21;in■fopen(in.datr*r);

22!whiled<20“fgets(xxli)r80,in)!-NULL)

23\(

24-p-strehr(xx[i)t,\n,);

25jif(p)*p-0;

26j

27•)

28;fclose(in);

29;}

i/•尼站果xx・出到文件om&t中•/

30*voidwrxteDat()

31j1

32-FILEeout;

33jint1;

34;out-fopen(*out.dat*,*w**);

37Iprintfxx(l]);

38ifprintf(out,xx(i));

39\)

40;fclose(out);

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如:位置012345678

源字符串ibcdhgfe

123498765

则处理后字符串hgfcdcba

876594321

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

请勿改动数据文件M.dat中的任何数据、主函数读函数rcadD叫)和写的数writcDaU)的内容.

1i!linclude<stdio.h>

2;•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

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

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

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

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

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

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

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

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

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

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

进行处理。

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

内谷。

•include<stdio.h>

tinclude<strlng.h>

3•include<ctype.h>

unsignedcharxx[50][80];

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

6intReadDat(void);

7!voidWriteDat(void);

8«voidencryptChar()

10!

11j)

12JvoidmainO

13•(

14iif(ReadDat0)

15\1

161printf(-数据文件in.daw不能打开!\n\007"”

17return;

18

19encryptCharO;

WriteDat();

21

/•从文件ndu中谟取・英文文存人■无M号字折席敏烟«中•/

22intReadDat(void)

23

FILE*fp;

25int1-0;

26unsignedchar*p;

27if((fp*fopen(win.datw,^r"))«-NULL)

28return1;

29while(fgeta(xx[i],80<fp)!"NULL)

30

31p-strchr(xx(1]/*\n*);

32if(p)*p■0;

33

34}

35maxline・i;

36fclose(fp);

37return0;

38

八纪雄果XX•出到文件OULdft中♦/

39voidWriteDat(void)

40(

41FILE*fp;

42inti;

M

43fp•fopen("out.datr"w");

44for(i-0;i<maxline;“♦)

45(

w

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

47fprintf(fp,7s\n",xx[i));

48)

49fclose(fp);

50

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

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

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

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

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

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

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

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

42.设某教学管理系统,其查询模块需要提供如下功能:I.查询系信

息,列出各系编号、系名和系办公电话;II.查询某系教师的信息,

列出教师号、教师名、工资和聘用日期;m.查询某教师讲授的课程

信息,列出课程号、课程名和学分;IV.查询讲授某门课程的教师信

息,列出教师名和职称;v.查询某门课程的先修课程信息,列出先修

课程号和先修课程名。系统有如下业务规则:I.一个系可聘用多名

教师,一名教师只能受聘于一个系;ii.一名教师可讲授多门课程,

一门课程可由多名教师讲授;m.一门课程可以有多门先修课程,也

可以没有先修课程。(1)请根据以上查询功能与业务规则,用ER图

描述该系统的概念模型。(5分)(2)将ER图转换为满足3NF的关

系模式,并说明每个关系模式的主码和外码。(5分)

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

43.实体联系模型简称ER模型,是数据库设计常用的一种建模方法。关

于ER模型,下列说法错误的是()。

A.ER模型能帮助建模人员用一种简单的方法描述现实世界中的数据及

数据之间的联系

B.用ER模型建模的基本思路是分类标识客观事物,将具有相同属性特

征的事物抽象为实体集

C.ER模型可以描述实体集之间一对一、一对多和多对多联系,也可以

描述一个实体集中记录之间的联系

D.用ER模型描述实体集之问的联系时,需要考虑数据在计算机中存储

及处理的特征

44.下列哪些属性不适合建立索引()。

A.经常出现在GROUPBY字句中的属性

B.经常参与连接操作的属性

C.经常出现在WHERE字句中的属性

D.经常需要进行更新操作的属性

参考答案

LA解析:逻辑蕴含的定义是:设R<U,F>是一个关系模式,X、Y

是U中的属性组,若在R<U,F>的任何一个满足F中函数依赖的关

系r上,都有函数依赖X-Y成立,则称F逻辑蕴含X-Y。另外,

Armstrong公理系统包括3条推理规则:①自反律。若YXU,则X-Y

为F所逻辑蕴含。②增广律。若X-Y为F所逻辑蕴含,且ZU,则

XZ-YZ为F所逻辑蕴含。③传递律.着X-Y及Y-Z为F所逻辑蕴

含,则X-Z为F所逻辑蕴含。根据这个定义和以上几条推理规则,可

以知道选项C)和D)是错误的(两题本质上是一样的)。选项B)看上去像

是传递律的表述,不过仔细看可以发现结论反了。

2.C解析:关键字:属性或属性的集合,其值惟一标识一个元组。

3.C解析:选择、投影和连接运算属于专门的关系运算,而笛卡尔积属

于集合运算。

4.D解析:数据库系统一般由数据库、数据库管理系统(DBMS)、应用系

统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。

5.C解析:在Oracle中,OracleForms用来快速生成基于屏幕的复杂应

用的工具;BPR用于过程建模;Modelers用于系统设计与建模;

Generators根据用户建立的模型,自动生成数据字典、数据库表、应用

代码和文档。掌握Oracle数据库服务器功能及其特点,Oracle的连接产

品及其功能。

6.B解析:快速排序法的基本方法是:在待排序序列中任取一记录,以

它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的一

部分,关键码值比它大的另一部分,再分别对两个部分实施上述过程,

一直重复到排序完成。在本题中采取以第一个关键码25为分界元素,

按照快速排序的思想,第一趟完成后关键码序列变为(18,9,12,25,

33,67,82,53,95,70),所以关键码95位置没变,还是第8。本题

正确答案为选项B(8)。

7.C解析:进程调度算法中的轮转法:就绪队列按FCFS方式排队。每

个运行进程一次占有处理器时间都不超过规定的实际单位。若超过,即

调用调度原语而形成就绪进程轮流使用服务器。FCFS算法指先进先服

务算法又称FIFO算法。

8.B解析:CAD是计算机辅助设计,是利用计算机帮助设计人员进行产

品、工程设计的重要技术手段;CAI是计算机辅助教学,利用计算机对

帮助学员进行学习,将教学内容加以组织使学生通过人机交互自如地学

习;CAM是计算机辅助制造,利用计算机进行生产设备的控制、操作

和管理的系统;CAT是计算机辅助测试,利用计算机来辅助进行复杂而

大量的测试工作的系统。

9.C解析:“最短寻道时间优先”算法总是让查找时间最短的那个请求先

执行,而不管请求访问者到来的先后时间。即靠近当前移动臂位置的请

求访问者将优先执行。当前磁头在53道上,则总的移动道数是:

12+2+30+23+84+24+2+59=236。

10.D解析:设R(U)是属性集U上的关系模式,X,Y,Z是U的子集,

并且Z=U-X-Y。多值依赖X一一Y成立,当且仅当对R(U)的任意关系

r,给定一对(X,Z)值,对应一组Y值,这组值仅仅决定于X值,而与Z

值无关。平凡多值依赖:若X—>—>Y,X=(p则称X—>—>Y为平凡多值依

赖。

11.静态的根据死锁产生的四个必要条件,只要使其一不发生,则可避免

死锁发生,死锁预防是属于一种静态的策略

12.1【解析】ADSL技术通常使用1对线进行信息传输。

13.后继双向链表中,一个指针指向前驱或前件,一个指针指向后继或后

件。

14.非关系非关系

15.链式存储结构在计算机中用一组任意的存储单元存储线性表的数据

元素(这组存储单元可以是连续的,也可以是不连续的).\r\n\u3000\u3000

它不要求逻辑上相邻的元素在物理位置上也相邻.因此它没有顺序存储

结构所具有的弱点,但也同时失去了顺序表可随机存取的优点\r\n

16.面向对象或00面向对象或00

17.图像【解析】页面是一种结构化文档,采用超文本标记语言(HTML)

书写而成。HTML是一个简单的标记语言。用来描述Web文档的结构。

①基本结构

18.进程【解析】UNIX的系统结构可分为两大部分,一部分是操作系

统的内核,另一部分是系统的外壳。内核部分由文件子系统和进程控制

子系统组成;外壳由Shell解释程序、支持程序设计的各种语言、编译

程序和解释程序、实用程序和系统调用接口等组成。

19.WITHGRANTOPTIONWITHGRANTOPTION解析:GRANT语句

的一般格式为:

GRANT<权限》[,(权限)]…

[ON<对象类型><对象名>]

TO〈用户>[<用户>]...

[WITHGRANTOPTION];

其中若指定了WITHGRANTOPTION子句,则获得某种权限的用户还

可以把这种权限再授予其他的用户。若没有指定WITHGRANTOPTION

子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。

2O.[(n-l)/2]【解析】完全二叉树中除最下面一层外,各层都被结点充满

了,每一层结点个数恰是上一层结点个数的2倍。因此,从一个结点的

编号就可以推知它的双亲及左、右子女结点的编号。当i<n/2时,结点

i的左子女是结点2i,否则结点i没有左子女;当i<(n-1)/2时,结点i

的右子女是结点2i+l,否则结点i没有右子女;当详1时,结点i的双

亲是结点”2]。

21.D

22.C解析:把概念设计阶段设计好的基本E-R图转换为与选用的具体

机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式

和外模式)。这些模式在功能上、完整性和一致性约束及数据库的可扩充

性等方面均应满足用户的各种要求。

23.B

24.B

25.A

26.B

27.D解析:概念模型的表示方法很多,其中最为著名和常用的是

P.P.S.Chen提出的实体一联系方法。该方法用E-R图来描述现实世界的

概念模型。

28.A

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

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

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

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

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

试器和多种调试方式等。

30.B解析:允许删除基本表中的元组的权限是DELETE。

31.\n[审题关键句】计算金额,按产品名称从大到小进行排列,相同的

则按金额从大到小排列,结果存入结构数组。

\n【解题思路】

\n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第8行进行修改即可。

\n【参考答案】

\n

\n

32,\n【审题关键句】字符替代f(p)=p*llmod256,小于等于32或ASCII

码是奇数不变,否则替换。

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第6行,修改if条件语句的设置即可。

\n【参考答案】

\n

\n

33.\n[审题关键句】字符的ASCII值右移4位二进制位,高位补。后加

原字符的ASCII值。

\n【解题思路】

\n①定义两个循环变量i、j和一个无符号字符变量tmp。

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

等于文章最大行数maxline。在第二个for循环中,从每行第1个字符开

始,依次递增直到其值等于该行字符串的最大长度,然后在循环体中指

定每次循环时,将第i行第i个位置上的字符的ASCII值的二进制数右

移4位,然后将所得的值再加上原字符的ASCII码值。

\n【参考答案】

\n

34.\n[审题关键句】千数-百位-十位-个位数大于零的个数,把所有满足

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

\n【解题思路】

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

计的四位数的条件是“千数-百位-十位-个位数大于零”,参考答案的第8

条语句修改if语句的判断条件。另外,对于数据交换的整型变量trap可

以自定义其变量名。

\n【参考答案】

\n

\n

\n

35.\n[审题关键句】以行为单位对字符串变量的下标为奇数的字符按从

小到大排序,结果仍按行重新存入字符串数组中。

\n【解题思路】

\n①因为要进行字符之间的互换,所以定义局部字符变量ch。定义循环

变量i、isko

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

或大于20,在循环体中实现对每行字符串的处理。在循环体中执行第二

层for循环,循环变量j从1开始,依次递增2直到其值等于

(int)strlen(xx[i]),在第三层for循环中,循环变量k从j+2开始,依次递

增2,直到其值等于(int)strlen(xx[i]),如果字符)XX[i]田的ASCII码值大

于)XX[i][k]的ASCII码值,则两者进行互换,实现字符串)XX[i]中下标

为奇数的位置上的字符按其ASCII值从小到大的顺序进行排序,下标为

偶数的位置上的字符仍按原来位置存放的功能。

\n【参考答案】

\n

\n

36.【审题关键句】以行为单位对字符按从大到小排序,结果仍按行重新

存入字符串数组中。

\n【解题思路】

\n①首先定义字符变量ch和无符号整型变量i、j、k0

\n②对字符二维数组XX,在第一层for循环中,变量i从0开始,依次

递增直到其值等于m

温馨提示

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

评论

0/150

提交评论