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

下载本文档

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

文档简介

(2023年)贵州省遵义市全国计算机等级

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

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

一、1.选择题(10题)

i.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可

以采用()。

A.分块查找法B.顺序查找法C.二分查找法D.散列表法

2.设平衡的二叉排序树(AVL树)的结点个数为n,则其平均拉索长度为

A.O(l)B.O(log2n)C.O(n)D.O(nlog2n)

3.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的

A.文件的集合B.数据的结合C.命令的集合D.程序的集合

4.PC机通过下列哪一条途径启动硬件中断服务程序执行?

A.主程序中安排的中断指令B.中断控制器发出的中断请求信号C.主

程序中安排的转移指令D.主程序中安排的调用指令

5.对于给出的一组权w={10,12,16,21,30),通过霍夫曼算法求出的

扩充二叉树的带权外部路径长度为()o

A.89B.189C.200D.300

6.电子邮件软件向邮件服务器发送邮件时使用的协议是

A.SMTPB.POP3C.IMAPD.MIME

7.关系模型有3类完整性约束,定义外码实现的是()。

A.实体完整性B.参照完整性C.用户自定义完整性D.实体完整性、参

照完整性、用户自定义完整性

8.在数据库的三级模式结构中,内模式可以有o

A.1个B.2个C.3个D.任意多个

9.数据库功能可分为前端和后端。下列叙述错误的是

A.后端负责存取结构、查询计算和优化、并发控制以及故障恢复

B.前端包括表格生成器、报表书写工具、图形用户界面工具等

C.前端与后端之间通过过程化语言来接口

D.在集中式系统中,前端和后端在同一个系统中运行

10.“事务的所有操作在数据库中要么全部正确反映出来要么全部不反

映”,这是事务的哪一个特性?O

A.原子性B.一致性C.隔离性D.持久性

二、填空题(10题)

11.在数据库设计的四个阶段中,每个阶段都有自己的设计内容。“为哪

些表、在哪些字段上、建什么样的索引。”这一设计内容应该属于

设计阶段。

12.通常,自然连接的两个运算对象关系R和S具有公共属性,如果关

系R和S没有公共属性,那么它们的自然连接就等同于。

13.在关系数据模型中,二维表的列称为属性,二维表的行称为o

14.因特网主要由通信线路主机和信息资源四部分组成。

15.

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

且非函数依赖的【】。

16.在请求页式管理中,当硬件地址变换机构发现所需的页不在内存时,会产生口中断信

号,由中断处理程序做出相应的处理

17.当前广域网采用的拓扑构型多数是_________拓扑。

18.描述通信系统的基本技术参数是数据传输速率和。

19.在存储管理中,为实现地址映射,硬件应提供两个寄存器,一个是

基址寄存器,另一个是【】。

20.计算机是由运算器、存储器、输入设备和输出设备这5个

主要功能部件组成的,它们被称为计算机的五大硬件。

三、单选题(10题)

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

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

22.SQLServer数据库是由文件组成的。下列关于数据库所包含的文件的

说法中,正确的是__________O

A.一个数据库可包含多个主要数据文件和多个日志文件

B.一个数据库只能包含一个主要数据文件和一个日志文件

C一个数据库可包含多个次要数据文件,但只能包含一个日志文件

D.一个数据库可包含多个次要数据文件和多个日志文件

23.在关系代数的连接操作中,连接操作需要取消重复列的是()。

A.自然连接B.笛卡尔积C.等值连接D.0连接

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

A.A.ProcessAnalyst

B.DataArchitect

C.Viewer

D.WarehouseArchitecture

25.在计算机硬件系统的基本组成中,完成解释指令、执行指令的功能

部件是

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

26.某数据库应用系统使用SQLServer2008作为数据库平台。在系统运

行期间,用户反映某更新操作很慢,无法正常完成业务。系统工程师分

别在用户的客户机和数据库服务器上使用数据库管理系统自带的客户

端工具执行此更新操作语句,发现该语句执行后长时间无响应。经检查

数据库服务器CPU使用率小于1%,磁盘10也非常小。造成此现象可

能的原因是()

