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

下载本文档

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

文档简介

2021年安徽省亳州市全国计算机等级考试

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

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

一、1.选择题(10题)

1.事务的ACID特性中的C指的是

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

2.在多道批处理系统中,为充分利用各种资源,运行的程序应具备的条

件是()o

A.适应于内存分配的B.计算量大的C.I/O量大的D.计算型和I/O型均

衡的

3.下面说法中错误的是____。

A.子类具有继承性

B.子类的键是其超类的键

C子类继承超类上定义的全部属性,其本身不可以包含其他的属性

D.同一实体类型的若干子类之间可相交也可不相交

4.9.数据库管理系统通常提供授权功能来控制不同用户访问数据的权

限,这主要是为了实现数据库的()

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

5.在SQL语言的SELECT语句中,实现投影操作的是哪个子句?。

A.selectB.fromC.whereD.groupby

6.数据库系统的并发控制主要方法是采用哪种机制?

A.拒绝B.可串行化C.封锁D.不加任何控制

7.如下是一个稀疏矩阵的三元组法存储表示和相关的叙述正确的是

行下标列下标值

125

132

279

356

361

46-1

543

A.该稀疏矩阵有8列B.该稀疏矩阵有7列C.该稀疏矩阵有9个非。元

素D.该稀疏矩阵的第3行第6列的值为0

8.下列进程状态的转换中,哪一个是不正确的?

A.就绪一运行B.运行一就绪C.就绪一等待D.等待一就绪

9.下列关于计算机病毒叙述中,不正确的是

A.计算机病毒是一种特殊的具有破坏性的计算机程序

B.计算机病毒具有很强的传染性

C.计算机病毒在任何条件下都可以激发

D.计算机病毒具有依附其他媒体寄生的能力

10.在文件系统中,文件的逻辑结构可分为两类,它们是______O

A.流式文件和记录式文件B.字符文件和二进制文件C.程序文件和数

据文件D.内存文件和外存文件

二、填空题(10题)

n.观看视频时,如果人物说话的口型与声音不吻合,观众就会觉得很不

舒服。这种音频流与视频流之间的同步称为O

12.在SQLServer2008中,系统提供的具有管理员权限的角色是

13.

设哈希函数h(k)=kmod7,哈希表的地址空间为。〜6,对关键字序列(32,

13,49,55,22,38,12)按线性探测法解决冲突,关键字12应存

放在散列表中的地址是【】,

查找关键字12需比较的次数为【】

14.进行并、差、交集合运算的两个关系必须具有相同的即元

组结构相同。

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

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

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

17.在分布式数据库系统中,每一个节点都是一个独立的系统。

18.红外无线局域网的数据传输技术包括:_________红外传输、全方

位红外传输与漫反射红外传输。

19.某一磁盘请求序列(磁道号):0245713202,按照最短寻道时间优

先磁盘调度算法对磁盘进行请求服务,设当前磁头在4道上,则磁臂总

移动道数为。

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

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

作【】原则。

三、单选题(10题)

21.数据库的概念模型独立于()。

A.具体的机器和DBMSB.实体联系图C.信息世界D.关系模型

22.对数据库模式设计进行优化有三项指标,下列指标中不属于这三项

指标的是()

A.A.单位时间内访问的逻辑记录个数要少

B.单位时间内数据的传送量要少

C.数据库模式中的关系(即数据库文件)数目要少

D.系统占用的存储空间要少

23.关于水平分割说法错误的是:()

A.根据行的使用特点进行分割

B.分割之后所有表的结构都相同。

C.而存储的数据不同。使用并(Union)操作。

D.使用连接(Join)操作

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

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

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

A.数据库转储与恢复

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

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

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

25.采用SPOOLing技术的主要目的是()。

A.提供内存和磁盘的接口B.减轻用户编程负担C.提高CPU和设备交

换信息的速度D.提高独占设备的利用率

26.以下关于OSI的描述中,错误的是()。

A.OSI详细说了各层提供的服务,但各层提供的服务与这些服务如何实

现无关

B.OSI不是一个标准,只是一个在制定标准时所使用的概念性的框架

C.OSI提供了一系列可以实现的方法

D.OSI中采用了三级抽象

