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

下载本文档

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

文档简介

2022年山东省威海市全国计算机等级考试

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

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

一、1.选择题(10题)

1.下述数据库系统中,属于第一代数据库系统的是____.0

A.SybaseB.IngresC.IMSD.ObjectStore

2.以下哪一个不是队列的基本运算?

A.从队尾插入一个新元素B.从队列中删除第i个元素C.判断一个队列

是否为空D.读取队头元素的值

3.下列叙述正确的是

A.同一关系内部属性之间不能存在引用关系

B.外码一定要与相应的主码同名

C同一个关系中不允许出现完全相同的元组

D.同一个关系中主码的值可以相同

4.系统进行资源分配和调度的独立单位是

A.进程B.线程C.中断程序D.用户程序

5.下列说法中正确的是

A.死锁是操作系统中的问题,数据库系统中不存在

B.只有在执行并发操作时才有可能出现死锁

C.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库

D.当多个用户竞争访问相同的资源时不会发生死锁

6.下列关于分布式数据库系统的叙述中,不正确的是()。

A.分布式数据库系统中的结点是紧耦合的,它们形成单一的数据库系统

B.分布式数据库系统中的结点是松耦合的,每一个结点都是一个独立的

数据库系统

C.分布式数据库系统用户的操作与非分布式数据库系统的操作是完全

相同的

D.分布式数据库系统的所有问题应当是内部的、实现级别的问题

7.下列哪一项是数据库系统的核心和基础?

A.数据模型B.数据库管理系统C.数据库技术D.关系理论

8.SQL语言的REVOKE语句实现下列哪一种数据控制功能

A.可靠性控制B.并发性控制C.安全性控制D.完整性控制

9.对线性表进行二分法查找,其前提条件是_____。

A.线性表以顺序方式存储,并已按关键码值排好序

B.线性表以顺序方式存储,并已按关键码值的查找频率排好序

C.线性表以链接方式存储,并已按关键码值排好序

D.线性表以链接方式存储,并已按关键码值的查找频率排好序

10.线性表是一个具有n个什么项目的有限序列?

A.表元素B.字符C.数据元素D.数据项

二、填空题(10题)

H.IPTV包括视频点播、直播电视和3个基本业务。

12.OS1参考模型中,网络层的主要功能有:拥塞控制和

网络互联等。

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

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

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

14.搜索引擎在外观、功能等方面都不相同,但其构成一般包括搜索器、

索引器、和用户接口4个部分。

15.计算机应用技术领域包括科学计算、事务处理、过程控制、辅助工程、

网络应用和多媒体的应用等七大领域。

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

17.是用户接入Internet的入口点,一方面它为用户提供Internet

接入服务,另一方面,它也为用户提供各类信息服务。

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

19.数据库系统的三级组织结构中,DBA视图是【】。

20.设关系R(A,B,C)和S(A,D,E,F)有R.A。若将关系代数

表达式兀RARB.SD.SF(RS)用SQL的查询语句表示,则有:SELECT

R.A,R.B,S,D,S.FFROMR,SWHERE[]

三、单选题(10题)

21.病毒的主要特性表现在如下哪几个方面?()

I.传染性

II.灵活性

III.破坏性

IV.隐蔽性

V.常驻内存

A.I、II和mB.I、n和wc.II、m和wD.全都是

22.下列哪一条不属于数据库设计的任务?

A.进行需求分析B.设计数据库管理系统C.设计数据库逻辑结构D.设

计数据库物理结构

23.ODBC是()

A.客户机与服务器之间的接口标准B.数据库查询语言标准C数据库

应用开发工具标准D.数据安全性标准

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

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

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

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

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

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

25.关于AdHoe网络的描述中,错误的是()

A.A.是一种对等式的无线移动网络

B.在WLAN的基础上发展起来

C.采用无基站的通信模式

D.在军事领域应用广泛

26.下述哪个成立时,称X-Y为平凡的函数依赖?

A.XYB.YXC.XPY=D.XPY#

27.以下有关数据结构的叙述,正确的是()

A.线性表的线性存储结构优于链式存储结构

B.二叉树的第i层上有2i-l个结点,深度为k的二叉树上有2k-1个结

C二维数组是其数据元素为线性表的线性表

D.栈的操作方式是先进先出

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

