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

下载本文档

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

文档简介

2021年吉林省长春市全国计算机等级考试

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

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

一、1.选择题(10题)

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

件是()o

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

衡的

2.在中断处理中,输入输出中断是指

A.设备出错B.数据传输结束C.设备出错和数据传输结束D.都不是

3.要与Internet上的计算机进行通信必须使用来建立连接。

A.建立主页B.指定一个IP地址C.使用WWW服务D.发送电子邮件

4.下列哪一个是输出设备?()

A.鼠标B.键盘C.数/模转换器D.模/数转换器

5.设有关键码序列(14,12,5,6,8,10,15,19,47,11,2,9),要

按关键码值递增的次序排序,采用直接选择排序法,一趟扫描后的结果

A.(2,5,12,14,6,8,10,15,19,47,11,9)

B.(2,12,5,6,8,10,15,19,47,11,14,9)

C.(14,12,5,6,8,10,15,19,47,11,2,9)

D.(5,6,8,10,15,19,47,11,2,9,14,12)

6.下列关于Delphi的叙述中,是不正确的。

A.Delphi属于第四代语言

B.Delphi基于面向对象编程方法,是一种可视化开发工具

C.Delphi提供了数据迁移工具(DataPump),可以实现数据从一个数据库

到另一个数据库的迁移

D.Delphi可以方便地支持数据仓库的创建

7.下面有关模式分解的叙述中,不正确的是

A.若要求分解保持函数依赖,那么模式分解可以达到3NF

B.若一个模式分解保持函数依赖,则该分解一定具有无损连接性

C.若要求分解既具有无损连接,又保持函数依赖,则模式分解可以达到

3NF,但不一定能达到BCNF

D.若只有要求分解具有无损连接性,那么模式分解一定可以达到BCNF

8.在一棵二叉树上,度为零的节点的个数为n0,度为2的节点的个数

为n2,则nO的值为

A.n2+1B.n2-1C.n2D.n2/2

9.InforMixOnLine动态服务器的共享内存分为三个区,以下哪一项不

是?()

A.可驻留区B.虚拟区C.交换区D.消息区

10.当局部E-R图合并成全局E-R图时,可能出现冲突,下面属于这一

类冲突的是

A.命名冲突B.元组冲突C.语法冲突D.数据冲突

二、填空题(10题)

n.监控分析按照实现方法的不同分为两种,一种是由数据库建立自动监

控机制,另—种是__________O

12.设有关系R(A,B,C)和S(A,D,E,F),若将关系代数表达式:

用SQL语言的查询语句表示,则有:SELECTR.A,B,D,

FFROMR,SWHERE。

13.在关系模式R(A,B,C,D)中,存在函数依赖关系{A-B,A—C,

A-D,(B,C)一A},则候选码为」]

14.计算机采用的是[]工作原理

15.从目前的发展情况来看,局域网产品可以分为共享介质局域网和

______两类。

16.设有关系R(A,B,C)和s(A,D,E,F),若将关系代数表达式:兀R.A,

R.B,S.D,S.F(RooS)用SQL语言的查询语句表示,贝I]有:SELECTR.A,

B,D,FFROMR,SWHEREo

17.系统表所有页均分配在主文件组中。系统默认是主文件组().

18.

用数组AU-nJ敷睡存储完全-iLM的各结点.则hi>0.且i<-_____时,

博点A[i]的4■女Jtifi点A分剜结点A[i]没有&f女.

19.如果关系模式R的属性之间不存在非平凡且非函数依赖的多值依赖,

则R的规范化程序达到了o

20.操作系统之所以能够找到磁盘上的文件,是因为有磁盘上的文件名与

存储位置的记录。在DOS中,它叫做___________o

三、单选题(10题)

21.下面关于关系的性质描述正确的是

A.每列中的分量可以来自不同的域

B.一个关系中可以有相同的元组

C.每一个分量必须是不可分的数据项

D.不同列的分量必须来自相同的域

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

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

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

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

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

23.在需求分析阶段中,业务流程的分析结果一般用()

A.E-R图表示B.程序流程图表示C.数据流图表示D.数据结构图表示