27.在建立表结构时定义关系完整性规则()

A.使DBS能够自动维护数据完整性约束条件B.还需要编程实现数据完

整性约束条件C.没有必要定义D.将使系统操作复杂

28.逻辑设计主要是把概念模式转换成()

A.DBMS能处理的模式B.与DBMS无关的模式C层次结构模型D.子

模式

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

()。

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

1-tincludeotdio.h>

2\tdefineMAX200〃定义宏变■MMH值等于2。。

3iinta(MAX),b(MAXl,ent-0;〃11初始值为0.定义全局整型aIMAXJ<b(MAX|W^«cne

4!voidwriteDat();//slteDat"#数的说明语句

5jvoidjsVal()

6;(

7;

Bi)。

•/•readDat()从依据文忖m.da1中读取200个网位数存入数相■中〃

9\voidreadDat()

io!(

111int1;

12jFILEefp;

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

14;for(1a0;1<MAX;i++)

15ifscanf(fpr"Qd".;

16;fclose(fp);

17:»

18»voidmam0

19;(

20!inti;

21»readDat();

22:jsVal(>;〃谓阳)滴敝,实照AIH要求的功能

23\printff”满足条件的数7d\rT,:nt);

24ifor(i-0;i<ent;“♦)

25•print1(**%d",b[11);

26•printf(0\nM>;

21;writeDatO;

28i)

;/•响敢wntcIXHHe怙里mi以及数期b中衿介条件的四位敷,出到out.dai文件中•/

29;voidwrlteDat()

30!{

31;FILEafp:

32•inti;

ww

33•fp»fopen(out.datr”“);

34;fprintf(fp,7d\M,ent);

35!ford■0;1<ent;"♦)

R

361fprintf(fprid\n**rb(i]i;

37jfclose(fp);

385)

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

请”改动主函数main(),读函数ReMDatQ和仲出的敷WriteDaiO的内容,

IJIinclude<stdio.h>

2ylinclude<string.h>

3;tinclude<ctype.h>

4!unsignedcharxx[50)(80];

5jintmaxline-0;/•文束的总行数*/

6;intReadDat(void);

7jvoidWriteDat(void);

8;voidencryptChar()

9;I

10|

12Ivoidmain()

13i(

14;if(ReadDat())

15!(

16;printfLU据文件in.dat不能打开!\n\007。);

17;return;

18j)

19;encryptChar();

20!WriteDat();

21\}

;/•从文件皿修中S取一篇英文文章,存入到字符*数机口中•/

22!intReadDat(void)

23i(

24;FILE-fp;

25Iinti-0;

26;unsignedchar*p;

www

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

28jreturn1;

29-whilelfgets<xx(i],80ffp>!,NULL)

30!(

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

32jif(p>*p-0;

33•I++;

34;1

35!maxline«1;

361fclose(fp);

37;return0;

38!)

i/•把站整XX-出到文件OUL&l中•/

39;voidWrileDat(void)

40*(

41jFILETp;

42jinti;

43;fp-fop@n("out・dat".

44\for(i*0;i<maxline;

45!(

ww

46iprintf(%s\nrxx[i]);

w

47;fprintf(fp,%s\n"#xx(i]);

48f)

49\fclose(fp);

50;}

voidmain()

13

14if(ReadDat())

15(

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

17return;

18

19encryptCharO;

20WriteDat();

21)

/•从文付indM中it联・英文文存入*字粒市敏纲u中〃

22intReadDat(void)

23(

24FILE*£p;

25inti•0;

26unsignedchar・p;

ww

27if((fp«fopen(**in.dat."rr))—WLLL)

28return1;

29while(fgets(xx[i),80,fp)!•NULL)

30(

31p■strchr(xx(i)9,\n');

32if(p)*p«0;

331+♦;

34I

35maxline•1;

36fclose(fp);

37return0;

38I

"IC纳果xx・出宜文floutdat中•/

39voidWriteDat(void)

40(

41FILEefp;

42inti;

43fp°fopen("out.datw,Rw,r);

44for(i•0;i<maxline;

45(

46printf(,,%s\nw,xx[i|);

47fprintf(fp,xx[1]);

48I

49fclose(fp);

50

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

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

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

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

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

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

例如:1239.9-!-2.3>0,则该数清足条件存入数纲b中・且个数cnLcnt,l.

8129.9.8-1-2<0.则该数不满足条件忽略.

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

程序中已定义数组,4300卜b(300],已定义变量:ent

请勿改动数据文件in.&t中的任何数据、主语数mainO、读话数readDaU)和写南效writeDaH)的内容.

tinclude<stdio.h>

2inta(300],b[300),cnt*0;

3voidreadDat();

voidwriteDat();

5voidjsValue()

6

7

8

9mainO

10(.

inti;

12readDat();

13jsValue();

14writeDat();

printf(**cnt-%d\nR^ent);

for(i-0;1<ent;

Drintf1

21

221;

23fp=fopen("In.daL,"L)

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

25fscant(fp,M%d

26fclose(fp);

28voidwriteDat()

29;(

90•fp;

3j

inti;

32!fp■fopen(**out.datw

33<fprlntf(fp,"%d\n"r

34;for(1-0;i<ent;

35!fprlntf(fp,***d\rT.b(i))

36ifclose(fp);

37;}

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

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

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

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

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

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

例如:位置01234567

源字符串hgfedcba

则处理后字符串hafcdebs

注意:部分源程序存在皿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

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

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

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

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

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

件out.dat中o

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

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

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

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

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

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

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

Iinclude<stdio.h>

IdefineN100

3*defineS1

4*defineM10

5intp[100)tn,s,m;

voidWriteDat(void);

7voidJoseqh(void)

8

9

10

11;voidmain()

12!(

13;m=M;

!nwN;

iS-S;

Josegh();

17•WriteDat();

18

!,•把姑塞p•出到文件6gdm中•/

voidWriteDat(void)

int1;

22FILEefp;

Rw

23fp-fopen("out<dat*fw);

八以史事的方式,以1。个独掘为-ifl把Siftpm•出刊屏幕加文件outdat中♦/

24for(i-N-1;i>«0;i-T

25

26!printf(R%4d”,p(il);

27\fprintf(fp,”4d",p(i]);

28if(i%100)〃如果i・帔X,蒙除.射■出一个回东换行将

29

30printf;

31fprintf(fp^"\n

32

33

闾fclose(fp);

36.已知在文件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的内容。

14include<stdio.h>

2Iinclude<»trlng.h>

3•IncludeOtdlib.h>

4fdefineMAX100

5typed©fstruct

6(

7chardm⑸;/•产4代码•/

8charnc(lll:/•MW•/

9intdj;/•・饼•/

10intsi;/•■■•/

11longje;/••・•/

12)PRO;

13PRO8011【MAX);

14voidReadDat();

15voidWritet>at();

16voidSortDat()

17

16

19

20voidmain()

21<

22momoot(selli0.stzeof:

23ReadDat();

24SortDat();

25WriteDatO;

26)

21voidReadDat()

28I

29FILEefp;

30charatr(80),ch(ll);

31Int1;

32fp-fopen("in.ckit","rw);

33for(i•0;1<100;

34(

35fgetBtstXr80,fp);

36memcpy(sell(l).dm,str,4);

37memcpy(sellfil.me,str♦4,10);

38menepy(ch«stx*14r4):ch(4J-0:

39sell(i).dj-atoi(ch>;

40memcpy(chrstr*18v5);ch(5]-0;

41sell(i).al-atoi(ch);

42sell(i).je-(long)sellU).dj•selldl.al;

43)

44fclose(fp);

45}

46voidWrlteOat()

47<

48FILEefp;

49inti;

50fp-fopen("out.**w*);

51tor(1•0;1<100;*+♦)

52

w

fprintf(fp,3%4d%5dt101d\n,seUUbdh,sellll).mc«aellUJ.djr.

sttllll)»je);

54;

55!fclose(fp);

56h

37.已知在文件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<stnng.h>

3i^include<stdlib.h>

4;IdefineMAX100

5।tvDed3fstmet

7!chardm[5];/•产晶代码•/

8icharTOC(111*/•产品名幕•/

9:intdj;单伊•/

50;t

19;

20:voidmainO

21;

22;momset(sell*0,sizcof(sell));

23•ReadDatO;

24iSortDat();

2S!WritoDat("

26•

27;voidReadDat()

28:

29;FILE.fp;

30jcharstr(80)9ch(ll);

31Jinti;

32\fp•fopen("in.dat",Hrw>

33\for(l•0;1<100;£+♦)

34i

35•fgets(str*80,fp);

36,memcpy(sell[1]tdm,str/4);

37;metncpy(sell(i).me,str♦4,10);

38\

memepy(ch^str*14f4);ch(4J«0;

39jsell1।-dj■atol(cb);

40jmemepy(ch«str*18f5);ch(5)*0;

41:aell(1)«sl•atol(ch);

42jsell(i).je•(lon9)sell[i].dj•sell(i].si;

43•

445fclose(fp)j

45;

46;voidWritoDat()

47j

48;FILE*fp:

49;int1;

50»fp•fopenLout.dat。*wn)

51:for(1•0;1<100;

52j

53ifprlntf(fp,"%5la%4d%Sd1101d\n*,sell[1].dmr(1),mcfsell(1].dj,sell(i).si,

sellfi].je);

55fclose(fp);

56

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

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

数各位上的数字均是奇数,则统计出满足此条件的个数ent并把这些四

位数按从大到小的顺序存入数组b中。最后main函数调用写函数

writeDat把结果ent以及数组b中符合条件的四位数输出到Out.dat文

件中。

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

秩序中已定义数组:8(200]<b(200],已定义变量:ent

请勿改动数据文件indrt中的任何数据、主函数main()、读函数readDatQ和写函数writeDatQ的内容.

1:tinclude<stdio.h>

2tdefineMAX200

3inta(MAX),b(MAXl,ent-0;

4voidwriteDat();

svoidjsVal()

6

7

8

9voidreadDat()〃从An.dat文件中S取200个四位数存入敛忸③中

10(

inti;

12FILE#fp;

,,H

13fp,fopen(*in.dat,*r);

14ford-0;1<MAX;iw)

15

fscanf(fp/7d”,&a[i]>;

16fclose(fp);

17}

18voidmain()

19I

20inti;

21readDat();

22jsval();〃■川禧匕“丫.1八,实现・11要求的动能

23printf「满足条件的数,Qd\n”,entI;

24for(i•0;i<ent;

25printf(fd”•b(i)):

26printf(*\nw):

27writeDat();

28)

29voidwriteDat()〃总计W防小cm以及敷出b中料合条件的四位依■忸到out&i文件中

30(

31FILE*fp;

32int1;

H

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

34fprintf(fp#ent);

35for(i-0;1<ent;

36fprintf(fp,b(i]);

37fclose(fp);

38

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

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

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

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

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

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

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

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

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

例如IAl123!24152115

3245172718IS

c<345!12751155

律序后j115512753451

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

程序中已定义8叩00]、班00)和中蚂・

请勿改动数据文件IN1.DAT和1N2.DAT中的任何数据.主曲鼓设函数reMD叫)和耳滴数writeDW)的内容.

11Iinclude<stdio«h>

2;•defineMAX100

3\intalMAXHb(MAX),C(MAXJ;

4•intent-0;/•存放钟作条件数第个我•/

5;voidjsVdl()

i,•纪数据文钟IN1DAT10N2.DAT中豺100个牌位上班・>0春入fttll•W>b中♦/

9•voidreadDati)

10»(

11;int

12•FILE•fp;

13:fp-fopenClnl*r**);

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

15ifscanf(fp*•td"r)•

16!fclose(fp);

17»fp•fopen("in2.dat",■rw);

18-ford-0;1<MAX;

19«fscanf(fp41]);

20;feloae(fp);

2ij)

22ivoidmain()

24;inti;voidwriteDat();

25-ford-Oii<M^X;

26>Ctl]•0;

27-readDat()j

29•jsVal();

29jfor(i-0;1<MAXnC(

30!prlntfCid\n",c(i]>;

31jwritoDat()i

32j)

:/•把彷最敏蜗c•出到文竹中〃

33•voidwriteDat()

34j(

FILE*fp;

36int1;

37fp•fopen("out**w");

38ford-0;1<MAX“c(i)>0;

39fprintf(fp,c(i)):

40fclose(fp);

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

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

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

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

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

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

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

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

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

1»Iinclude<stdio.h>

2i^defineMAXNUM200

3!intxx[MAXNUM);

i

4jinttotNum.0;〃文件irudat中共有多少个正整政

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

6jdoubletotPjz■0.0;//平均值

7iintReadDat(void);

8!voidWriteDat(void);

9;voidCalValue(void)

10;(

11!

12i)

13\voidmain()

14

15int1;

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

17xx[1]■0;

18if(ReadDatO)

19(

20pr,ntf(“数据文件in.dat不能打开!\00八

21return;

22}

23CalValue();

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

R

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

26printf平均值一,・21f\n".totPjz);

27WriteDat();

28)

/•速取这并F个正整数并存入效mxx中•/

29intReadDat(void)

30(

31FILE»fp;

32inti•0;

33if((fp*fopen("in.dat**rw))—HULL)

34return1;

35while(!feof(fp))

36(

37fscanf(fp,"Qd.”,&xx[11♦6]);

38J

39fclose(fp);

40return0;

41)

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

42voidWriteDat(void)

43|

44FILE・fp;

45fp■fopen("out.datw,wwH);

n

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

47fclose(fp);

48

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

41.设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品

号,销售时间,销售数量,销售单价)。其中,商品号代表一类商品,商

品号、单价、销售数量和销售单价均为整型。请编写查询某年某商品的

销售总毛利的存储过程,毛利=销售数量x(销售单价一单价)。要求商

品号和年份为输入参数,总毛利用输出参数返回。(10分)

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

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

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

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

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

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

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

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

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

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

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

六、单选题[1分](2题)

43.SQLServer2008提供了方便的数据导入/导出向导,现利用该向导

将S1服务器上某数据库中T1表的数据导人到S2服务器某数据库中已

有的T2表中。在数据源上的操作由用户U1完成,在目的服务器上的

操作由用户U2完成。则U1和U2需要具有的权限是()。

A.ul需要T1表的查询权限和T2表的插入权限,U2无需任何权限

B.U2需要T1表的查询权限和T2表的插入权限,U1无需任何权限

C.U1需要T1表的查询权限,U2需要T2表的插入权限

D.U1需要T1表的查询权限和S2服务器的登录权限,U2需要T2表的

插入权限和S1服务器的登录权限

44.在某信息管理系统中需管理职工的照片信息,由于照片数据量较大,

照片信息是否存储在数据库中成为讨论的焦点问题。下列关于照片存储

与使用的说法,错误的是()o

A.将照片存储在数据库中可能会导致备份时间较长,备份空间占用较多

B.将照片存储在文件系统中,在数据库中只存储照片文件的路径信息,

可以大幅度降低数据库的数据量

C.将照片存储在数据库中虽然会导致数据库的数据量较大,但可以方便

地实现多台机器共享照片数据,也可以大幅度提高用户访问照片数据的

速度

D.与将照片存储在文件系统中相比,将照片存储在数据库中更容易实现

人员信息和照片数据的一致性

参考答案

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

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

性,即原子性(Atomicity)、一致性(consistency)、隔离性(isolation)和持久

性(durability),简称ACID特性。因此其中的C是指一致性(consistency),

本题正确答案为选项c。

2.D解析:在多道批处理系统中,运行的程序应具备计算型与I/O型均

衡这一条件,才能充分利用各种资源。

3.C

4.D解析:在计算机的安全性控制中,包括用户标识和鉴别、DBMS存

取控制、操作系统安全保护及数据密码存储。对于数据库的安全性主要

是DBMS的存取控制机制,这样可以确保只授权给有资格的用户访问

数据库的权限,同时令未被授权的人员无法接近数据。

5.A解析:SQL语言提供了SELECT语句进行数据库的查询,该语句的

一般格式为:

SELECT[ALL|DISTINCT]<目标列表达式>...

FROM<基本表>…

WHILE<条件表达式>

CROUPBY<列名>

其中的SELECT语句是选择符合条件的诸元组,而投影的目的也是从关

系中选取符合条件的诸元组。因此实现投影的是SELECT子句。

6.C解析数据库中的数据是宝贵的共享资源,用户可以并发使用数据,

这样,必须有一定的控制手段来保障资源免于破坏。数据库管理系统对

事务的并发执行进行控制,以保证数据库一致性,最常用的方法是封锁

的方法,即当一个事务访问某个数据项时,以一定的方式锁住该数据项,

从而限制其事务对该数据项的防问。

7.B解析:该稀疏矩阵有7歹船该稀疏矩阵有7个非0元素,•该稀疏矩

阵的第3行第6列的值为1。

8.C解析:在上述4种转换中,就绪一等待这种转换不存在,所以是不

正确的。

9.C解析:计算机病毒是一种特殊的具有破坏性的计算机程序。计算机

病毒是在一定的条件下才可以被激发的。具有很强的破坏性,传染性。

注意:计算机病毒是在一定的条件下才可以被激发的,故C)错误。掌握

计算机网络安全的内容和计算机病毒的相关知识,如计算机病毒的特征,

计算机病毒的破坏作用等等。

10.A解析:操作系统中文件的逻辑结构通常有两种,记录式的有结构文

件和流式的无结构文件。

1L唇同步【解析】唇同步要求音频与视频之间的偏移在?80ms内,这

样多数观众不会感到偏移的存在。

12.Sysadmin

13.'

56次

h(k)=kmod7,所以地址为:12mod7=5.分别于关键字进行比较,从而得

出比较次数为6.

14.关系模式关系模式解析:集合运算是从关系中的元组的角度来进行

的。关系代数中的集合运算都要求进行运算的所有关系具有相同的关系

模式,即元组的结构相同。

15.0

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

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

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

17.数据库或DB数据库或DB

18.定向光束【解析】红外局域网的数据传输技术主要有3种:定向光

束红外传输、全方位红外传输与漫反射红外传输。

19.3434解析:按照最短寻道时间优先磁盘调度算法可知,当前磁头在

4道上,则随后磁头移动的位置分别是:5、7、2、0、13、20、24,贝IJ

磁臂总移动道数为:1+2+5+2+13+7+4=34。

20.先写日志原则先写日志原则

2LA解析:概念模型用于信息世界的建模,是将现实世界的客观对象抽

象为某种信息结构。这种结构不依赖于具体的计算机系统,不是某一个

DBMS支持的数据模型。实际上是现实世界到机器世界的一个中间层次。

22.C

23.D

24.D

25.D解析:在一类设备上模拟另一类设备的技术称为虚设备技术。通常

使用高速设备来模拟低速设备,以此把原来慢速的独占设备改造成为若

干进程共享的快速共事设备。就好像把一台设备变成了多台虚拟设备,

从而提高了设备的利用率.我们称被模拟的设备为虚设备。SPOOLing

技术是一类典型的虚设备技术。

26.C

OSI参考模型并没有提供一个可以实现的方法。OSI参考模型只是描述

了一些概念,用来协调进程问通信标准的制定。

27.A

28.A

29.A

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

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

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

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

30.A解析:本题是对计算机的系统软件和应用软件特性的考查。系统软

件应提供友好的人机界面,•系统软件与硬件密切相关而与具体应用领域

无关;应用软件是在系统软件基础上开发的。所以选项A所述是错误

的,正确答案为A。

31.【审题关键句】小于后连续5个数,偶数,从小到大排序。

\n【解题思路】

\n①首先定义两个循环整型变量i、j和一个用于数据交换的整型变量

abo

\n②然后在for循环语句中,先指定循环变量i从0开始,依次递增到

MAX-5(到MAX.5的原因是因为从倒数第5个数开始,其后面的数都

不满5个数,与题目要求不符,因此可以省略最后5个数),接着对每个

数组元素a用判断其是否为偶数且小于其后面连续的5个数,然后把满

足此条件的数组元素a[i]赋给数组元素b[cnt],同时数组的下标变量ent

加1。③最后,用双重for循环语句对数组b中的数组元素两两比较大

小,如果前一个数组元素大于后一个数组元素,则两者进行互换,实现

对数组b进行升序或降序的排列。

\n【参考答案】

\n

\n

32.\n[审题关键句】字符替

温馨提示

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

评论

0/150

提交评论