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

下载本文档

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

文档简介

2022年甘肃省白银市全国计算机等级考试

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

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

一、1.选择题(10题)

1.DBS中,内外存数据交换最终是通过()。

A.DBA完成B.DBMS完成C.OS完成D.键盘完成

2.在下面列出的数据模型中,哪一个模型是概念数据模型?

A.关系模型B.层次模型C.网状模型D.实体一联系模型

3.用二分法进行插入排序,记录移动个数为

A.O(nlog2n)

B.O(n2)

C.O(log2n)

D.O(n)

4.下述哪一选项是由于关系模式设计不当所引起的问题

I.数据冗余

II.更新异常

III.插入异常

IV.删除异常

A.IB.II、IVC.IIID.都是

5.计算机硬件系统中,完成解释指令、执行指令的部件是

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

6.下列关于文件索引结构的叙述中,哪一个是不正确的?

A.采用索引结构,逻辑上连续的文件存放在连续的物理块中

B.系统为每个文件建立一张索引表

C.索引结构的优点是访问速度快,文件长度可以动态变化

D.索引结构的缺点是存储开销大

7.数据独立性是指()。

A.数据依赖于程序B.数据库系统C数据库管理系统D.数据不依赖于

程序

8.保证事务的持久性是数据库管理系统中()部件的责任。

A.事务管理B.恢复管理C.并发控制D.程序员

9.下列关键码序列中,不是堆的是()。

A.(12,31,38,45,56,59,75,89)

B.(12,31,56,45,38,89,59,75)

C.(12,31,45,56,59,38,75,89)

D.(12,31,45,75,38,59,56,89)

10.数据库维护阶段的故障维护工作是指

A.排除设备故障B.恢复遭到破坏的数据库C.修改不适当的库结构D.

修改应用程序

二、填空题(10题)

11.为保证对故障恢复的支持,登记日志记录必须先把日志记录写到外

存的日志文件中,再把相应的数据库修改写到外存的数据库中。这称为

【】原则。

12.进程之间的联系称之为进程通信,是进程通信的工具。

13.无线局域网的英文缩写为。

14.SQLServer中一个数据页的大小是________KB。

15.在数据仓库建立过程中,对数据进行纠正和预处理的过程称为数据

16.【】包括类型、取值范围、取值单位的冲突

17.对并行数据库的研究是研究如何对数据库中的关系进行划分,

并把它们分布到多个处理器或多个磁盘。

18.当用户申请打开一个文件时,操作系统将该文件的文件控制块保存

在内存的表中。

19.在一个双链表中,包括头结点在内共有6个节点,则共有【】个指

针。

20.一个SQL语句原则上可产生或处理一组记录,而主语言一次只能处

理一个记录,为此必须协调两种处理方式。这是用来解决的。

三、单选题(10题)

21.概念模型()

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

立于DBMS

22.对于数据库设计来说()是进行详细的数据收集和数据分析所获得的

主要成果。

A.数据流图B.数据字典C.E-R图D.关系模式

23.下列哪项是SQLServer数据库拥有的逻辑空间结构和物理空间结

构。

A.表空间B.段C.区D.数据文件

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

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

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

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

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

25.在概念设计和逻辑设计之间起桥梁作用的是()

A.DFDB.E-R图C.数据结构图D.功能模块图

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

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

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

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

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

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

27.概念结构设计的目标是产生数据库概念结构(即概念模式),这结构主

要反映()

A.DBA的管理信息需求B.应用程序员的编程需求C.企业组织的信息

需求D.数据库的维护需求

28.下列关于SQLServer数据库管理系统权限的叙述中,哪一条是不正

确的?

A.SQLServer数据库管理系统的权限分为服务器权限和数据库权限两

B.数据库管理员执行数据库管理任务。这是属于数据库权限

C.数据库权限又可以分为数据库对象权限和数据库语句权限两种

D.数据库语句权限授予用户以允许他们创建数据库对象

29.Oracle的Internet解决方案主要包括哪几部分工具?IOracleExpress

ServerII.OracleExpressObjectsIII.OracleExpressAnalyzerIV.Oracle

