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

下载本文档

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

文档简介

2022年安徽省阜阳市全国计算机等级考试

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

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

一、1.选择题(10题)

i.不同的实体是根据什么区分的?

A.所代表的对象B.实体名字C.属性多少D.属性的不同

2.下列()术语与数据的逻辑结构无关。

A.线性结构B.链式结构C.树型结构D.网状结构

3.当下述哪一条成立时,称X-Y为平凡的函数依赖?

A.X包含于Y

B.Y包含于X

C.XAY=0

D.XAYr。

4.下面关于Internet叙述中,正确的是

A.WWW是WorldWebWide的缩写,也称为Web服务

B.Internet只提供WWW服务和FTP服务

C.WWW是以超文本标记语言和文件传送协议为基础的

D.WWW系统的结构采用了客户机/服务器模式

5.以下哪一项不是队列的基本运算?

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

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

6.Oracle数据库管理系统的Internet解决方案的产品是OracleWebserver,

下面列出的条目中,哪一条不属于该产品?

A.OracleWebListener

B.OracleWebAgent

C.OracleOLAP

D.Oracle7服务器

7.在Oracle产品中,用公用网关接口实现的过程化网关是

A.OracleWebListener

B.OracleWebAgent

C.OracleWebserver

D.OracleDBA

8.在分布式数据库系统中,逻辑数据库被划分成若干片段,其中按投影

操作来分片的称为

A.水平分片B.垂直分片C.导出分片D.选择分片

9.若对一个已经排好了序的序列进行排序,在下列4种方法中,哪一种

方法比较好?

A.冒泡法B.直接选择法C.直接插入法D.归并法

10.从工作的角度看操作系统,可以分为单用户系统、批处理系统和

A.单机操作系统B.分时操作系统C.面向过程的操作系统D.网络操作

系统

二、填空题(10题)

11.散列法存储中处理碰撞的方法主要有两类:拉链法和O

12.顶级域的划分模式为组织模式和。

13.FTP服务器利用来控制用户对服务器的访问权限。

14.数据模型用来描述数据的静态特征、动态特征和数据的完整性约束。

对数据结构和数据间联系的描述,这是描述数据的o

15.XMPP是一种基于的即时通信协议。

16.设散列表的地址空间为。到18,散列函数为h(k)=kmod19,用线

性探查法解决碰撞。现从空的散列表开始,依次插入关键码值190,89,

217,208,75,则最后一个关键码75的地址为【】。

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

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

18.地理信息系统的英文缩写是

19.对于给出的一组权w={5,6,8,12),通过霍夫曼算法求出的扩充

二叉树的带权外部路径长度为O

20.在“学生一选课一课程”数据库中的三个关系如下:

S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,

CNAME,TEACHER)

现要查找选修“数据库技术”这门课程且性别为“女”的学生姓名和成绩,

可使用如下的SQL语句:

SELECTSNAME,GRADEFROMS,SC,CWHERECNAME—数据库

技术'ANDS.S#=SC.S#ANDSEX=女AND【】。

三、单选题(10题)

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

主要成果。

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

22.在对全局E-R模型进行优化时,通常利用规范化理论中的()概念消

除冗余关系。

A.无损联接B.函数依赖C.范式D.逻辑蕴涵

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

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

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

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

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

能的原因是()

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

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

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

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

24.下列角色中,具有数据库中全部用户表数据的插入、删除、修改

权限且只具有这些权限的角色是__________。

A.db_ownerB.db_datareaderC.db_datawriterD.public

25.在E-R图和数据流图中都使用了方框,下列说法中有错误的是()

A.在E-R图中表示实体B.在E-R图中表示属性C.在数据流图中表示起

点D.在数据流图中表示终点

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

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

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

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

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

27.关系数据模型有许多优点,但下面所列的条目中哪一条不是它的优

点()。

A.A.结构简单

B.高度非过程化

C.有标准语言