24.如果两个实体之间的联系是M:N,则在转换成关系模型时,()引入

第三个交叉关系。

A.需要B.不需要C.无所谓D.将两个实体合并

25.在SQLServer2008中,设用户U1是某数据库db_datawriter角色中

的成员,则U1在该数据库中有权执行的操作是()

A.SELECT

B.SELECT和INSERT

C.INSERT,UPDATE和DELETE

D.SELECT,INSERT,UPDATE和DELETE

26.一个公司有若干名兼职人员,而每个兼职人员有可能在多家公司打

工,则公司与兼职人员之间具有

A.一对一联系B.一对多联系C.多对多联系D.多对一联系

27.为了实现数据库的逻辑结构设计和物理结构设计结果,必须使用具体

的DBMS提供的数据定义语言建立实际的数据库,此项操作又称为

A.定义数据结构B.数据装载C.数据库运行D.数据库的试运行

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

应授予哪一种权限?

A.DROPB.DELETEC.ALTERD.UPDATE

29.若让元素1,2,3依次进栈,则出栈次序不可能出现哪一种情况?

A.3,2,1B.2,1,3C,3,1,2D.1,3,2

30.下列计算机表示的信息中,不能称为“数据”的是()

A.人的姓名B.图形符号C.计算机程序D.文件名

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

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

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

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

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

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

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

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

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

和输出函数WriteDat的内容。

linclude<8tdio.h>

2•defineMAXNUM200

3intxx(MAXNUM];

4inttotNum■0;〃文件xn.dat中共有多少个lEQBt

5inttotCnt-0;〃符2条件的数的个数