语句UPDATE实现()功能。

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

29.在SQL语言中,()子句能够实现关系参照性规则。

A.PRIMARYKEY

B.NOTNULL

C.FOREIGNKEY

D.FOREIGNKEY...REFERENCES...

30.下列存储管理方案中,()允许动态扩充内存容量。

A.固定分区B.可变分区C.页式D.虚拟页式

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

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

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

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

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

出到文件out.dat中。

例:原文:dAe,BfC.

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

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

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

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

的内容。

linclude<stdio«h>

•include<string.h>

3charxx[50)(80);

*1unsignedintmaxline0;八文章的总行数•1

5intReadDat(void);

6voidWriteDat(void);

7voidSortCharD(void)

8

9

10

11voidmain()

12

13if(ReadDat())

14(

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

16return;

17

18SortCharD0;

19WriteDat();

20

/♦从文件rndst中读取一篇英文文拿并人胃字符申敷tflXX中•/

21intReadDat(void)

22

23•FILE

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

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郎果博出到文件即如中,/

22voidReadWrite()

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.

函数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的内容。

4•Intmaxline-0;/•文聿的总行敷•/

5•intReadDat(void);

6;voidWriteDat(void);

!,•以后为•位忙字符串中的析科小耳学用改写成力学阳的上一个字用,如量能?用M修改写A字艰加M他字符保》不克♦/

7।voidConvertCharD(void)

8

9

10

11;voidmain()

12\I

13•if(ReadDatO)

14I(

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

16return;

17|I

[8»ConvertCharD(>;

19\WriteDatO;

20!J

;“从文件m&t中it以・英文文拿存入期字符mxx中。/

21!intReadDat(void)

I

22।(

23:FILE-fp;

24iint1-0;

25char・p;

ZE•if((fp-fopen("ln.dat*r*r**))-NULL)

27return1;

28•while(fget3(xx[1],80«fp)!•NULL)

29j(

30p•strcbr(xx(1],*\n•I;

31if(p)*p•0;

32!♦*;

33

34;tnaxline■i;

35!fclose(fp);

36jreturn0;

37

;/结果H■巾*文件am中•/

3B\voidWriteDat(void)

39)(

40FILEefp;

41*inti;

42fp-topen(wout.dat*,"w**);

43for(1-0;1<moxllno;)

44i(

45printfxx(1|;

46fprintf(fpr"Qs\n**.xx(i));

47

48।fcloae(fp);

49

34.程序test.C的功能是:把s字符串中的所有字符左移一个位置,串

中的第一个字符移到最后。请考生编写函数chg(char*s)实现程序要求,

最后调用函数readwriteDAT把结果输出到Out.dat文件中。

侪如S2字符串中醺有内容为;MnJ23xyZ.则■用谀的数后,结果为trtl23xyZM.

拄麻r部分源程序存在U»t.C文件中.

清初改动数据文件in.dat中的任何效据.在函数mainO和愉出函数readwntcDATO的内容.

1[*include<atdio4h>

2[llncludevxricg.hA

3»fdefineN81〃定义堡交■外寓侑存于“

4;voidreadwriteDAT();

5!voidchg(char•»)

6।(

8

12!printf(HEnterastring:**);gets(a);

13]printt!"Theoriginalstringis:puts(a);

14'chg(a);

15iprintf("Thestringaftermodified:");

16-puts(a);

17ireadwriteDAT();

18:1

»,•从食件!中&入字样本・除字籽由今皆・•01用金数的口》对字符*掖照■目的要ma」处理,并纪处理处餐”入射文件

;out.dat3•/

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

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

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

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

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

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

字),如果新组成的两个数ab-cd>=0且ab.cd<=10且两个数均是奇数,

同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到

小的顺序存入数组b中,并要计算满足上述条件的四位数的个数ent。

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

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

注意I部分图程序存在工C文件中.

程序中已定义数fth4200].b[200],已定义变='ent

请勿改动敷据文件iruiai中的任何数据.主函读函数rradDatO和写函数writeDaM)的内容.

1•Iinclude<stdio.h>

2jIdefineMAX200〃定义宏堂UMAX.H值等干z。。

3•inta[MAX)tb[MAXJ,ent-0;〃定义全局鲁型Tft敷烟alMAX).b[WAX?和受■ent,汽葡(ft等于。

4;voidwriteDat();

5;voidjsVal()

6i1(

7i

8\1

9;voidreadDatO〃从幺文件中it取200个四付族存入敷IS.中

10;(

11!int1;

12jFILEefp;

13;fp-fopen("in.dat*,;

14।!ford-0;i<MAX;

15ifscanf(fpr(a(1])•

16;fclose(fp);

17iI

i

18(voidmain()

21readDat();

22jsvaio;〃•用”vno的总实现融目要求的动俺

23printf「满足条件的n".ent);

24for(i*0;i<ent;i++)

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

26printf;

27writeDat();

28j)

29voidwriteDatO〃化itir姑累cm以及数饵b中符合条件的四位数■出到OULdM文件中

30

31FILE#fp;

32int1;

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

34fprintf(fp,fd\n",ent);

35for(i•0;1<ent;

36fprintf(fpr-%d\n"rb(il);

37fclose(fp);

38

36.设有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个位置上,而原

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

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

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

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

1•linclude<stdio.h>

2;IdefineN100

3j«defineS1

4;*defineM10

5!intp(100]9nrsrm;

6;voidWriteDat(void);

voidJoscgh(void)

8

9

10

11voidmain()

12

13m«M;

14nN;

15S;

16Josegh();

17WriteDat();

18

/*忙姑里p•出到文件gutat中•/

voidWriteDat(void)

int1;

FILEefp;

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

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

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

25

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

27ifprintf(fp,"Md",pfl]);

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

29(

30printf("\nM);

31fprintf(fp/"\n*);

32}

33)

34fclose(fp);

35

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1ilinclude<stdio.h>

2IIdefineMAX200

3■inta[MAX],b(MAX]9ent■0;

4!voidwriteDat();

5;voidjsVal()

6•J

7i

8;}

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

10\(

11;int£;

12!FILEefp;

131fp•fopen

14•for(i•0;i<MAX;[♦+)

15!fscanf(fp#Fd。;

16;fclose(fp);

17!1

18»voidmain()

19;(•

20!inti;

21treadDat();

22;jsValO;〃•用南敏”hl。,实现Ihi要求的功能

23jprintf满足条件的融**d\n”,ent);

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

25!printf(M%d,b[i]);

26?printf("\nw);

27writeDat();

28I

29voidwriteDat(>〃纪计年龄果ent以及敷蛆b中的合条件的四位Ik・出到oui.dm文件中

30(

31FILE*fp;

32inti;

33fp■fopen(wout.datw,Rww);

34fprintf(fp,7d\nLent);

35for(1■0;i<ent;

36fprintf(fp,"tdXn**/b[i));

37fclose(fp);

38

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

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

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

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

部分源程序存放在UM.C文件中.

请勿改动主函数nuinO和输出数据函数WTUCDATO的内容.

1?Hnclude<stdio.h>句贝明各税库中包含vBO中的标瘴■人■卅nr■故皿上

2•voidwriteDATO;〃谓数.KASMT什的声明遇句

3;Antcntrsun;〃定义全局■厘堂・门u.gg

4!intisPrime(intnumber)〃■盘“Pdnsmumber)%断nuaber是否是K&,如JIJllC败.电蛔回的债等1

»】・杏剂返I可tag的使等于。

xntittag-1;〃定文身■1利caq,#旦”攵■“Q的初值等于1

if(number”11

return0;〃如里nunfc«工的他善于1.划坂同。

for(1-2;tag“i<-number/2;i++)〃变量,从2开的,七次次IAXnfll小方等rn«abe“2

ll«Bto?的值再于:H.■出fll环

if(number11••0)

tag•0;Z/tl*nunbftrft*itag0

returntag;〃篇回殳的1ft

I

voidcountV&lue()

voidmain()

ent-SUDI-0;〃用全同殳量mt.auRK9Jtto

countvalue();〃・用■室遗打骨工

pr±ntf「清足条件的《!效的个散・ld\n-eent);〃在上■出・足条件的■敢个&ent

printf(■耦足条件的整数的物值・id\n,sum);〃在岸・上・出•足务仔的■我的Su

wrxteDAT();〃小便船out.cut

|

voidwriteDATO

(

FILE#fp;〃定义文fMtHfp

fp-fopen("out.dat",*ww);//以只n的方式蚪打开文件out.dac.井艮”指向此文外

fprintf(fp,,,%d\ntd\n",ent,sum);〃纪索数的个H(ftent・KI的缰gg”入川文村aut.d・匕

fcloae(fp);〃关tfi文和out.cut

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

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

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

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

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

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

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

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

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

请勿改动数据文件indax中的任何数据.主曲数读函数readDMO和写函数writeDat()的内容。

Ij•include<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.已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数

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

其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些

正整数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的

这些正整数的算术平均值totPjzo最后maini函数调用函数WriteDat把

所求的结果输出到Out.dat文件中。

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

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

和输出数据函数WriteDat的内容。

#include<stdio.h>

♦defineMAXNUM200

3intxx[MAXNUM);

4inttotNujn.0;//文件In.dat中共刊多少个正整数

5inttotCnt•0;〃符合条件的正整室的个敷

6doubletotPjz■0.0;//平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14

15!int1;

16;for(i-0;i<MAXNUM;i++)

17;xx(i]•0;

18;if(ReadDat())

19;

20!pr,ntf<”8(据文件in.dat不能打开!\007\n");

211return;

22;

23!CalValue();

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

H

25;printf("符合条件的正整数的个数=%d4*\nrtotcnt);

26!printf("平均值totPjz);

27IWriteDat();

285

/•速取这著F个正靴数并存入数川»中•/

29;intReadDat(void)

30!

31;FILE»fp;

325inti•0;

33«if((fp*fopen("in.dat*\"rw))一鹏

34;return1;

35;while(!feof(fp))

36j

37\fscant(fp«Fd・",^xx[i

38»

39jfclose(fp);

40;return0;

41;

/•七计算站果存入文件out.dat中•/

voidWriteDat(void)

43J(

44;FILE・fp;

45;fp■fopen(tfout.datw**wH);

i9

w

46ifprintf(fp,"%d\n%d\n%.21f\n,totNutn,totCnt,totPjz);

S;fclose(fp);

48•)

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

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

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

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

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

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

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

42.设有某商业单位需要建立商务数据库用以处理销售记账,它记录的数

据包括:顾客姓名,所在单位及电话号码;商品名称,型号,产地及单

价;某顾客购买某商品的数量及日期。假定无同名顾客,无同型号商品,

由话公用腼客可存不同日期买同一商品。(1)请画出该单位的商务ER

图模型并优化。(6分)(2)将ER模型换成关系模型并规范化到3NFO

(4分)

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

43.在数据库应用系统的需求分析阶段,设有如下工作:1.分析与描述

目标系统需要完成的功能II.分析与描述目标系统对响应时间、存储容

量的要求ni.分析与描述目标系统涉及的数据范围、数据的属性特征及

数据之间的关系IV.分析与描述每项功能活动需要的输入数据、业务规

则及输出数据分析与描述目标系统的总体结构、功能活动及各功能活动

之间的关系以上属于系统功能建模内容的是()o

A.仅I、w和vB.仅II、w和vc.仅I、II和niD.仅m、w和v

44.在一台正在运行的SQLServer2008中,现需使用复制数据库文件的

方法将某数据库从一台服务器移动到另一台服务器。关于复制数据库文

件,有下列实现方法:1.首先从数据库服务器中分离出要复制的数据

库,然后复制数据库文件n.首先停止SQLServer数据库引擎服务,然

后复制数据库文件HI.首先断开所有用户与数据库的连接,然后复制数

据库文件W.由Windows系统管理员直接到操作系统中复制数据库文

件上述方法中,可行的是()o

A.仅I和IIB.仅II和mc.仅m和wD.都可以

参考答案

1.C

2.B解析:本题是对队列的基本运算的考查,队列是另一种特殊的线性

表,限定所有的插入都在表的一端进行,所有的表的删除都在另一端进

行,即先进先出。基本运算包括从队尾插入一个新元素、从队头中删除

一个元素、读取队头元素的值和判断一个队列是否为空。而选项B所述

操作“从队列中删除第i个元素”违反了队列中“先进先出”原则,不是队

列的基本运算,所以正确答案为选项B。

3.C解析:同一关系内部属性之间可以存在引用关系,所以A)错。外码

并不一定要与相应的主码同名,所以B)错。同一个关系中主码的值不可

以相同,所以D)错。

4.A解析:本题主要考查了进程的基本概念。进程观点把操作系统看作

由若干个可以同时独立运行的程序和一个对这些程序进行协调的核心

所组成,这些同时运行的程序称为进程。系统进行资源分配和调度的独立

单位。

5.B解析:所谓死锁是指系统和进程所处的一种状态,在系统中两个或

多个进程无限期地等待永远不会发生的条件,就称为死锁。发生死锁的

必要条件为:1、互斥条件;2、不可抢占性;3、部分分配条件;4、循

环等待条件。当对数据出现并发操作时才有可能出现死锁。

6.A解析分布式系统与并行系统不同,并行系统中处理器是紧耦合的,

它们形成了单一的数据库系统;而分布式数据库系统由一些松耦合的结

点组成,这些结点不共享任何物理部件。在分布式数据库系统中,每一

个结点是一个独立的数据库系统。分布式数据库的基本原理如下:对于

用户来讲,分布式系统必须看起来像一个非分布式系统。换句话说,分

布式系统的用户的操作与非分布式系统是完全相同的。分布式系统的所

有问题是内部的、实现级别的问题,而不是外部的、用户级别的问题。

7.A解析:模型是现实世界特征的模拟和抽象。数据模型(DataModel)也

是一种模型,它是现实世界数据特征的抽象。现有的数据库系统均是基

于数据模型的,因此,数据模型是数据库系统的核心和基础。

8.C解析:所有授予出去的权限可以用RE—VOKE语句收回,保证了

数据库管理系统的数据安全。

9.A解析:二分法查找是一种线性表查找方法,其基本方法是:首先要

用要查找的关键码与线性表中间位置结点的关键码值进行比较,这个中

间结点把线性表分为两个子表,比较相等则查找完毕,不等则根据查找

结果确定下一步的查找应该在哪一个子表中进行,如此下去,直到找到

满足条件的结点,或者确定表中没有这样的结点。二分查找法应用的前

提是顺序存储并且已经排好序,这是由该法的实现思想决定的。

10C解析:线性表是最简单、最常用的一种数据结构。线性表的逻辑结

构是n个数据元素的有限序列。

n.时移电视【解析】IPTV是一种利用宽带网络为用户提供交互式多媒

体服务的业务,具体来说,电视类服务是指与电视服务相关的服务,如

视频点播、直播电视和时移电视等。

12.路由选择【解析】0S1参考模型中,网络层要实现路由选择、拥塞

控制和网络互联等功能。

13.99解析:快速排序的基本方法是:在待排序序列中任取一个记录,

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

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

一直重复到排序完成。具体操作如下:

2518933678253951270

2518933678253951270

1218933678253952570

1218933678253952570

1218933678253952570

1218925678253953370

1218925678253953370

1218925678253953370

1218925678253953370

1218925678253953370

所以第一趟完成后,关键码33被放到了第9个位置。

14.检索器【解析】搜索引擎在外观、功能等方面都不相同,但其构成

一般包括搜索器、索引器、检索器和用户接口4个部分。

15.人工智能【解析】概括起来,计算机应用技术领域包括科学计算、

事务处理、过程控制、辅助工程、人工智能、网络应用和多媒体的应用

等七大领域。

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

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

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

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

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

17.ISPISP解析Internet服务提供商(ISP)是用户接入Internet的入口点。

一方面它为用户提供Internet接入服务;另一方面,它也为用户提供种

类信息服务。

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

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

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

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

19.概念模式概念模式解析:概念模式是对数据库的整体逻辑描述,不

涉及物理存储,称为DBA视图。内模式具体描述了数据如何存储在存

储介质上是系统程序员用一定的文件形式组织起来的一个个存储文件

和联系手段,也是由他们编制存取程序,实现数据存取,称为系统程序

员视图。外模式是模式的一个子集,面向用户,是用户眼中的数据库,

称为用户视图。

20.R.A=S.A因为是从两个关系中选择记录,因此首先要将两个关系

建立联系,即R.A=S.A.

21.D解析:病毒的主要特征包括:传染性、灵活性、破坏性、隐蔽性、

通常常驻内存。传染性是指病毒的自我复制功能;灵活性表现在程序的

小巧,都是可以直接或间接运行的程序;破坏性是病毒对计算机软件硬

件的损坏;隐蔽性表现在不易被用户察觉,一般隐藏于磁盘的引导区或

附着在可执行文件中:病毒会常驻内存,随时可感染其他可执行文件。

22.B解析:数据库设计过程通常分为以下4个阶段:需求分析、概念结

构设计、逻辑结构设计和物理结构设计。

23.A

24.B

25.B选项A),AdHoC网络是一种自组织、对等式、多跳的无线移动网

络;选项B),AdhoC网络是在分组无线网的基础上发展起来的;选项

C),AdHoC网络是由一组用户构成、不需要基站的移动通信模式;选

项D),AdHoC网络在军事上卜分重要,它可以支持野外联络、独立站

点通信和舰队战斗群通信、临时通信要求和无人侦查与情报传输。

26.B解析:当YX时,称X-Y为平凡的函数依赖。

27.C

28.CSQL语言集数据定义、数据查询和数据操纵和数据控制功能于一体。

数据定义语言的动作包括CREATE,DROP和ALTER幡攵据操纵语言的

动作包括:INSEPT、UPDATE和DELETE;数据控制语言的动作包括

GRANT和REVOKEo

29.D

30.D虚拟页式存储管理又称为请求页式存储管理,请求页式的基本思想

是,在进程开始执行之前,不是装入全部页面,而是只是装入一个(甚至

0个)页面,然后根据进程执行的需要,动态地装入其他页面。

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

存入字符串数组中。

\n【解题思路】

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

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

递增直到其值等于maxline,实现对文章每行的扫描,在第二层for时循

环中,变量j从0开始,依次递增直到其值等于strlen(xx[i]),即第i行

的长度。在第三层循环语句中,变量k从j开始,依次递增直到其值等

于strlen(xx[i]),对每一行中的数组元素xx[il[j]、XX[i][k]按照它们的

ASCII码值的大小进行比较,如果xx国田的ASCII码小于XX[i][k]的

ASCII码,则两者交换,实现整篇文章中的字符按ASCII码值从大到小

的顺序进行排序。

\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①定义整型循环变量i、j0

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

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

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

条件语句判断如果xx用用的值为字符冶\则把xx国口]的值设置为字

符2。否则如果XX[i][D]的值在小写字符,at与2之间,则把xx国用的

值减1,把其值变成其前一个字符的ASCII码。

\n【参考答案】

\n

\n

34.【审题关键句】所有字符左移一个位置,串中的第一个字符移到最后。

\n【解题思路】

\n定义循环变量i,字符变量first和字符指针变量P,并使P指向字符

串So

\n②把字符串S的第一个字符赋给first变量保存起来。

\n③在for循环语句中,循环变量i从0开始,依次递增直到其值等于或

大于(int)strlen(s)—1,把*(p+i+l)的值赋给+(p+i),实现把字符串S中的

所有字符左移一个位置,循环结束后,把first的值赋给p[strlen(s).1],

即把字符串的首字符移动到字符串的最后位置上。

\n【参考答案】

\n

\n

35.【审题关键句】千位+十位组合与个位+百位组合,都是奇数,两数相

减结果大于等于0小于等于10,从大到小排序。

\n【解题思路】

\n①首先,本题要定义多个变量,包括两仑循环变量循环i、j;用来存

放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和gw(个

位);两个用来存放重新组合数字的变量newVl和newV2。

\n②通过for循环依次对数组中的每个四位数进行分解,每分解一个四

位数,根据题目要求,对其各位数进行重新组合,形成两个新的十位数,

组合条件分别是原四位数的千位和十位组成一个十位数,个位和百位组

成一个十位数,并将两个新的十位数分别赋给变量newVI和newV2o

\n③数字重组完毕之后,再根据题目要求筛选满足条件的四位数,本题

需要考虑多个筛选条件:一是新组合的十位数中,其十位数不能为0,

即原四位数的千位和个位数字不能为0;二是两个新组合的十位数之差

必须大于等于。小于等于10;三是两个新组合的数字均为奇数。

\n④将同时满足以上3个条件的四位数赋给数组b[cnt],同时数组下标

值加1,当for循环执行完毕后,则将所有满足条件的四位数全部存放

到数组b[cnt]qbo

\n⑤

温馨提示

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

评论

0/150

提交评论