WebListenerV.OracleWebAgentVI.OracleWebserver

A.i,v和VIB.i,n和inc.iv,v和VID.全部

30.关于IP提供的服务,正确的是()。

A.A.IP提供了不可靠的数据投递服务,因此数据报的投递不能受到保

B.IP提供不可靠的数据投递服务,因此它可以随意丢弃报文

C.IP提供可靠的数据投递服务,因此数据报投递可以受到保障

D.IP提供可靠的数据投递服务,因此它不能随意丢弃报文

四、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

的内容。

•include<stdio.h>

2tinclude<string.h>

3charxxl50)(801;

4unsignedintmaxlxne•0;/•文聿的总行数•/

5intReadDat(void);

6voidWriteDat(void);

7voidSortCharD(void)

8

9

10

11voidmain()

12(

13if(ReadDat())

14(

15prints("数奥文件in.dat不能打开!\n\007«);

16return;

17I

16SortCharD();

19WriteDat();

20I

,・从文付mdm中博取"英文文拿*入货平栉用数01u中•/

intReadDat(void)

(

FILE♦£>

24•inti•0;

25!char*p;

26;工£((fp-£operU"in・daL.)—NULL)

27-return1;〃栩果文件In.4K内存为空.1

!/•当从文件In.dat中流以79个字符存入xx【i|没/债识发生》t执行/环体中的语句•/

28iwhile(fgets(xx[IB80,fp)!,NULL)

29\(

30!p-strchr(xxfi),*\n*);〃在字桥率xx[i)中叁找回车换行将第一个IKIE的位置

31;if(p)*p・0;〃如果p的值不为零.WE苴值设置力0

32•1+♦:〃行变量加1

33•)

34;maxline-1;//JC文章的总行故X蛤父fltaaxhne

35jfclose(fp);

36jreturn0;

37j|

j,,范伯果XX"出到文件皿1.Art中•/

38•voidWriteDat(void)

39;(

40\FILE»fp;

41junsignedinti;

42;fp-fopen(*out.dat*\*ww);

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

44j(

45-printf(wts\nw,xx(i]);

46!fprintf(fp,"ls\n"txx[i]);

47i)

48-fclose(fp);

49!1

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

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

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

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

注意,部分球程序存放在testx文件中.

请勿改动主话数mmO和输出数据函故wrhcDAT。的内需.

•include<stdio.h>//hchMfe弟旬便■在看库中色畲vv6.0中的标常・A・册痔gob

voidwrlteDATO;〃嫉r“♦口AT。的"期谓句

intent,sun;〃爱叉全局■菱全■um.sg

intisPrinetlntnumber)//lA*1•Prime(number)nuBbecMWJtKtt,luX&KR,tag

l•古时通回sg的值等于0

(

int,•tag-1;〃建支支■i网“Q,舟川•安・ug的初值等于1

if(number••1)

return0;〃如果nuaZr的型等F1.物曜回IQ

for(1•2;tag“i<-number/2;1+♦)〃安AU从2开的,句次In1.数值小于等干cu«be”2畀

lift*tag的值“于I•出循环

if(number1X••0)

tag•0;//toKnumberft*i**,tagIhttWT0

returntag;〃/回气■tag的慎

I

voidcountvalue()

voidmainO

\

ent■sun■0;〃的全同殳■ent.auaM9JH0

countvalue();〃儡阳Mi&"计H

print,L清足条件的整数的个故”d\M,ent);〃在星■上■出•足条件的■数个数ent

prlntf<・满足条件的整数的加值sum);"&・•上・出•足条。的・我的“2

wrxteDATOout.au中

)

voidwriteDATO

(

FILE*fp;//ftXXftWtfp

Cp-fopen("out.dat",wwwH〃以只郢的方式的打开文件gi.<ht・井Ilfp指向此文f!

fprmtf(fp,"»dXntdXn",ent,sum):〃足事我的个数est.in的倒.g巧入*文Agt.3匕

fclose(fp);〃良闻文和Qut.dst

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

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

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

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

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

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

例i康文:Adb.Bcdz*

abck.LLhj

结果:Acc.Bdcab

MdlfTik

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

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

请匆改动主函数main。.读函数ReadDai。和沧出函数WriteDatO的内容.

1;tinclude<stdio.h>

2;•include<string.h>

3icharxx[SO][80];

4;intmaxline-0;/*文垂的总打鼓•/

intReadDat(void);

6)voidWriteDat(void);

7!voidConvertCharA(void)

8;

9

10i

voidmain()

12!I

13iif(ReadDatO)

I

道print-”数据文件in.dat不能打开I\n\007");

16:return;

17iI

18jConvertCharAO;

19;

WriteDatO;

20;I

八从文件tndM中it取一・英文文章存入到字符串收mu中•/

21;intReadDat(void)

22I(

235FILE*£p;

24jinti-0;

25Ichar*p;

26:RHnw

if((fp-fc^>en(in.datrr))—NULL)

27ireturn1;

28Iwhile(fgeta(xx(i),60,fp)!-NULL)

29{(

f

30;p-strchr(xx(l)9\n*);

3iiif(p)*p-0;

32;O

33;\

34imaxline-i;

35;fclose(fp);

36•return0;

37;»

/♦把第果U♦出到文件OULdtf中•/

38voidWriteDat(void)

39!1

40;FILE*fp;

41;Int1;

wM

42«fp-fopen(•,out.datr*w);

43;ford-0;1<maxline;i++)

44!(

45;printf(78\n“.xx[i]);

w

46!fprintf(fp,"%s\nrxx(1));

47­)

48»fclose(fp);

49:1

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

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

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

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

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

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

例如:位矍01234567

源字符申hgfedcba

则处理后字符串hafcdebs

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

请勿改动数据文件in.dat中的任何数据、主的敷mainO.I(的数re&dDat()和耳函效writuDat。的内容.

1!।Iinclude<stdio.h>

2I•include<string.h>

3•voidreadDat();

4!voidwriteDat();

5;charxx(20)(801:

6!voidjsSort()

7!(

eJ

9!}

101voidmain()

12!readDat();

13;jsSort();

14jwriteDat();

15i)

;。从文件1中读取20行数据存放到字符串长电XX中”

16!voidreadDat()

17;(

18■FILE-in;

19jint1-0;

20;char*p;

21;in•/open("in.ddL.,,r");

22jwhile(1<20“fgets(xx[1]t80.in)NULL)

23;(

241p-strchr(xx[i]9•\n*);

25;if(p)*p■0;

26•

27j}

28;fciose(in);

29!)

/♦把姑果XXa出到OUt&!文件中•/

30;voidwriteDat()

32.FILE*out;

33;int1;

wwR

34•out■fopen(out.datew");

35;for(1-0;i<20;I**)

36?(

37•printf(w%s\nH,xx(i]);

38;fprintf(out,"%s\nw,xx[1]);

39;)

40jCclose(out);

41J)

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

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

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

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

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

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

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

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

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

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

进行处理。

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

的内容。

•include<stdio.h>

•include<string.h>

3;flnclude<ctype.h>

4Junsignedcharxx(50][80];

5\

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

6;intReadDat(void);

voidWriteDat(void);

工voidencryptChar()

9I

10»

11;

12;voidmain()

13i(

14;if(ReadDat())

15!(

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

17;return;

18!)

19;encryptChar0;

20iWriteDatO;

21;]

,•从文科ilL&t中途取・英文文章,存入我无林号字料*诙镇M中•/

22!intReadDat(void)

23;(

24;

FILE*fp;

25jinti-0;

26unsignedcharap;

ww

27if((fp-fopen("in.datr,*r))--NULL)

28return1;

29while(fgets(xxli],80,fp)!-NULL)

30(

31p-atrchr(xx(ijr*\n*);

32if(p)*p-0;

33if

34

35maxline®1;

36fclose(fp);

37return0;

38)

/•把姑梁3一出到文件WL&t中•/

39voidWriteDat(void)

40

41FILE*fp;

42inti;

43fp-fopen(wout.dat",;

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

45(

46printfflsXn-,xx(i]);

R

47fprlntf(fp/"%s\nrxx(ij);

48

fclose(fp);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

请勿改动数据文件in.&H中的任何数据.主必数mun()•读函数rcMDatO和写函数wriidXtO的内容.

Iinclude<stdio.h>

fdefmeMAX200

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

4voidwriteDat();

5voidjsValO

6

9voidreadDat()〃从in.dat文件中博取200个网位依存入效力1a中

10

11int1;

12FILE*fp;

13fp-fopen("in.dat**,**rM)

14for(i-0;i<MAX;1£♦♦]

15tscanf(fp^&a{1])

16fclose(fp);

17

18voidmain()

19

20;inti;

21•readDat();

22;jsValO;//•用•效”,实现MH襄求的功能

23•printf("满足条件的数“d\n".ent);

24*for(i-0;i<ent;

25printf(w%d*,b(i]);

26!printf;

27»writeDat();

28;1

29!voidwriteDat()〃肥计算结果cm以及数机b中符合条件的四位数险出到<wtdu文件中

30\I

31•FILE*fp;

32!inti;

33;fp-fopen(wout.dat","wR);

34!fprintf(fp,*%d\n",ent);

35•for(i-0;i<ent;£+♦)

n

36fprintf(fpt%d\n"rb[l));

37!fclose(fp);

38

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

号字符串数组XX中;请编制函数ChA,其函数的功能是:以行为单位

把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到

第一个新的值,存入数组单元xx[i][O]中(其中:i是文章中的某行)。第

二个字符的ASCII值加第三个字符的ASCH值,得到第二个新的值,存

入数组单元xx[i]⑴中。以此类推一直处理到最后第二个字符,最后一个

字符的ASCH值加原第一个字符的ASCH值,得到最后一个新的值,存

放在原字符串对应的位置上,之后把已处理的字符串逆转后仍按行重新

存入无符号字符串数组XX中。最后main函数调用函数WriteDat把结

果XX输出到out.dat文件中°

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

号和空格,并也按它的ASCII值作以上处理。注意:部分源程序存放在

test.c文件中。

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

的内容。

1flnclude<stdio.h>

2•include<string.h>

3unsignedcharxx(50][80];

4intmaxline«0;/•文簟的总行数,/

5intReadDat(void);

6voidWriteDat(void);

7voidChAfvoid)

8

9

10

11voidmalnO

if(ReadDatO)

14(

15printfL数据文件fn.da匕不能打开!\n\007*j;

16return;

17}

18ChA();

19WriteDat();

20>

产从文件tndM中it取一管英文文拿存入到无符号字符串畋彷X1中

21intReadDat(void)

22(

23FILE・fp;

24inti•0;

25char*p;

26if((fp-fopenLln.daL,)-NULL)

27return1;

28while(fgets(xx(i),80,fp)!*NULL)

29(

30p■strchr(xx(l),•\nf);

31if(p)*p=0;

32

33)

34maxline■1;

35fclose(fp);

36return0;

37}

/•把蛤果xx■出到outctoi文件中•/

38voidWriteDat(void)

39{

40FILE*fp;

41inti;

42fp■fopen(Rout.dat0,*ww);

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

44(

45printf(w%s\nR,xx[ij);

46fprintf(fprfs\n..xx[il);

47}

48fclose(fp);

49

38.在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数

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

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

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

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

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

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

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

和输出函数WriteDat的内容。

*include<stdio«h>

IdeflneMAXNUM200

3intxx(MAXNUM);

4inttotNum■0;〃文林in.dat中共有多少个正

5inttotCnt-0;〃杆令条件的正整效的个数

6doubletotPjz-0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14(

15int1;

16ford-0;i<MAXNUM;+)

17xx(i]•0;

18if(ReadDat())

19

20据文件in.dat不能打开!\007\nw);

21return;

22

23CalValue();

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

25prictf("符合条件的正核数的个数7d个\n”.totCnt);

26printfL平均(8・*.21f\n",totPjz);

27WriteDat();

28»

“读取这若干个正鳖数并存入数fli*x中”

29intReadDat(void)

30(

31FILE*fp;

32inti•0;

HwwM

33if((fp-fopen("in.datrr))NULL)

34return1;

35while(!feof(fp))

36(

37fscanf(fp#

381

39fclose<fp);

40return0;

41}

/・忙计算蜡里存入文件。仇・&匕中•/

42voidWrlteDat(void)

43!{

44FILE*fp;

4Sfp-fopen("out.dat",

46fprlntf(fp/"%d\nid\nt.21f\n*rtotNumrtotCnt/totPjz);

47fclose(fp);

48

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

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

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

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

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

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

例如,7153.7*!-5+3.剜该数满足条竹存入数州b中.旦个数cntynwl.

8129.8,1!=2+9,剜该数不满足条件忽略.

由Ri部分源程序存在teste文件中.

程序中已定义散组:1(300],b(3OO].巳定义堂・,ent

请勿改动数据文科nda1中的仟何数据.I函数main().读函数rcadDal。和写函数wnteDitO的内容,

1■include<stdio.h>

2inta[3001fb(300]fent-0;

3voidreadDat();

4voidwriteDat();

5jsValoe(>

6

7

8

9mainO

10(

11int1;

12readDat();

13jsValue();

14writeDat0;

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

16for(i•0;i<ent;U)

17printfLb【"d|7d\n”.L

18)

19voidreadDat()

20I

21FILE・fp;

22;inti;

23!fp-fopen(win.datn,Rrw);

24;for(1«0;i<300;

25­fscanf(fp,Fd.",Sail});

26!fclose(fp);

27;)

voidwriteDat()

29j(

30-FILE*fp;

31!int1;

32ifp=fopen(*out.datw,"w");

33:

fprintf(fpr7d\n",ent);

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

35;fprintf(fp,fd\n・.b(i]);

36•:fclose(fp);

31•»

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

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

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

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

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

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

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

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

程序中已定义数依ho[200].b(200],已定义变量।ent

请勿改动数据文件in.加中的任何数据.主函数main()、读函数nadDatO和写屏数wnteDat()的内容。

1••includo<stdio.h>

2iIdeflneMAX200

3inta[MAX]tb(MAXbent0;

4voidwriteDat();

5voidJsVal()

6

7

8

9voidreadout()

10(

11int1;

FILE*fp;

R

fp•fopen(in.dat"t"r");

for(i-0;i<MAX;i++)

fscant(fp,"Rd",(iI);

fclose(fp);

18voidmain()

19I

20inti;

21readDat();

22jsVal();

23printf("酒足条件的数7d\n".cnt>;

24for(i-0;i<ent;

25printf(R%d*b[i»

26printf"n");

27writeDatO;

28

29voidwriteDat()

30I(

31FILEefp;

32inti;

33fp-fopen("out.daf*,Mw,r);

wn

34fprintf(fprid\nrent);

35for<1-0;i<ent;

36fprintf(fpr7d\nlb(i]);

37fclose(fp);

38

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

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

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

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

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

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

(4分)

42.某网上商城因为业务发展,原有的系统不能很好的满足需要,因此采

用了一套新的经营管理系统,此系统使用SQLServer2008数据库管理

系统。此系统上线运行前,需将商场原有的数据导入到新系统中。原有

系统使用SQLServer2000,数据结构与新系统不完全一致。因此需要把

数据从SQLServer2000导入到SQLServer2008中,为了保证数据一

致性,数据导入过程中要求暂停业务且必须在3小时内完成。(1)在原

有数据导入新系统的过程中,实施人员发现原有数据量很大,导人数据

需要四小时,业务无法接受。经分析某工程师认为,数据导入过程中的

数据库I/O很高,但导人数据的程序本身对系统资源占用率很低。该工

程师建议将数据导入过程中的数据恢复模式从“完整”模式改为“简单”

模式以提高数据导人速度;而另一位工程师则认为此方法未必能提高数

据导入速度,而且还可能导致数据丢失,不建议使用此方法。请分析此

方法是否能够提高数据导入速度并给出理由,同时分析此操作的数据丢

失风险。(5分)(2)在成功导入历史数据后,此系统顺利上线运行。在

上线运行的第一周,发现数据库服务器的CPU使用率很高,达到近90%,

高峰期间达到100%,且系统内存占用率达到90%,但系统I/O很轻。

业务人员反应系统操作速度很慢。为了提高系统运行速度。在不修改应

用程序的前提下,两位工程师提出了不同的解决办法:I.为服务器增

加2颗CPU,缓解CPU使用率很高的问题;II.为服务器增加一倍内

存,缓解内存使用率很高的问题。考虑成本,现阶段只能按照一种方案

实施。请指出在现有情况下,哪种方案更合理并给出理由。(5分)

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

43.从功能上讲,数据库应用系统设计包括下列四个层次,其中包括构件

设计的是()。

A.表示层B.业务逻辑层C.数据访问层D.数据持久层

44.在SQLServer2008中,设在某数据库中建有如下所示的存储过程:

CREATEPROCPl@aint=20,@bchar(4)AS设有下列调用该存储

过程的语句:I.EXECPl100,'a01'II.EXECPl'aOlIII.EXEC

Pl@b='aOl'W.EXECPl@a=default,@b='aOl’上述语句中,能够

正确调用该存储过程的是()o

A.仅I和IIB.仅I、II和niC.仅I、in和WD.全部

参考答案

1.C解析:DBS在系统中也是通过操作系统进程实现的,数据存取,交

换由操作系统负责,DBMS负责实现数据库的操纵功能,运行管理功

能,数据库的建立和维护功能数据组织、存储和管理功能等。

2.D解析:概念模型是按用户的观点对数据和信息建模,也称为信息模

型。概念模型语义表达能力强,不涉及信息在计算机中的表示,如实体

联系模型,语义网络模型等。

3.B解析:二分法插入排序关键码比较次数为O(nlog2n),记录移动个数

为0(n%掌握起泡排序等方法的算法复杂度。

4.D解析:本题是对关系模式设计不当所带来问题的考查,若关系模式

设计不当可能带来以下问题:①数据冗余;②更新异常;③插入异常;

④删除异常。对照题干中的四项可知,它们都是关系模式设计不当所带

来问题,所以本题正确答案为D。

5.B解析:以存储程序原理为基础的冯・诺依曼结构的计算机,一般由五

大功能部件组成,它们是:运算器、控制器、存储器、输入设备和输出

设备。运算器是用于对数据进行加工的部件;控制器用于控制计算机的

各部件,并按照从存储器取出的指令,向各部件发出操作命令;另一方

面它又不停地接收由各部件传来的反馈信息,并对这些信息进行分析,

决定下一步操作,如此反复直至运行结束,因此本题的答案是选项B;

存储器用于存放原始数据、中间数据、程序以及最终结果的部件;输入

设备用于接收用户提交给计算机的源程序、数据及各种信息,并把它们

转换成计算机能识别的二进制代码,传送给存储器。输出设备用于将计

算机内部的二进制信息转换为人和设备能识别的信息。

6.A解析:文件的物理结构分顺序结构、链式结构和索引结构。其中采

用索引结构时,逻辑上连续的文件存放在若干不连续的物理块中,系统

为每个文件建立一张索引表。索引表记录了文件信息所在钠逻辑块号和

与之对应的物理块号;这种结构的优点是访问速度快,文件长度可以动

态变化,缺点是存储开销大。因此本题4个选项中的A所述内容不是文

件索引结构的特点,正确答案为A。

7.D解析:数据独立性是数据库领域的一个常用术语,包括数据的物理

独立性和数据库逻辑独立性。数据的物理独立性是指用户的应用程序与

存储在磁盘上的数据库中的数据是相互独立的。也就是说,数据在磁盘

上的数据库中是怎样存储的,是由DBMS管理的,用户程序不需要了

解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改

变时,应用程序不用改变。数据的逻辑独立性是指用户的应用程序与数

据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用

户程序也可以不变。

8.B解析:数据库管理系统中,为了保证事务的正确执行,维护数据库

的完整性,要求数据库系统维护以下事务特性,即原子性、一致性、隔

离性和持久性。这四个特性都要有相关的机制保证。事务的原子性是数

据库管理系统中管理部件的责任,■事务的一致性是事务编码的应用程序

员的责任;事务的隔离性是管理系统中一个并发控制部件的责任;事务

的持久性是数据库系统中恢复管理部件的责任。因此本题正确答案为选

项B。

9.C解析:堆实质上是一棵完全二叉树结点的层次序列,此完全二叉树

的每个结点对应于一个关键码,根结点对应于关键码Kl0完全二叉树

中任意一结点的关键码值都小于或等于它的两个子女结点的关键码值。

根据以上定义,选项C)中,45的子女结点为38和75,显然,45大于

38,不符合堆的定义,所以选项C)不是堆。

10.B解析:数据库维护阶段的故障维护工作是指恢复遭到破坏的数据库。

11.先写日志先写日志解析:为保证数据库是可恢复的,登记日志文件

时必须遵循两条原则:登记的次序严格扫描并行事务执行的时间次序;

必须先写日志文件,后写数据库。为了安全,一定先写日志文件,即首

先把日志记录写到日志文件中,然后写到数据库修改。

12.通信原语通信原语

13.WLAN【解析】无线局域网(WirelessLAN,WLAN)是以微波、激光

与红外线等无线电波作为传输介质,部分或全部代替传统局域网中的同

轴电缆、双绞线和光纤,实现网络中移动结点的物理层与数据链路层功

能。

14.8KB

15.清理清理

16.属性冲突当将局部E-R图集成为全局E-R图时,可能存在3种冲突:

属性冲突,结构冲突,命名冲突。属性冲突包括类型,取值范围和取值

单位的冲突

17.物理存储结构物理存储结构解析:并行数据库物理存储结构的研究

是研究如何对数据库中的关系进行划分。并把它们分布到多个处理器或

多个磁盘,以使查询处理时间最小。

18.系统打开文件系统打开文件解析:当用户申请打开一个文件时,系

统要在内存中为该用户保存一些必要的信息,这些信息以表格栏目中内

容的形式出现。系统打开文件表放在内存中,专门用于保存已打开文件

的文件控制块。除此之外,在该表格中还保存已打开文件的文件号、共

享计数、修改标志等。

19.10头结点和尾节点都只有一个指针,其他的节点是4个指针,所以

共有10个指针

20.游标或CURSOR游标或CURSOR

21.B

22.B

23.D

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

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

叫做队头。

25.B

26.B

27.A

28.B

29.C解析Oracle的数据仓库解决方案主要包括OracleExpressServer.

OracleExpressObjectsxOracleExpressAnalyzer0Oracle的Internet解决

方案主要包括:OracleWebListener、OracleWebAgentsOracleWebservero

30.AIP提供了不可靠的数据投递服务,IP本身没有能力证实发送的报

文是否被正确接收,数据报可能路延迟、路由错误、数据报分片和重组

等过程中受到损坏,但IP不检测这些错误,在错误发生时,IP也没有

可靠的机制来通知发送方或接收方,因此数据报的投递不能受到保障。

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[jLXX[i][k]按照它们的

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

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

的顺序进行排序。

\n【参考答案】

\n

\n

32.\n[审题关键句】100以内(含美0)满足i、i+4、i+10都是素数的整数

的个数以及这些i之和。

\n【解题思路】

\n①首先定义循环变量i,然后将i的值赋初值为3,每循环一次则将i

的值加1,直到i<90。

\n②在for循环中,每执行一次循环则调用函数isPrime(该函数具体的算

法已经在源程序中给出,直接用即可),对i、i+4、i+10是否同时是素

数进行判断,如果这三个数同时为素数,则计数变量ent值加1,同将

时将变量i的值累加到sum上。

\n【参考答案】

\n

\n

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

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

\n【解题思路】

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

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

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

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

句首先判断)xx[i][j]的值是否在小写字符字符之间,然后,再判断

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

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

\n【参考答案】

\n

\n

\n

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

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

\n【解题思路】

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

变量i、isko

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

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

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

(int)strlen(xx[

温馨提示

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

评论

0/150

提交评论