A.客户机到数据库服务器的网络故障

B.更新操作涉及到的表没有建立主码

C.更新的字段没有建立有效的索引

D.更新操作涉及到的数据被锁定

27.下列关于数据的逻辑结构的叙述中,哪一个是正确的?()。

A.数据的逻辑结构是数据间关系的描述

B.数据的逻辑结构反映了数据在计算机中的存储方式

C.数据的逻辑结构分为顺序结构和链式结构

D.数据的逻辑结构分为静态结构和动态结构

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

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

栈不作任何判别

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

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

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

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

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

3O.Aarr和Barr两个数组说明如下:VARAarr:Array[0...7]ofchar;

Barr:Array[-5...2,3...8]ofchar;这两个数组分别能存放的字符的最

大个数是()

A.7和35B.1和5C.8和48D.1和6

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

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

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

数CalValueO,其功能要求:

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

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

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

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

中。

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

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

和输出函数WriteDatO的内容。

1Iinclude<stdio.h>

2IdefineMAXNUM200

3intxx[MAXNUM];

4inttotNum■0;〃文件it).dat中共有多少个正整数

5inttotCnt-0;〃符合条件的正■收的个数

6doubletotPjz,0.0;〃平均(ft

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14(

15int1;

16ford-0;i<MAXNUM;…)

17xx[i)-0;

18if(ReadDat())

19(

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

21return;

22)

23CalValue();

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

25printf("符合条件的正整数的个数Td个\n",totCnt);

26printf平均值7.totPjz);

27WriteDat0;

28I

/•流取这若干个1E■敏并存入敏蛔xx中•/

29intReadDat(void)

30I

31FILE*fp;

32int1•0;

33if((fp-f<^er»ein.datw,wr"))-NULL)

34Eeturn1;〃如果in.dat文件为空,*f返饵1

/•wblleF执行.KW文竹in.dat的冷尾送出〃

35while<!feof(fp))

361

37fscanf<fp#",d."・ixx!1+•H;//从文件fn.datdNtt个Mt存入xx【幻中.同mil

38i

39fclose(fp);

40return0;〃虫件in.cuc若干个取井正•存入敷Mu中端回0

41)

/・怎计算姑襄存入文件out.dat中•/

42voidWriteDat(void)