D.可表示复杂的语义

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

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

A.SELECT

B.SELECT和INSERT

C.INSERT.UPDATE和DELETE

D.SELECT.INSERT,UPDATE和DELETE

29.二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的

串,行下标i的范围从。到4,列下标j的范围从。到5。M按行

存储时元素M[3,5]的起始地址与M按列存储时元素()的起始地址相

同。

A.M[2,4]B.M[3,4]C.M[3,5]D.M[4,4]

30.设栈S和队列Q的初始状态为空,元素el、e2、e3、e4、e5和e6依

次通过栈S,一个元素出栈后即进入队列Q,若6个元素出栈的顺

序是e2、e4、e3、e6、e5、el,则栈S的容量至少应该是()

A.6B.4C.3D.2

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

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

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

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

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

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

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

果两个新组成的数均是偶数并且至少有一个数能被9整除,同时两个新

数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存

入数组b中,并要计算满足上述条件的四位数的个数ent。最后main函

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

到Out.dat文件中。

注意,部分源程序存在teste文件中・

程序中已定义数级:a{200].b{200],巳定义变■:ent

请勿改动数据文书m.dal中的任何数据、上函数main。、读函数rcadDatf)和写成数writuDaU)的内容.

•include<stdio.h>

2♦defineMAX200

3inta[MAX),b[MAX],ent-0;

4voidjsVal()

5

6

BvoidreadDatO〃从xn.dat:文件中罐取200个四口数存入故例&中

9(

10int1;

11FILEefp;

Hww

12fp•fopen(°ln.datrr);

13for(i•0;i<MAX;i**)

14fscanf(fp«7d”.6a(1));

15fclose(fp);

16十

17writeDat<)〃IE计算姑果cot以及家也b中符合条件的网口融*出到oucdn文件中

18

19«FILE,fD:

20int1;

Rww