6doubletotPjz-0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14(

15inti;

16ford»0;i<MAXNUM;[♦+)

17xx(i]-0;

18if(ReadDat())

19

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

21return;

22»

23CalValue();

24printf(••文件in.dat中共有正整数个totNum);

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

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

27WriteDat():

28

/•读取这若干个正祭散并存入敷蛆M中〃

29intReadDat(void)

30(

31FILEefp;

32inti■0;

Hww

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

34return1;

35while(!feof(fp))

36(

37fscanf(fp#rd,".

381

39fclose{fp);

40return0;

41)

/•把计算姑聚存入文件。4匕・&匕中•/

42voidWriteDat(void)

43(

44FILEefp;

45fp-fopen(*out.datH,Hww);

46fprlntf(fp,"%d\nid\n%.21f\n"匕otNum,totCnt,totPjz);

47fclose(fp);

48

32.已知数据文件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],已定义企It:ent

请勿改动数据文件in.cUt中的任何数据,主必数num()>由数rcadDatO和写函数writeDat()的内容.

1!linclude<stdio.h>

2jtdefineMAX200

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

4!voidwriteDat();

5tvoidjsVal()

6”

7j

8;}

9IvoidrcadDat()〃从1n・da匕文件中考取20。个网位攻〃入敏Ma中

10;(

11;int1;

12FILE*fp;

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

14for(i-0;i<MAX;

15fscanf(7d”,&a[i)

16fclose«fp);

17

18voidmain()

19

20Inti;

21readDat();

22jsValO;〃•用嫉败,sVLo,实现・目要求的功底

23printf「清I足条件的数7d\n”,ent);

24for(i*0;1<ent;

25printf(*%dIb(i]);

26printf;

27writeDat();

28

29voidwriteDat()〃把计算皓果entllAtttHb中符合条件的四位数七出到皿⑶u文件中

30

31

32int1;

33fp-fopen(wout.datR;

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

35for(iw0;i<ent;“♦)

ww

36fprintf(fpr%d\nrb[1]);

37fclose(fp>;

38

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

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

其功能要求:

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

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

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

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

中。

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

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

和输出函数WriteDat的内容。

*include<stdlo«h>

IdefineMAXNUM200

3intxxlMAXNUM];

4inttotNum■0;〃文件Ln.dat:中技有多少个正整数

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

6doubletotPjz,0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

13voidmain0

14(

15int1;

16ford-0;i<MAXNUM;…)

17xxti]-0;

18if(ReadDat())

19(

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

21return;

22

23CalValue();

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

25printfL符合条件的正整数的个数7d个\ntotCnt);

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

27WriteDat();

28)

/・it取这若干个正整数并存入itlfiu中•/

29IntReadDat(void)

30(

31FILE*fp;

32inti•0;

H

33iff(fp-fopen(ln.dat**#*r**))==NULL)

34return1;

35while(!feof(fp))

36(

37fscanf(fp/”dj.&xx;

38)

39fclose(fp);

40return0;

41]

/•把计算姑果存入文件iut.dat中•/

42voidWriteDat(void)

434

44FILE*fp;

45fp■fopen(wout.dat",;

ww

46fprintf(fp/%d\n%d\ni.21f\n,totNum*totCnt,

47fcloae(fp);

48

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如,位置012345678

源字符串ibcdhgfe

123498765

则处理后字符串hgfedcba

876594321

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

请勿改动数据文件in.dat中的任何数据、主函数main()、读函数n»dD叫)和写函数wntcDatO的内容.

1Jlinclude<stdio.h>

2jfinclude<string.h>

3;charxx[20](801;

4voidreadDat();

5voidwriteDat();

6voidjsSort()

7

8

9

10voidmain()

11;(

12readDatO;

13jsSort();

14;writeDatO;

15;)

j/•从文件mdil中虢取20打败宛存放到字符小数蛆xx中•/

16;voidreadDat()

17J

18।FILEein;

19;inti-0;

20!char*p;

ww

21\in«fopen(in.dat#"L);

22|whiled<20“fget3(xx(i]t80,in)!-NULL)

23

24p-strchr(xxfijf*\n*);

25if(p)*p•0;

26o

27;)

28:fclose(in);

29

j/♦纪站*XX*出到文件gtdm中•/

30!voidwriteDat()

31;I

32FILEeout;

33int1;

34jout-fopenwwM);

35for(i»0;1<20;ii)

36•i

w

37printf(0%s\n/xx[i));

wr

38fprintf(outr%a\n*rxxij);

39;)

40•fclose(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的内容。

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

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

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

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

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

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

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

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

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

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

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

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

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

test.c文件中。

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

的内容。

I•flnclucle<stdio.h>

21iinclude<string.h>

3;unsignedcharxx[50)(80];

4!intmaxiine■0;/•文章的总行数•/

5;intReadDat(void);

6'voidWriteDat(void);

7ivoidChA(void)

ei(

9:

10;}

11{voidmain()

13if(ReadDatO)

14(

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

16return;

17}

18ChA();

19WriteDat();

20]

/•从文件m.dM中康我一编英文丈量存入》无符号字辨申数的XM中•/

21intReadDat(void)

22(

23FILE*fp;

24inti•0;

25char*p;

26it((fp-fopen(win.datw,Hr*))-NULL)

27return1;

28while(fgets(xx(i)<80#fp)9NULL)

29(

30p■strchr(xx(i)t•\n*);

31if(p),p«0;

32

33)

34maxline•i;

35fclose(fp);

36return0;

37)

/•把结果xx*出到ouLdal文件中•/

38voidWriteDat(void)

39(

40FILE*fp;

41inti;

42fp-fopenLout.dat".”");

43for(i«0;i<maxline;1+♦)

44(

w

45printf(%s\n"/xx(i));

R

6fprlntf(fp/"%s\n#xx[11);

47)

48fclose(fp);

49

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

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

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

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

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

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

例如।9!23.9-1-2-3>0.剜读数满足条件存入敷组b中.且个数cnfcm+l.

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

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

程序中已定义1![组:[300],b[300).已定义变cm

it勿改动数据文件in.dal中的任何数据.主函数mainO、读函数rcadDaH)和写函数writeD«O的内容.

1:linclude<stdio.h>

2!inta(300],b(3001,cnt-0;〃定义■型数蛆a[3g],b【3g】和qftent,并且5匕的初值为o

3•voidwriteDat();

4•voidreadDat();

5»voidJsValueO

6

7

8

9•main()

10!(

j

11jinti;

12readDat();

13?isValue();

14•writeDat();

w

15!printf("cnt"%d\nrent);

16ifor(i»0;i<ent;

w

17-printf(b(tdj-td\n"/i.

18»1

19;voidreadDat()

20!(

21•FILE#fp;

22jinti;

HRw

23!fp-fopen(in.datr*r);

24jfor(i-0;1<300;

25♦fscanf(fp,Fd,”,&a(l)

26jfclose(fp);

27i)

28!voidwriteDAt()

29;{

30;FILE*fp;

31!int1;

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

33jR

fprintf(fpr"%d\nrent);

34•for(1-0;1<ent;£♦♦)

35;fprintf(fprFd\n",b[i

36:fclose(fp);

37;)

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

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

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

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

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

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

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

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

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

例如,«(123124152115

b,3245172718IS

ct345112751155

播序后g113512753451

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

用序中已定义:叩00卜b(IOO)和叩00]・

请勿改动敷据文件INLDAT和1N2.DAT中的任何数据.主函数mamQ.读曲数reMDatO和耳幽数writelM)的内秀.

11•includeOtdio.h>

2»tdefincMAX100

3•inta(MAXI•b(MAXJ,C(MAXJ;

4-intent-0;/•寿故折内要件数的个我•/

5•voidjsVdl()

IN1.DATIDN2.DAT中的100个眄粒十班.我存入也址,和b中・/

9«voidreadDat()

10j(

11;int1;

12jFILE*fp;

13:fp-fopen("ini.dacM***r")

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

15;fscanf(fp,7cT.fcalll):

16!fclose(fp>;

17;fp•fop«n("in2.dat",・r”)

18-ford-0;1<MAX;if

19»fscanf(fp4Fd"・&b[l]);

20;fclose(fp):

21j1

22voidmain()

24;intifvoidwriteDat();

25;for(i-0;i<MAX;

26•c[l]•Q;

27-readDat();

28!jsVal();

29;for(i-0;1<MAX“C(

30:prlntf(*id\n",c(i)>:

31iwritoDat()I

32j)

i/•把M聚Ur蜗c,出到文林2小中〃

33-voidwriteDat()

FILEafp;

36mti;

3了fp-fopen("out.dit*,Ww"»;

38for(1-07i<MAX,,c(i)>0;

39fprXntf(fp,*ld\n*<e(l)):

40{close(fp);

41

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

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

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

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

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

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

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

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

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

请勿改动数据文件indat中的任何数据、主函数读函数readDat()和写函®twriteDatO的内容。

1j•include<stdio.h>

2\IdefineMAX200

3jinta[MAX],b[MAXJ.ent

4!voidwriteDat();

5•voidjsVal()

9;voidreadout()

12!FILE*fp;

13jfp«fopen(win.datw,nrn);

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

15!fscanf(fp,(i));

16jfclose(fp);

n\>

18!voidmain()

19;I

20;inti;

21!readDat();

22;jsVal();

23;prlntf("满足条件的数=0d\n。.ent):

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

25\printf(0%d-,bli]);

26!printf(M\nw);

275writeDat();

28•)

29!voidwriteDat()

30;(

31•FILE•fp;

32•inti;

33ifp-fopen("out.daf*,nw'*);

n

34।fprintf(fp♦*,%cl\nfent);

351for(1-0;i<ent;ix)

36:fprintf(fp,"%d\nw,b(x]);

37jfclose(fp);

38i}

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

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

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

再求出所有满足此条件的四位数平均值pjzl,以及所有不满足此条件的

四位数平均值pjz2o最后main函数调用写函数writeDat把结果ent,

pjzl,pjz2输出到out.dat文件。

例如,7153.7+1-5+3,则读数满足条件计算平均值pjzl,且个数cnzm+I.

8129,8*1!-2+9.则读数不“1足条件计年平均值pjz2.

注盘,部分潭程序存在teste文件中.

程序中已定义数姐:*[300]-已定义变量rcm.pjzl.nil

请勿改动数第文件indac中的任何数燃,主嗡效淀喻数readDH)和写或数wriieDM)的内容.

tinclude<stdio.h>

inta[300],cnt-0;

doublepjzl«0.0,pjz2»0.0;

voidreadDat()i

voidwriteDat();

voidjsValuo()

voidmain()

readDat();

jsValueO;

writeDat();

printf(*cnt*%d\n满足条件的平均值pzjl-t7.21f\n不涓足条件的平均值pz32-V

cntrp)zl,pjz2);

167

17;voidreadDat()

181(

19iFILE-fp;

20-inti;

21!卬=fopen(Hin.datM,Rr°);

22ifor(i-0;i<300;if+)

23!fscanf(fpr7d「,&a(i]);

24»fclose(fp);

25;}

26!voidwriteDatO

27;(

28•FILEefp;

29!fp■fopen(wout**ww);

30;fprintf(fp,**%d\n%7.21f\n%7.2Lf\n"rent.pjzltpji2);

31.fclose(fp);

32J)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

43.以下关于关系表和元组叙述错误的是()o

A.关系表在逻辑上由一系列元组组成

B.每个元组由多个属性组成

C.每个元组可以用数据库磁盘文件中的一个逻辑记录来存储

D.元组的每个属性对应于一条记录

44.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服务器的登录权限

参考答案

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

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

2.C输入输出中断:它是当外部设备或通道操作正常结束或发生错误时

所发生的中断。例如:打印机打印完成、缺纸,读磁盘时相应驱动器中

没有磁盘等。

3.B解析:接入Internet的某台计算机要和另一台计算机通信就必须确

切地知道其IP地址。

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

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

设备。其中输出设备的功能是将计算机内部的二进制形式的信息转化成

人们所需要的或其他设备能接受和识别的信息形式,常见的输出设备有

打印机、显示器、绘图仪、数/模转换器、声音合成输出等。因此本题4

个选项中的数/模转换器属于输出设备,正确答案为C。

5.B解析:直接选择排序是对文件进行n-1趟扫描,第i趟扫描从剩下

的n-i+1个记录中选出关键码值最小的纪录与第i个记录进行交换,直

到全部排完。按照这一思想,对关键码序列(14,12,5,6,8,10,15,

19,47,11,2,9)进行第二趟排序。首先选出关键码值最小的为2,然

后将2与第一个关键码值14进行交换位置,关键码值序列一变为(2,

12,5,6,8,10,15,19,47,11,14,9)o对照原题中的四个选项可

知,选项B是正确的。

6.D解析:Delphi属于第四代语言,是一种可视化开发工具和面向对象

的编程,而且可以实现数据从一个数据库到另一个数据库的迁移,具有

强大的数据库支持。

7.B解析:若要求分解具有无损连接性,那么模式分解一定可以达到

BCNF;若要求分解保持函数依赖,那么模式分解可以达到3NF,但不

一定能达到BCNF;若要求分解既具有无损连接,又保持函数依赖,则

模式分解可以达到3NF,但不一定能达到BCNFO分析题目中的四个选

项可知,正确答案为选项B。

8.A解析:度为零的节点即为二叉树的叶子,所以根据二叉树的基本性

质3(设二叉树叶子数为nO,度为2的节点数为n0=n2+l),可知n0=n2+l。

9.C

10.A解析:当局部E-R图合并成全局E-R图时,可能出现命名冲突、

结构冲突和属性冲突。命名冲突主要包括实体类型名、联系类型名之间

异名同义或异义同名等的命名冲突;结构冲突包括作为实体有联系或属

性,同一实体其属性成分不同的冲突;属性冲突包括类型、取值范围和

取值单位的冲突。

H.由管理员手动实施的监控

12.R.A=S.A或S.A=R.A【解析】自然连接是一种特殊的等值连接,它

要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中

把重复的属性去掉。本题是自然连接,所以本题答案为R.A=S.A或S.A

=R.AO

13.A,(B,C)A—>B,A—'C,A―D,A可以作为关系的候选码,因为(B,

C)-A,所以同样(B,C)可以作为候选码。

14.存储程序计算机组成原理的知识。是冯诺伊曼提出来的计算机结构,

一般包括5个功能结构,运算器,控制器,存储器,输入和输出设备

15.交换局域网从目前的发展情况来看,局域网产品可以分为共享介质

局域网和交换式局域两类。

16.R.A=S.A或S.A=R.AR.A=S.A或S.A=R.A解析:自然连接是一种特

殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,

并且要在结果中把重复的属性去掉。本题是自然连接,所以本题答案为

R.A=S.A或S.A=R.AO

17.PRIMARY

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

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

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

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

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

亲是结点”2]。

19.4NF4NF解析:若关系模式RE1NF,且对于每一个非平凡的多值依

赖X-Y(Y不属于X),都有X包含码,贝IJRE4NF。4NF就是限制关

系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。

20.FAT【解析】操作系统之所以能够找到磁盘上的文件,是因为有磁盘

上的文件名与存储位置的记录。在DOS里,它称为文件表(FAT);在

Windows里,称为虚拟文件表(VFAT);在mM的操作系统OS/2里,称

为高性能文件系统(HPFS)。

2LC解析:关系的性质1、每列中的分量来自同一个域;2、不同列的分

量可以来自相同的域,但是不同列的属姓名不能相同;3、列的顺序可以

交换;4、行的顺序可以交换;5、一个关系中不能有相同的元组;6、每

一个分量必须是不可分的数据项。

22.A解析按照逻辑结构的定义数据的逻辑结构是数据间关系的描述,

只抽象地反映数据元素之间的逻辑关系,不管其存储方式。顺序结构、

链式结构、静态结构和动态结构都是指存储结构。因此A是正确的。

23.C

24.A

25.C

26.C解析:本题主要考查了实体之间多对多的联系。如果对于实体集

A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,称为

一对一联系;如果对于实体集A中的每一个实体,实体集B中有n个实体

与之联系;对于实体集B中的每一个实体,实体集A中至多有一个实体与

之联系,称实体集A与B的联系为一对多联系;如果对于实体集A中的

每一个实体,实体集B中有n个实体与之联系;对于实体集B中的每一个

实体,实体集A中有m个实体与之联系,称为多对多联系。所以C)正确。

27.A

28.B解析:允许删除基本表中的元组的权限是DELETEo

29.C解析:栈是限制仅在表的一端进行插入和删除运算的线性表,通常

称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。当表中

没有元素时称为空栈。

根据上述定义,每次删除(退栈)的总是当前栈中“最新”的元素,即最后

插入(进栈)的元素,而最先插入的是被放在栈的底部,要到最后才能删

除。根据上述原理,C)3,1,2,既然先出栈的是3,说明1,2已经进栈,

那么1不可能在2之前出栈。

30.C

31.\n【审题关键句】读取正数,统计个数,各位数字之和为偶数的数的

个数及平均值。

\n【解题思路]\n\田定义整型循环变量i、j,表示各位数字之和的长整

型变量he以及存储一个四位数的字符数组num[5]o

\n②循环变量i从0开始,依次递增到4,对字符数组num[5]的每个元

素赋初值0o

\n③循环变量i从0开始,依次递增到MAXNUM.1,对每个数组元素

xx[i]进行判断,如果xx用的值非零,则变量totNum加1,退出循环时,

totNm的值就是文件in.dat中存有的四位正整数的个数。

\n④循环变量i从0开始,依次递增到totNum-1,对于每个数组元素xx[i]

调用库函数sprintf以4个字符宽度形式输出到字符数组num中,用字

符数组num中的每个元素减去0的ASCII码48,就分别得到XX[i]这

个四位数每位上的数字,并把这四个数字相加赋给变量j。再对变量j对

2求余数进行判断其值是否等于0,如果等于0,则说明j是偶数,变量

totCnt加1,并把xx[i]的值累加到变量he。

\n⑤退出循环后,把变量he的类型转换成双精度型再除以totCnt得到

符合条件的数的算术平均值totPjzo

\n【参考答案】

\n

\n

32.\n【审题关键句】个位+于位与百位+十位,奇数,偶数,整除,从大

到小排序。

\n【解题思路】

\n本题类似第24套试题,通过审题可以发现主要是对四位数的筛选条

件有所不同,体现在两个方面:①分解后重新组合成十位数的方式不同,

参考答案的第8、9条语句重新指定两位数的组合方式;②新组合的两

位数的奇偶性判断

温馨提示

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

评论

0/150

提交评论