43(

44FILE-fp;

M

45£p•fopen("out.datr"*");

M

46tprintf(£p*"%d\n%d\nt.2IX\n,totNum,totCnt,totPjx);

47fclose(fp);

48

32.已知数据文件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的内容。

1-linclude<stdio.h>

2jIdefineMAX200〃定义宏交■KAXH值券于200

3\inta(MAX)rb(MAX]ent-0;〃北初蛤值为0,定义全身■型脩敢祖SMAX;.

41voidwriteDat();//xHsDaD由故的说明语句

5jvoidjsVal()

6•(

/•readDat()从依据文件m.dat中读取200个四粒依存入敏由•中〃

9voidreadDat()

10

11int1;

12FILE*fp;

ww

13fopen(in.datr"r

14for(ia0;i<MAX;

15fscanf(fpr"d",&a[i]);

16fclose(fp);

17>

18voidmamO

19

20inti;

21readDat();

22jsValO;〃恻网鼎也实Kim要求的功能

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

24for(1-0;i<ent;

25print1(**%d8,b(11);

26printf;

27writeDat();

28)

i/・W数wntcDiMHC姑果E以及效组b中将C条件的四位数■出到0ut.(ht文件中•/

29:voidwriteDat()

30

31FILE*fp;

32inti;

w

33fpnfopen("out.datr"w");

34fprintf(fprRQd\n",ent);

35for(i■0;1<ent;

36fprintf(fp,"%d\n"rb(i));

37fclose(fp);

38

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

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

的数减千位数上的数减百位数上的数减十位数上的数大于零的个数ent,

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

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

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

例如i1239.9.1-2-3X),则该数满足条件存入数组6中・且个数cn«cnt+L

8129.9-8-l-2<0,则该数不满足条件忽略・

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

程序中已定义数组:a[300J,b[300],已定义我最:ent

请勿改动数据文件m.dat中的任何数报、主函数main()、读语数neadDrtO和写话数writeDa")的内容.

*include<stdio.h>

inta[300),b(300)fcnt-0;

3voidreadDat();

voidwriteDat();

5voidjsValue<)

6

7

8

9main()

10

11inti;

12readDat();

jsValueO;

14writeDat();

-R

15printf("cnt%d\n/ent);

16for(i•0;1<ent;i♦十)

17printf(*b(IdjMdV®"#ab(il);

18

19voidreadDat()

20

21FILE*fp;

22int1;

wRHw

23fp=fopen(in.datrr)

24for(i»0;i<300;“♦)

25fscant(fp,&a(1

26fclose(fp);

21

28voidwrlteDat()

29

30FILE,fp;

31int1;

ww

32fp=fopen(out.datr;

R

33fprlntf(fp,*%d\nrent);

34for(i-0;i<ent;1>♦♦)

35fprintf(fp,fd\n,b(i))

36fclose(fp);

37

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

1♦include<stdio.h>

2•include<string.h>

3♦include<ctype.h>

4unsignedcharxx[50][80];

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9I

10unsignedintval;

11

12

13voidmain()

14(

15if(ReadDatO)

16(

17printf("数据文件m.dat不佬打开!\n\007");

18return;

19)

20encryptChar();

21WriteDat();

22I

,♦从文付mdal中口:取一■荚文文・・存人父字符中数mu中•/

intReadDat(void)

24

25FILE*fp;

26inti-0;

27unsignedchar*p;

28if((fp-fopen(-in.datH,)-NULL)

29return1;

30while(fgets(xx(1),80,fp)-NULL)

31I

32p=strehr(xx(i)#*\n*);

33if(p)*p-0;

34If

35

36maxline-i;

37fclose(fp);

38return0;

39>

/•«««u■出到文件outdai中•/

40voidWriteDat(void)

41

42FILE*fp;

43inti;

44fp■fopenfout.dat**,W

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

46(

47printf("laXn",xx{iB;

48fprintf(fprFs\n",xx(i]);

49

50fclose(fp);

51

35.已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数

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

其功能要求:

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

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

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

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

中。

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

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

和输出函数WriteDat的内容。

1!finclude<stdlo«h>

IdefineMAXNUM200

3intxxlMAXNUHI;

4inttotNum-0;〃文件/n.dac中共有多少个

inttotCnt-0;〃符合条件的正整数的个效

6doubletotPjz-0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

voidmaln()

(

15int1;

16ford-0;i<MAXNUM;if

17xx(i]-0;

18if(ReadDatO)

19I

20printf("数据文件in.dat不能打开I\00八n-);

21return;

22!»

23iCalValue();

24ipxlntf("文件ln.dat中共有正整个\rT.totNum);

25•prin"L符合条件的正整数的个数・,d个\n-.totCnt);

26:printf("平均值=L21f\n",totPjz);

27!WriteDat();

28;}

i/•*取这若干个正■收并存入中•/

29>intReadDat(void)

30;(

31!FILE*fp;

32;inti-0;

33;if((fp-fopen(*in.daf,-r*))-NULL)

34!return1;

35;while(!feof(fp))

36jI

37•fscanf(fp,7dJ.4xx[i++])j

38;)

39!fclose(fp);

40»return0;

41;)

!/•把计算站呆存入文件为ut.dat中•/

42;voidWriteDat(void)

«j)

44!FILE-fp;

45;fp•fopen(wout.datR,*wH>;

ww

46:fprintf(fp,%d\n%d\ni.21f\n#totNum,totCnt,totPjz);

47jfclose(fp);

48!)

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

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

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

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

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

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

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

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

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

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

进行处理。

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

的内容。

linclude<stdio.h>

•include<string.h>

3linclude<ctype.h>

4unsignedcharxx(50](80);

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

11

12!voidmain()

13i(

14;if(ReadDatO)

15;(

16printfL数据文件in.da匕不能打开!\n\g7");

17return;

18)

19iencryptCharO;

20:WriteDat();

!/•从文Rhdu中途取一■英文文存入无符号字料中081M中♦,

22!intReadDat(void)

I

23;(

24;FILE#fp;

25iinti-0;

26;unsignedchar*p;

27Jif((fp-fopen(Rin.datwewrR))»-NVLl.)

23return1;

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

30!(

31p-strchr(xx[ilr'\n*);

32if(p)*p-0;

33

34I)、

35maxline«i;

36।fclose(fp);

37•return0;

38P

i,•把站果u一出到文件OUL&t中•/

39!voidWriteDat(void)

40

41FILEefp;

42inti;

43(p■fopen(wout.dat",Ww");

44for(i-0;1<maxline;

45

w

46printf(%s\n*#xx(1j);

47fprintf(fp,"%s\nRrxx[ij);

48

49fclose(fp);

50

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

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

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

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

条件的个数ent并把这些四位数按从小到大的顺序存入数组b中,最后

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

Out.dat文件中。

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

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

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

和写函数writeDat的内容。

*include<stdio.h>

•defineMAX200

3inta(MAX|rb(MAXltent

4voidwriteDat();

5voidjsValO

6

7

8

/•readDAt(>从ft庚文件in.dat中调取200个四位数“入故蛆•中•/

9voidreadDat()

V-(

11int1;

12FILEefp;

13fp-fopen("In.daL,Rrw);

14for(i-0;i<MAX;{

15fscanf(fp9

16fclose(fp);

17)

18voidmain()

19

20int1;

21readDat();

22jsValO;〃谓M晒故,实现电H复求的功健

23printf("满足条件的数A、d\rT,err);

24for(i-0;i<ent;1+♦)

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

26printf(•,\nR>;

27writeDat<);

28J

/•嘀数writeD叫)肥姐果cm以及效如b中科合条件的四仰数■出到311文忤中•/

29voidwriteDat()

30(

31FILE*fp;

32inti;

33fp-fopen("out.dat">Mw");

0,

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

35for(1*0;i<ent;i-+)

36fprintf(fp,”d\n”,b[il);

37fclose(fp);

38

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

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

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

例*h,字符卑中厥有内容为:MnJ23xyZ,则■用途曲数后,结果为‘nJ23”ZM.

Str都分源程序存在U«.c文件中.

请勿改动数据文件in.diM中的任何数据.E法数miin()和,出由数readwrilcDATO的内容.

1»finclude<stdio«h>

2!IInclude<strln9»h>

3!#defineN81〃定义史,・N,KttWf11

4;voidreadwriteDAT();

5!voidchg(chares)

6!(

•»•

8•}

9\main()

10•(

11Jchara(N);

121printt(**Enterastring:");gets(a);

13iprintf<**Theoriginal3txingis:*):puts(a);

14!chg(a);

15;printf(R,rtiestringaftertnodified:,1);

16•puts(a);

17•readwriceDAT();

18;I

•in.dat中*入字符申*输字符由安・•・叫用/•(:制(9)对字料*植照■目的要求近lj社理,ME社友结果£入用文件

;out.dat中•/

191voidreadwriteDATO

20;(

21-inti;

22jchara[N];

23-FILE•rfr

H

24;ri•fopen("ln.dat*r*r);

25iwf■fopen("out«datw,Rw");

26!for(1»0;1<10;

27;(

28:fscanf〃从文fHn.dat中金敢个?杓EM除字符木・

29、chg(a);〃同用chq(«)财字符串・IS厅依内

30;fprintf(wf,*ts\n",a);〃把处理站寰写入列out.dat文件中

3Xj>

32;fclose(rf);

33•fclove(w£);

•i

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

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

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

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

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

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

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

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

题。

例如:sei如]=temp;

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

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

finclude<stdio.h>

IInclude<string.h>

♦include<stdllb.h>

•defineMAX100

5typedefstruct

6(

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

8charme111J;/•产品名*•/

9intdj;/•单价•/

10intsi;/•ft*•/

11longje;/•令・♦/

12}PRO;

13PROsellfMAXJ;

14voidReadDat();

voidWriteDat();

16voidSortDat()

17

18

19

20voidmainO•

21(

22n»ms«t(sell00,sizeof(sell));

23ReadDat();

24SortDat();

25WritoDat();

26)

27voidReadDatO

28I

29FILE#fp;

30charstr(80)9ch[111;

31int1;

32fp•fopen("in.dat"r"L”

33for(l*0;1<100;

34(

35fgets<str*80«fp);

36memcpy(sell[1]str.4);

37reotncpy,me,str♦4,10);

38metnepy(ch#;ch(4]-0;

39sell(1).dj-atol(cb);

40nemepy(ch.str“8.5);ch(5)«0;

41sell(1).91•atol(ch);

42sell|1).je-(long)sell(i).dj•sell(1].al;

43

44fclose(fp);

45)

46voidwritoDat0

47(

48FILE*fp;

49let1;

50fp•fopen("out.dat","w*>;

51ford•0;1<100;1*♦)

52I

53fprlntf(fp,Is14dISdll01d\n*/sell[i].dmrsell(i).me*sell(1j.djrsell(1].si,

sell(1).je);

54)

55fclose(fp);

56

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

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

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

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

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

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

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

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

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

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

进行处理。

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

*include<stdio.h>

2tinclude<string.h>

3■include<ctype.h>

4unsignedcharxx(50]180];

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

请勿改动主函敷mainO、读函数ReadDaH)和泊出的数WritelM)的内容,

IInclude<stdlo.h>

•include<string.h>

3•include<ctype.h>

4unsignedcharxx(50)(801;

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

12voidmainO

13

14if(ReadDat())

15

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

17return;

18

19encryptChar();

20WriteDat();

21

八从文件m.4bt中请取一■英文文章,存入到字料*收机XX中•/

22intReadDat(void)

23

24;FILE«fp;

25jinti-0;

26;unsignedchar*p;

27!www

if((fp-fopen(in.datrr*))-NULL)

281return1;

29;while(fgets(xx(i]r80,fp)!,NULL)

30

31p-strchr(xx[i]r*\n*);

32if(p)*p-0;

33

34J

35maxline«1;

36fclose(fp);

37return0;

38)

八把她JRu-出现文件ouLdM中•/

voidWrileDat(void)

40(

.jFILE*fp;

42;int1;

43jfp■fopen(wout.dat",Hww);

44;for(i*0;i<maxline;,ix)

45:(

46iprintfxx[i]);

47j

fprintf(fp,"%s\nw,xx(i]);

48!)

49;fclose(fp);

voidmainO

13

14if(ReadDat())

15I

16prlntf("1![据文件in.dat不能打开!\n\007");

17return;

18)

19encryptChar();

20WriteDat();

21)

/•从文付huht中流取一・英文文■.存入现字符由敷用H中•/

22intReadDat(void)

23(

24FILE,£p;

25int1•0;

26unsignedchar*p;

Hw

27if((fp-fopen(**in.dat*rr))~NULL)

28return1;

29while(fgets(xx[1],80rfp)!-NULL)

30(

31p-strchr(xx[l]9,\n•);

32if(p).p*0;

331十♦;

34)

35maxline•1;

36fclose(fp):

37return0;

38]

/•1CWl.Uxx■出fl文竹outdat中•/

39voidWriteDat(void)

40(

41FILE*fp;

42inti;

43fp-fopen("out.dat",Rww);

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

45I

N

46prlntf(*%s\nrxx(iJ);

47fprintf(fp,*%s\n**rxx[1]);

48)

49fclose(fp);

50

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

41.设某全国性的运输企业建立了大型0LTP系统,并在该系统之上建立

了数据仓库。0LTP系统和数据仓库中有如下数据表:运输明细表(运输

单ID,发送站ID,终到站ID,货物ID,货物重量,运输价格,发货日

期)汇总表1(发送站ID,终到站ID,货物ID,发货日期,总重,总

运价)汇总表2(发送站ID,终到地区ID,货物ID,发货日期,总重,

总运价)汇总表3(发送站ID,终到站ID,货物ID,发货月份,总重,

总运价)汇总表4(发送地区ID,终到地区ID,货物类别ID,发货日

期,总重,总运价)该企业管理的货运站约有100个,货物约有500种

共1。类,各汇总表都建有主码,且各表有合理的维护策略,在每次维护

后数据能保持一致。设有视图V,该视图的访问频率很高,其查询结果

模式为(发送地区ID,终到站ID,发货月份,总重,总运价),该视图

现以汇总表1为计算数据源。经监控发现,汇总表1的被访问频率过高,

导致系统整体性能下降,而其它汇总表被访问频率较低。在不增加汇总

表和索引的情况下,请给出一个改善系统服务性能的优化方案,并简要

说明理由。(10分)

42.已知有如下关系模式:RI(a,b,c),R2(c,d,a),R3(e,

f),R4(g,g),其中标下划线的属性是主码。请将上述关系模

式用适当的ER图表示出来,并用下划线标注出作为实体主码的属

性。(10分)

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

43.监控数据库系统运行状态是数据库管理员非常重要的职责。数据库管

理员有如下工作:I.定期实施数据库完整备份并将备份数据传送到远

端容灾中心II.定期查看数据库空间是否满足业务需求山.定期查看数

据缓冲区命中率、数据库锁情况W.定期查看数据库用户会话情况V.使

用自动化手段检查数据库CPU使用情况,出现异常情况时自动发短信

通知系统管理员上述工作中属于数据库监控工作的是()。

A.仅I、II和VB.仅I、III和WC.仅H、ffl、W和VD.全部

44.某数据库应用系统在运行中,用户反映某操作很慢。系统工程师在用

户的客户机及数据库服务器上使用数据库管理系统自带的客户端程序

执行此操作所涉及的SQL语句,发现在两个环境下SQL语句执行的速

度都很慢。为了提高效率,下列检查无需进行的是()o

A.检查客户机到数据库服务器的网络情况

B.检查数据库服务器的CPU使用情况

C检查这些操作涉及到的表是否已建立有效的索引

D.检查数据库中是否存在大量锁

参考答案

1.A

2.B解析:平衡二叉树又称AVL树,它或者是一棵空树,或者是具有下

列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右

子树的深度之差的绝对值不超过1,若将二叉树上结点的平衡因子BF

定义为该结点的左子树的深度减去它的右子树的深度,则平衡二叉树上

所有结点的平衡因子只可能是-1、0和lo只要二叉树上有一个结点的平

衡因子的绝对值大于1,则该二叉树就是不平衡的。因为AVL树上任何

结点的左右子树的深度之差都不超过1,则可以证明它的深度和log2n是

同数量级的(N为结点个数)。因此,它的平均查找长度也和log2n同数量

级。

3.B解析:根据数据库的定义可知,数据库是长期存储在计算机内的、

有组织的、可共享的数据集合。数据库中的数据按照一定的数据模型组

织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,

并可为各种用户所共享。

4.B解析:在不同类型的中断中,软中断(也称内中断)是由于执行程序中

某些指令引起的;而硬中断(也称外中断)则是由处理器以外的其他控制

电路发出的中断请求信号引起的。

5.C解析:霍夫曼算法给出了求扩充二叉树的具有最小带权外部路经的

方法:首先找出两个最小的wi值,不妨设为wl、w2,然后对m-1个权

(WI+W2,w3,…)来求解这个问题,并且将这个解中的结点(W1+W2)用

下图来代替,如此下去,直到所有的w都成为外部结点。

对本题中的W={10、12、16、21、30),我们不妨写出其序列:

因此其扩展二叉树参见下图。

我们可以计算出扩充二叉树的具有最小带权外部路径长度为

10*3+12*3+16*2+21*2+30*2=200本题正确答案为选项C。

6.A在电子邮件程序向邮件服务器发送邮件时,使用的是简单邮件传输

协议(SMTP);而在电子邮件程序从邮件服务器读取邮件时,可以使用邮

局协议(POP3)或交互式邮件存取协议(IMAP),它取决于邮件服务器支持

的协议类型。

7.B解析:实体完整性规则是指关系中的元组在组成主码的属性上是不

能为空值的;参照完整性规则指外码不允许参照不存在的相应的主码值,

或外码为空值;用户自定义完整性规则是用户根据具体应用定义的。

8.A解析:内模式也称物理模式或存储模式,一个数据库只有一个内模

式。它是数据物理结构和存储方式的描述,是数据库内部的表示方法。

9.C解析:数据库功能可以分为两部分:前端包括表格生成器、报表书

写工具、图形用户界面工具等,后端包括计算和优化、并发控制以及故

障恢复,前端与后端之间通过SQL或应用程序宋接口。在集中式系统

中,前端和后端在同一个系统中运行。

10.A解析:本题是对事务特性的考查。数据库管理系统中,为了保证事

务的正确执行,维护数据库的完整性,要求数据库系统维护以下事务特

性,即原子性、一致性、隔离性和持久性。事务的原子性是指事务的所

有操作要么全部正确反映出来,要么不反映;事务的一致性是事务的隔

离执行保持数据库的一致性;事务的隔离性是指尽管多个事务可以并发

进行,但要使每个事务都感觉不到系统中其他事务在并发进行;事务的

持久性是指一个事务成功完成后,它对数据库的改变必须是永久性的,

即使系统可能出现故障。因此“事务的所有操作在数据库中要么全部正

确反映出来要么全部不反映”,这是事务的原子性,正确答案为选项A。

11.物理物理解析:数据库设计的四个阶段是:需求分析、概念设计、

逻辑设计和物理设计。其中物理设计阶段的主要任务是:对数据库中数

据在物理设备上的存放结构和存取方法进行设计。“为哪些表、在哪些字

段上、建什么样的索弓I”便是为数据库设计索引存放的方法。

需求分析阶段的任务是:对现实世界要处理的对象(组织、部门、企业等)

进行详细调查,在了解新系统的概况、确定新系统功能的过程中,收集

支持系统目标的基础数据及其处理方法。

概念设计的任务是产生反映企业组织信息需求的数据库概念结构,即概

念模型。

逻辑设计的目的,是从概念模型导出特定的DBMS可以处理的数据库

的逻辑结构(数据库的模式和外模式),这些模式在功能、性能、完整性、

一致性约束及数据库可扩充性等方面都满足用户的要求。

12.笛卡儿积笛卡儿积解析:自然连接是构造新关系的有效方法,投影

和选择是分解关系的有效方法。利用投影、选择和自然连接操作可以任

意地分解和构造新关系。一般,自然连接使用在R和S有公共属性的情

况中。如果两个关系没有公共属性,那么他们的自然连接就变成笛卡儿

积。

13.元组或记录元组或记录

14.路由器【解析】因特网主要由通信线路、路由器、主机(服务器与客

户机)和信息资源构成。

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

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

16.缺页缺页中断就是要访问的页不在主存,需要操作系统将其调入主存

后再进行访问

17.网状型【解析】在网状型拓扑构型中,结点之间的连接是任意的没

有规律。网状型拓扑的主要优点是系统可靠性高。目前实际存在与使用

的广域网结构基本上都采用网状型拓扑构型。

18.误码率【解析】描述通信系统的基本技术参数是数据传输速率和误

码率。

19.限长寄存器限长寄存器解析:在存储管理中,要实现地址映射,应

有基址寄存器与限长寄存器。

20.控制器控制器解析:以存储程序原理为基础的冯・诺依曼结构的计算

机,一般都由5大功能部件组成,它们是:运算器、控制器、存储器、

输入设备和输出设备。运算器对数据进行算术运算和逻辑运算;控制器

控制各部分自动协调地工作,完成对指令的解释和执行;存储器存放程

序和数据;输入设备是外部向计算机传送信息的装置;输出设备是将计

算机内部二进制形式的信息转换成人们所需要的或其他设备能接受和

识别的信息形式。

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

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

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

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

22.D

23.A解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比

较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。一

般的连接操作是从行的角度进行运算,但自然连接还需要取消重复列,

所以是同时从行和列的角度进行运算。

24.B

【答案】B

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

访问的只读模块。

25.B解析:冯?诺依曼提出的存储程序工作原理决定了计算机硬件系统

的5个基本组成部分,即运算器、控制器、存储器、

温馨提示

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

评论

0/150

提交评论