21fp•fopen("out,dat/w);

22fprlntf(fp/Fd\n",ent);

23for(i»0;i<ent;

24fprlntf(fp#b(i))

25fclose(fp);

26

voidmain()

28

29Int1;

30teadDat();

31jsVal();〃调用函数实现髭”要亶的动解

32piintf("满足条件的数*,d\n",nt);

33for(1-0;1<ent;

34printf(H%d”,b[i!);

35printf;

36writeDatO;

37

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

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

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

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

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

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

例:欧文tAdb.Bcdz1

abck.LLhj

结果:Acc.Bdcab

hrdlr.Tlk

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

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

请匆改动主函数main。、读函数RedDai。和■出喻数WriteDatO的内容.

1.•include<stdio,h>

2;tincludeOtting.h>

3;charxx[50][80];

4jintmaxline,0;/•文量的总h数•/

5jintReadDat(void);

6"voidWriteDat(void);

7;voidConvertCharA(void)

8

9

10

11|voidmain()

12!I

13•if(ReadDat())

14;•

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

16return;

17i)

18ConvertCharA(>;

19jWrltoDat();

20JJ

从文件中it取一■[英文文章存入费I字将率依笆u中〃

21;intReadDat(void)

22!(

23;FILE#fp;

24[inti-0;

25ichar*p;

26Jif((fp-fopen("in.daf,HrR))-NULL)

27return1;

28;while(fgeta(xx(i]#80ffp)!-NULL)

29>(

30p-strchr(xx[i]9W

31if(p)*p-0;

32

33:\

34»maxline-i;

35•fclose(fp);

36•return0;

37iI

!/・1E姑果u・出川文仆out&t中•/

38;voidWriteDat(void)

39!(

40iFILE.fp;

41•int1;

w

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

43;ford-0;i<maxline;

44(

ww

45printf(%s\nrxx(i]);

46fprintf(fp,*%s\n*rxx(i]);

471\

48!fclose(fp);

49

33.程序test.C的功能是:利用以下所示的简单迭代方法求方程

cos(x).x=0的一个实根。迭代公式:Xn+l=cos(xn)(n是迭代次数)

迭代步骤如下:

(1)取XI初值为0.0;

(2)XO=X1,把XI的值赋给x0;

(3)Xl=cos(xO),求出一个新的xl;

(4)若x0.XI的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求XI就是方程cos(X)-X=0的一个实根,作为函数值返回。

请编写函数countValue实现程序的功能,最后main函数调用函数

writeDAT把结果输出到文件Outdat中。注意部分源程序存放在test.C

文件中。

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

finclude<math.h>〃衰示这个程序中要引用vu$.o的教学麒仙数

«include<stdio.h>〃我示这个程序要引用vcb.O的蝌t■入•出/敷

3voidwriteDAT();也我的说明语句

4doublecountvalue()

5

6

7

8main()

9

10prmtfcountValueO);//在解■上口示方收的…个实根

w

11printf(*If\nrcos(countValue())-countvalue());〃在御•耳示求懵这个实收的箱底

12writeDAT();〃化的豪■出*文件outsat中

13

i/触EtDAToft遮果♦出到文件Bt&t中•/

;voidwriteDAT()

15!

16jFILE♦wf;〃定义文件捕讨殳

171RwH〃以只写他方式打开并使指向这个支付

wf-fopen(out.dat*/w);out.dat.wf

H;〃和求用的实根写人刘文件

18!fprintf(wfr%f\n"rcountvalue(Hou:&t

19;fclose(wf);〃关用文件out.ut

20:

34.程序test.c的功能是:将大于整数m且紧靠m的k个素数存入数组

XXo请考生编写函数num(intm,intk,intxx口)实现程序的要求,最后调

用函数readwriteDATO把结果输出到Out.dat文件中。

例如,若输入17,5,则应输出:19,23,29,31,37O

注意:86分源程序存在tai.c文件中.

请”改动数据文件ndat中的任何数据以及上函数main。和输出函数rcadwriteDAT。的内容.

1•♦include<scdio.h>〃mciudc谓句说明善鞭序中包古vc610中的标准♦入,出席嫉数《d»o.h

2!voidreadwriteDATO;//efiftre«h»n«DATo说明匿句

3iintisP(intm>〃%tksplint;mXVi<n型否为《畋,如果是《tfr划返回i.否则返回o

4;{

5Inti;〃定义变量1

6for(i2;i<m;if)〃殳从2依次埸增到m

7if(m%i--0)return0;〃如襄印能被i•除,返回0

8;return1;//否财Mi回1

9

10ivoidnum(intm,intk.intxx(])

U

12

13

14imainO

15

16intm,n,xx[1000);〃定义受量tn,nxx[1000]

17printf(w\nPleaseentertwointegers:*);

18scant("%dred”.4mr&n);//从便负《入网个AIM蛤受fltm,n

19numn,xx);//Mffl*ttmmxmtm.mtk.0(》41)实现将大于9数^1且*再0的卜个|(效存入敷出^

20for(m■0;m<n;mi)〃变量•从。依次逢增Xn-1

21prmcf("Idxx(m));〃■出ft甄兀腐xx⑹

22printf(*\n0);〃♦出一个网,*行枸

23readwriteDATO;用函畋mdwritcDATOie结果■出刊0mdlt文仲中

24

25voidreadwriteDATO〃也数mdsrlsMTC的定义讲句

26

27inte,n.xx(1000),i;〃定义整型变■e・c,t加敏蛆xxIlOOO】

a

28FILErfr*wf;〃定义文件指什交量rLw£

29rf-fopenCin.dat",*rH);〃以只注的方式的打开文件undaj并用rf指向这个文件

30;wf-fopen(-out.dat*.HwM);〃以只写的方式的打开文件。ut.daj并用wf推向这个文件

31\for(i•0;i<10;£♦♦)〃博百交量幺从0依次通用到9

32!

33•fscanf(rf,R%dVT,&m,&n);〃从文件in&i注入两个数(ft*给m.n

34;num(mrn.xx);〃・用,殴足■numOn.k.u①实现将大于整数mH窜靠<n的k个金敏存入数鲍u

35\

for(m-0;m<n;m,+)〃付环土■■从。依次WWIn-l

36!fprintf(wf,fd-,xx[m]);〃把数但元Rxx【#d耳入到文科。中

H

37;fprintf(wfr-\n);〃妃回*轶打杼耳人剑文件out.dat中

38•)

39!fclose(rf);〃关闭•入文件In.da匕

40Jfclose(wf);〃美册■出文件out.dat

41;

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

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

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

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

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

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

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

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

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

例姐Al123!24152115

b>324517271815

c>MSI12751155

捧序后ceIIS512753451

注意i部分潭程序存在文件中.

程序中已定义,叩00卜b(100)和«100].

请勿改动数据文件IN1.DAT和IN2.DAT中的任何数据.主僦数mam。、读浦ItreadDstO加写*败wntcDatO的内需.

•include<stdio.h>

*defin«MAX100

Inta(MAXltb(MAXJtc(MAX];

intent-0;/•存放料含餐件■的个家•/

5void[We

6

1

8

/«KttBXfrINIDATIDIN2.DAT中给100个角粒+If4入敷d・Xb中〃

voidreadDatO

10(

11intit

12FILE*fp;

13fp-fopen("lnl.dac*,-ir");

14ford-0;1<MAX;

15tscanf(fp,*ld*<ftafll)J

16fclose(fp);

17fp•fopen("ln2.dat","r"):

18for(i-0;1<MAX;£♦♦)

19fscanf(fp.Fd-,ib(m;

20fclose(fp);

21)

22voidmainO

23(

24intitvoidwriteDatO;

25ford-0;1<MAX)

26c[l]•0;

27readDat();

29jsVAlO;

29for(i-0;I<MAX“C(11>0;

w

30prlntf(td\n"fc(l));

31writoDAt()i

32)

,•把给果傲蝴c♦出蜩文“CMlfot中,/

33voidwriteDat()

34(

35FILE*fp;

36mtif

37fp-fopen("outm;

38ford-0;i<MAX“c(i|>0,ix)

39fprintf(fp,*ld\n"fc(!H;

40fclose(fp);

41

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

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

数CalValueO,其功能要求:

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

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

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

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

中。

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

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

和输出函数WriteDatO的内容。

*include<stdlo.h>

IdefineMAXNUM200

3intxxfMAXNUM];

4inttotNum*0;〃文件in.St中共有多少个正整数

5inttotCnt-0;〃将合条件的iEQIR的个数

6doubletotPjz-0»0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmainO

14(

15int1;

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

17xx[i)=0;

18if(ReadDat())

19(

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

return;

22

23CalValue();

24printf文件in.dat中共有正整数一,d个totNtim);

25printf("符针条件的正整数的个IkTd个totCnt);

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

27WriteDat();

28I

/•读取这才干个正整敷并存入数配XX中•/

29intReadDat(void)

30I

31FILEefp;

32;int1•0;

33if((fp-fopenCin.dat*,wr"))-NULL)

34ceturn1;〃如果,n,<Ut文代为空,附运际】

/•whileTK执行,痛邪文杵Dust的纳总遢出•/

35while(!feof(fp))

361

37fscanf(fp«Fd.4xx(i**U;〃从文件tn.dat*取个IHt存入xx[幻中,PWl・U

38I

39fclose(fp);

40return0;〃£文件,n.<Uc若干个:E♦敏・取并正■存入收皿“中第四。

41

,•总计算的最存入文件gt.dat中•/

42voidNriteDat(void)

43(

44FILE-fp;

45fp-fopen("out.dzit*r"w*);

,;,

tprintf(fp*"td\ntd\nt.2I£\n*ftocNum,totCnt«totPjx);

47fclose(fp);

48

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

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

位数的千位数位置上的值小于等于百位数位置上的值,百位数位置上的

值小于等于十位数位置上的值,以及十位数位置上的值小于等于个位数

位置上的值,并且原四位数是偶数,则统计出满足此条件的个数ent并

把这些四位数按从小到大的顺序存入数组b中,最后调用写函数

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

中。

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

程序中已定义数组;a[200].b[2OO].已定义变量,ent

请勿改动数据文件in.dat中的任何数据、主函数main。、读的数readDat。和写函数writeDatO的内容.

1»*include<stdio.h>

2;tdefineMAX200〃定义宏变■MAX,H值行20。

【【】

3!inta(MAX),b(MAX)#ent-0;〃定义祭小数邦aMAX),»MAX和要■ent,并IHHI6t的初值为3

4;voidwritoDatO;

5;voidjsVal()

6•!

7j

8!

9jvoidreadDat()

10;(

11»int1;

12;FILE#fp;

13:fp•fopen("in-dat",;

14ifor(1-0;i<MAX;

15\fscanf(fp,"Qd",ia[i|);

161fclose(fp);

,

17i)

18ivoidmain()

19f

20;inti;

21:readDat();

22•jsVal();〃・用力冰也实现姿求的功能

23;printf(RJil足条件的敷ent);

24!for(1-0;1<ent;

25;printf(R%d,b(i]>;

261-printf(w\nw);

27;writeDat();

28;)

29;voidwrlteDat{)

30I(

31iFILETp;

32Iint1;

33;fp-fopen(wout.dAt**,m;

34jfprintf(fp,*%d\nw,ent);

35!for(1-0;1<ent;11♦♦)

36ifprintf(fp,b[lj);

37;fclose(fp);

38«

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

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

其功能要求:

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

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

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

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

中。

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

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

和输出函数WriteDat的内容。

1;linclude<stdlo.h>

2IIdeflneMAXNUM200

3;intxxlMAXNUM];

4!inttotNum-0;〃文件In.dac中共有名少个正餐数

5iinttotCnt-0;〃符合条件的正整数的个数

6doubletotPjz•0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

voidmain()

15!int1;

16;ford-0;i<KAXNUM;i*4)

17|xx[i]-0;

18•if(ReadDat())

19\(

201prlntf("数据文件In.dat不能打开!\007\n”);

21\

return;

22;J

23;CalValue();

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

25•printfL符合条件的正整数的个数个tocCnt);

26printf(”平均值7totPjz);

27WriteDat();

28)

/・提取达若F个正整数并存入u中•/

29intReadDat(void)

30(

31FILE*fp;

32int1-0;

33if((fp-fopen(wln.dat*,*r*))-NULL)

34return1;

35while(!feof(fp))

36I

37fscanf(fp#7dJ.4xx{i+*]);

38)

39fclose(fp);

40return0;

41}

〃把计算站累存入文件,ut.dat中•/

42voidWriteDat(void)

43(

44FILE*fp;

45fp-fopen(**out.dat",**wH>;

ww

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

47fclose(fp);

48

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

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

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

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

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

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

例如:6712.6+2-7+1.则该数满足条件存入数姐b中.且个数cnzcntT.

8)29,8*9!-1+2,则该数不满足条件忽略.

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

程序中已定义数<300),b(300].已定义变量;ent

请勿改动数据文件irutat中的任何数据、主函数main()、读语数readDatO和写函数wriicDa")的内容.

11•include<stdio.h>

2:inta[300),b[300J,cnt-0;

3!voidwriteDat();

4»voidreadDat();

5-voidjsValue()

6;(

i

7;

8

9•main()

10;{

int1;

12;readDat();

13;jsValueO;

14;writeDat();

I

M

15;printf(cnt-%d\n"rent);

16:for(i*0;i<ent;

17;

printfr,b(td]-%d\n*r1,

18;)

19!voidreadDat()

20;(

21iFILE*fp;

22!int1;

i

23ifp-fopen("in-daf/;

24!

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

w

25!fscanf(fpr%d,6&(i]);

26fclose(fp);

27J

28voidwriteDat()

29I

30FILE*fp;

31int1;

MW

32fp-fopen(out.dat*rw**);

w

33fprintf(fp/**%d\n/ent);

34for(i-0;i<ent;”♦)

35fprintf(fprb[i));

36fclose(fp);

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

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

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

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

制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名

称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell

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

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

题:产品名称比较请用函数strcrnp进行解题。例如:sell[i]=temp;

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

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

•include<3tdio.h>

2♦include<string.h>

3*include<stdllb.h>

A•defineMAX100

5typedefstruct

6

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

8charme(111;/•产品名琳•/

9intdji/,•单价•/

10intdl;/,Mt•/

11longje;/•金・•/

12}PRO;

13PROsellIMAX);

14voidReadDatO;

15voidWrlteDat();

16voidSortDat()

17

18

19

20voidmain()

21<

22memset(sell,0,sizeof(sell)>;

23ReadDat();

24SortDatO;

25WriteDat();

26)

27voidReadDatO

28I•

29FILE«fp;

30charstr[80],ch[ll];

31inti;

32fp•£open(Mln.datM*wrw);

33for(i-0;i<100;1♦♦】

34I

35fgets(str,80.fp);

36memepy(sell[i].dm,str,4);

37tnemcpy(sell(1).me,str♦4.10):

38memepy<cht>tr*14,4);ch[4]-0;

39sell(i).dj•atol(ch);

tnemepy(chrstr*18<5);ch[5]-0j

41sell|X|asl■atol(ch);

42sollll]••(long)sell(I).dj•sell(1).91;

43>

44fclose(fp);

45

46!voidWriteDat(>

47j(

48!FILE*fp;

49jinti;

ww

50;fp■fop«n(out.dat"r*w):

51-ford-0;1<100;

52\I

53;fprlntf(fp,*ts%sI4d15d»lOLd\n*tsell(il.dm«sell(i),mc,sell(1|.dj,aellfi).31,

!sellfij.je);

54iJ

55:fclostt(fp);

56i)

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

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

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

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

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

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

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

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

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

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

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

(4分)

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

43.某公司计划开发一套生产管理系统,在开发前需对数据库产品进行选

型工作。下列有关数据库产品选型的说法,错误的是()o

A.由于关系数据库均采用SQL语句对数据库中数据进行维护,因此数

据库产品选定后如需进行更换,应用程序无需修改

B.存诜型过程中需要考虑应用系统的可用性、可靠性和连续性要求

C.在选型过程中需要考虑数据库管理系统所支持的操作系统平台,例如

SQLServer数据库管理系统只支持在Windows操作系统上运行

D.部分数据库管理系统在大数据量和大并发情况下可能出现速度变慢、

死锁等问题,因此在选型过程中应充分考虑数据量和性能需求

44.下列是关于关系数据模型和关系表的说法:I.关系数据模型以集合

论为基础表示和处理数据H.关系数据模型同时支持非过程化语言和过

程化语言直接存取数据HI.“createtable...”语句用于定义关系表的结构

及数据完整性约束W.在关系表上执行select或delete操作时,DBMS

会检查数据完整性约束上述说法中正确的是()o

A.仅I和niB.仅n和wc.仅ni和【VD.仅i和iv

参考答案

1.D解析:客观存在并可相互区别的事物称为实体。实体可以是具体的

人、事、物,也可以是抽象的概念或联系。在客观世界中,不同的事物

是由事物所具有的特征加以区分的。在信息世界中,事物的特征被抽象

为实体的属性,不同的实体,其属性也不同。因此,在信息世界中,实

体是根据实体属性的不同加以区分的,实体的名字是赋予实体的称谓,

属性的多少不能反映实体的本质特征。

2.B解析:数据结构是相互之间存在一种或多种特性关系的数据元素的

集合。根据数据元素之间关系的不同特性,数据结构通常有4类:集合、

线性结构、树型结构和网状结构。

3.B解析:当Y包含于X时,称X-Y为平凡的函数依赖。

4.D解析:Internet提供WWW服务和电子邮件服务。WWW是

WorldWideWeb的缩写、也称为Web服务。WWW是以超文本标记语言

和超文本传送协议为基础的。WWW系统的结构采用了客户机/服务器

模式。注意:WWW是WorldWideWeb的缩写,故A)错;Internet还提

供电子邮件服务,故B)错;WWW是以超文本标记语言和超文本传送协

议为基础的,故C)错。掌握在计算机网络中,和Internet技术相关的知

识点,例如Internet所采用的协议是什么、提供的服务有哪些等等。

5.B解析:队列只能在队尾插入元素,从队头删除元素,这就是所谓的‘先

进先出‘,而不能从队列中间删除或插入元素。

6.C解析:OracleWebServerl.。主要由OracleWebserver,Oracle

WebAgent和Oracle7服务器3部分组成。OracleWebListener是—进

程,具有普通HTTP服务器的功能,主要用于接收入Web浏览器上发

出的用户查询请求,并将查询结果(即HTML文本)返回给用户。Oracle

WebAgent是用公用网关接口(CGI)实现的过程化网关,负责Web与

Oracle7服务器中的存储过程从数据库中检索信息,产生HTML输出结

果并提交给OracleWebListenero

7.B解析:本题主要考查了Oracle的Internet解决方案。在Oracle产品

中QracleWebAgent是用公用网关接口实现的过程化网关。

8.B解析:投影操作是对表中属性(列)的操作。

9.C解析:若以排序所用的比较时间来看,直接插入法和归并法都比较

少,对于n个元素的序列,大约需要比较n-l次;但归并法要占用较大

的存储空间,所以用直接插入法比较好。

10.B解析:从工作的角度看操作系统,可以分为单用户系统、批处理系

统和分时操作系统。

11.开放定址法开放定址法

12.地理模式【解析】顶级域的划分采用了两种模式,即组织模式和地

理模式。

13.用户账号【解析】FTp服务器利用用户账号来控制用户对服务器的

访问权限。

14.静态特性静态特性解析:数据模型是数据库系统的数学形式框架、

是用来描述数据的一组概念和定义,包括描述数据、数据联系、数据操

作、数据语义以及数据一致性概念的工具,即数据的动态特性、数据的

静态特性和数据的完整性约束。其中数据的静态特性包括对数据结构和

数据间联系的描述。

15.XML语言【解析】XMPP是一种基于XML语言定义描述的IM协

议。

16.1

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

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

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

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

18.GIS【解析】地理信息系统(GIS)有时又称为“地学信息系统”或“资源

与环境信息系统”。它是一种特定的十分重要的空间信息系统。它是在计

算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中

的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述

的技术系统。

19.61

20.SC.S#=C.C#或C.C#=SC.S#在急性这些操作的时候需将这

些关系联系起来

21.B

22.B

23.D

24.C

25.B方框代表的是实体,属性是椭圆,联系是菱形

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

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

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

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

27.D

关系模型由关系数据结构、关系操作集合和关系完整性约束3大要素

组成。关系模型的数据结构单一,在关系模型中,现实世界的实体以

及实体问的各种联系均用关系来表示。关系操作的特点是集合操作方

式,即操作的对象和结果都是集合。关系代数、元组关系演算和域关

系演算均是抽象的查询语言,这些抽象的语言与具体的DBMS中实现

的实际语言并不完全一样

温馨提示

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

评论

0/150

提交评论