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

付费下载

下载本文档

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

文档简介

2023年安徽省滁州市全国计算机等级考试

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

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

一、1.选择题(10题)

1.设某散列表的当前状态如下:一共有20个位置,在第0、3、4、6、

13、14、17、19的位置存放着各结点的值,则该散列表的负载因子约为

A.0.27B.0.52C,0.667D.0.4

2.关于数据库系统三级模式的说法,下列论述中正确的是____o

A.外模式、模式、内模式都只有一个

B.外模式有多个,模式、内模式只有一个

C.模式只有一个,外模式和内模式有多个

D.3个模式中,只有模式才是真正存在的

3.在一棵树中,哪一个结点没有前驱结点?

A.分支结点B.叶结点C.树根结点D.空结点

4.用直接插入排序方法对序列{15,11,9,10,13}进行排序,关键码

比较次数是

A.10B.8C.4D.9

5.SPOOLing技术是为解决独占设备数量少、速度慢、不能满足众多进

程的要求,而且在进程独占设备期间设备利用率又比较低的问题而提出

的一种设备管理技术,它也是一种

A.虚拟设备技术B.资源分配技术C.人机接口技术D.虚拟存储技术

6.在虚拟页式存储管理中,由于所需页面不在内存,则发缺页中断,缺

页中断属于O

A.硬件中断B.时钟中断C.程序性中断D.I/O中断

7.计算机网络分类主要依据于

A.传输技术与覆盖范围B.传输技术与传输介质C.互联设备的类型D.

服务器的类型

8.数据库概念设计的E-R方法中,用属性描述实体的特征,屑性在E-

R图中一般用下列哪种图形表示?

A.矩形B.四边形C.菱形D.椭圆形

9.双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink

指向结点的前驱。如果要在P所指结点后插入q所指的新结点,下面操

作序列正确的是

A.pT.rlink1.11Ink:=q;.rlink:=q;.llink:=p;.rlink:

=pT.rlink;

B.pT.llinkT.rlInk:=q;pT.llink:=q;.rlink:=p;.llink:

=pT.llink;

C.qT.llink:=p.rlink:=pt.rlink.rlink].llink:=q.rlink:

=q;

D.qT.rlink:=p;q1.llink:=PT,llink.llinkT.rlink:=q.llink:

=q;

10.在一个数据库中,模式与内模式的映像个数是

A.1个B.与用户个数相同C.由设置的系统参数决定D.任意多个

二、填空题(10题)

11.数据库管理系统(DBMS)提供数据定义语言(DDL)及它的翻译程序,

DDL定义数据库的模式、外模式和内模式,并通过翻译程序分别翻译成

相应的目标模式,存放在【】。

12.在X.800中将安全攻击分为两类:被动攻击和o

13.用数组顺序存储完全二叉树的各结点,则当i>0,且i<二

【】时,结点A[i]的右子女是结点A[2i+1],否则结点A[i]没有右子女。

14.计算机网络利用通信线路将不同地理位置的多台独立的——的计算

机系统连接起来,以实现资源共享。

15.数据库结构的描述和定义存储在[]中,它是DBMS运行的基本依

16.“向emp表增加一个k列,其数据类型为9个字符型”的SQL,语句

是:ALTERTABLEemp。

17.在0S1中,采用了三级抽象,即体系结构、服务定义和o

18.队列是限制插入只能在表的一端进行的线性表,其特点是【】

19.如果多个事务在某个调度下的执行结果与这些事务在某个串行调度

下的执行结果相同,则称这个调度为【】调度。

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

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

三、单选题(10题)

21.逻辑文件存放在存储介质上时,采用的组织形式是与什么有关?

A.逻辑文件结构B.存储介质特性C.主存储器管理方式D.分配外设方

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

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

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

23.已经获得除CPU以外的所有所需资源的进程处于()状态。

A.运行状态B.就绪状态C.自由状态D.阻塞状态

24.下列关于SQLServer数据库用户权限的说法中,错误的是_________

A.数据库用户自动具有该数据库中全部用户数据的查询权

B.通常情况下,数据库用户都来源于服务器的登录账户

C一个登录账户可以对应多个数据库中的用户

D.数据库用户都自动具有该数据库中public角色的权限

25.以下关于因特网中的电子邮件的说法,错误的是()。

A.A.电子邮件是有固定格式的,它由邮件头和邮件体两部分组

B.电子邮件应用程序的最基本的功能是:创建和发送,接收、阅读和管

理邮件的功能

C.密码是对邮件的一个最基本的保护。目前,保证电子邮件安全性的主

要手段是使用大写字母、小写字母、数字和符号混用的密码

D.利用电子邮件可以传送多媒体信息

26.在关系代数运算中,五种基本运算为()

A.并、差、选择、投影、自然连接B.并、差、交、选择、投影C.并、

差、选择、投影、乘积D.并、差、交、选择、乘积

27.四个元素al、a2、a3和a4依次通过一个栈,入栈过程中允许栈顶元

素出栈。假设某一时刻栈的状态如下:则不可能的出栈序列

是()

A.这种体系结构由客户、服务器以及客户与服务器之间的连接三部分组

B.在这种结构中,客户机和服务器协同完成一项任务

C.连接客户和服务器最广泛采用的接口是开放数据库连接

D.客户进程与服务器进程之间的通信层次与OSI参考模型有根本不同

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

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

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

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

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

29.对具有相同关键字的关系模式,如果他们的处理主要是查询操作,

且常在一起,可将这列关系模式进行什么操作?

A.模式评价B.优化模式C.合并D.分解

30.下列不属于创建分区表步骤的是________o

A.创建分区依据列B.创建分区函数C.创建分区方案D.使用分区方案

创建表

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

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

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

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

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

注意:就分源程序存在USLC文件中.

请勿改动数据文件ndm中的任何敷据以及L函数mam。和输出函数rcadwritcDAT。的内容.

1♦include<stdio.h>//mdudciM句说明各程序中包含“6.0中的标准■入■出再术数》d>o.h

2voidreadwriteDAT();〃南数re«d”nieDAT0ift明语句

3intisP(intm)〃承散iap(iiu3网断!n是否为素敏,如果是素数划返回i,否则返回o

4(

5int1;〃定义变■i

6for(i•2;i<m;i**)〃殳Itt从2依次it网到a・l

7if(m%1•・0)return0;〃如JRm能被i■除.迩回o

8return1;〃杏剜返回1

9)

10voidnum(intm/intk.intxx(])

11

12

13

14main()

15(

16intm,n,xx(1000);〃定义交量m,nxx[1000]

17printf(R\nPleaseentertwointegers:;

18scanf(-%dr%d-r&m,&n);〃从读入四个欺赋蛤受■叫n

19num(m,n,xx);〃辑网函IknEmtmtmk.mxxU)实现和大于aVkmfiltllm的k个点效存入敷ttlxx

20for(m-0;m<n;m++)〃变Itd从。依次地第到n-1

21printf("%d**.XK(m]);〃•出我蛆元腐

22printf("\nw);〃•出一,个回车换行料

23readwriteDAT();//M用丽数ZuEcDATOie结果•出到oui.dai文件中

24)

25voidreadwriteDAT()〃咕数r“d“rtteMT(i的定义易句

26<

27Intm.n.xx(lOOO),i;〃定义壑卡受■tn.n,t如数组xx[1000】

28FILETfr*wf;〃定义文件ft什安■r£,wf

29rf-fopen(-in.dac",Rrw);〃以反修的方式的打开文件HU&K,并用rf指向这个文件

30wf-fopen(”out・daL,HW);〃以只写的方式的打开文件。ujdat,丹用wf指向这个文件

31for(i-0;i<10;〃修旧交量1从。依次逢第到9

32(

R

33fscanf(rfrFd%d,Gm,&n);〃从文件in.&i读入凭个数值K给m,n

34num(mrnrxx);〃■用•散南ltnum(a)・k.u[])实现将大于♦败mH窜Bm的k个拿数存入收蛆u

35for(m-0;m<n;m,+)〃情环支■^从。依次11**n-1

36fprintf(wf,7d-,xx(m]);〃把IHfl元Itxxg写入到文Mout.dat中

37fprintf(wfr八n”);〃纪国*挨打舒写入到文件out.dat中

38)

39fclose(rf);〃美创•入文件in.dat

40fclose(wf);〃关册■出文件3匕.必匕

41

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

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

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

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

替代关系:)=p*17mod256,mod为取余运算,p是数组)xx中某一个字

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

型变量),如果计算后f(p)值小于等于32或f(p)是奇数时,则该字符不

变,否则用f(P)替代所对应的字符。

注意:部分源程序存放在teste文件中,族的数据文件齐放的格式般:耳行的宽度均小于80个字符.古标点而号布蹙

格,井也按此暂代关系进行处理•

请勿改动主函致miMO、读函数RsdDitQ和■出函散WmeDaiO的内客.

1:•include<3tdio.h>

2।tlnclude<atrin9.h>

3!!include<ctype.h>

4•unsignedcharxx[50][80];

S•intmaxiine-Q)/•文拿的总行故•/

6!intReadDat(void)j

7;voidWriteDat(void);

6JvoidenoryptCh«rO

9i(

10!unsignedintval;

11

12

13voidmam()

14(

15if(ReadDat())

16(

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

18return;

19

20encryptCh&r();

21WriteDatO;

»

22八从文件ilL&l中博取一■英文文章・存入到无符号?料申敢组»中•/

23intReadDat(void)

24(

25FILE*fp;

26inti00;

27unsignedcharwp;

28if((fp-fopen(-in.dat","rw))—NULL)

29return1;

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

31(

32p■strchr(xx[1],,\n*);

33if(p)*p■0;

34

35I

36maxline-1;

37fclose(fp);

38return0;

39/•把站果xx•掰到文件0gdM中•/

40voidwriteDat(void)

41

42FILEwfp;

43int1;

44fp■fopen("out.datw,"w**);

45for(1-0;1<maxline;

46(

47printfxx[1]);

48fprintf(fp,xx(i]);

49J

50fclose(fp);

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

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

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

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

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

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

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

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

程序中已定义数组:a|200].b{2<»j,已定义变・,ent

请勿改动数据文件in.dai中的任何数据、L函数读函数rcadDatO和写函数writeDatO的内容.

1;Iinclude<stdio.h>

2;fdefineMAX200

3»inta【MAX).b[MAX]rent-0;

4;voidwriteDat();

5JvoidjsVa1()

6•I

9•voidreadDat()

10;(

11!inti;

12»FILE*fp;

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

14!for(i•0;i<MAX;i**)

15•fscant<fp,{11);

16;fclose<fp);

口\》

18•voidmain()

19;(

201inti;

21JreadDat();

22;jsVal();

23!printzf("满足条件的数NdW.ent);

24jfor(i•0;i<ent;

25;printf(HtdLb(i]);

26\printf(w\n");

27«writeDat();

28jI

29'voidwriteDat()

30•(

31;FILEwfp;

32t!inti;

w

33jfpfopen(out.dat°r"w*);

34;fprintf(fp,Mtd\nw,ent);

35*for(i=0;i<ent;

36•fprintf(fp>7d\n".b(i]);

37;fclose(fp);

38

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

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

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

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

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

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

例如:7153.7+1-5+3.则该数满足条件计算平均值团zL旦个数E=cnl+I.

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

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

程序中已定义效蜗1*[300]-已定义变量rcm.pjzl.nil

请为改动数据文件iitdac中的任何数燃,主嗡效main。、试喷效readDa")和写或敏wriieDmO的内容.

1•include<stdlo.h>

-

inta[300)rcnt0;

3doublepjxl«0.0,pjz2»0

4voidreadDatO;

5voidwriteDat();

voidjsVAlua()

7

8

9

10voidmain()

11

12readDat();

jsValueO;

writeDat();

printf("cnt*%d\n满足条件的平均值pzjl-l7.21f\n不涓足条件的平均值p

unt.pjzLpj12);

167

17;voidreadDat()

181(

19iFILE,fp;

20-inti;

21!卬=fopen(Rin.datM,"r0);

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

23!fscanf(fp,7d「,&a(i]);

24»fclose(fp);

25;}

26!voidwriteDat()

27;(

28•FILE,fp;

291fp■fopen(wout.dat",**ww);

w

30;fprintf(fp,-%d\n%7.21f\n%7.2Lf\n,ent,pjZ2);

31.fclose(fp);

32J)

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如位置012345678

源字符串abcdhgfe

123498765

则处理后字符串hgfedeba

876594321

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

请勿改动数据文件in.dat中的任何敷据、主函数读函数rcadDaiO和写的数writcDaU)的内容.

1!1include<stdio.h>

2j•include<string.h>

3-charxx[20]f80);

4voidreadDat();

5voidwrlteDat();

6voidjsSort()

7

8

9

10voidmain()

11

12readDat();

13jsSort();

14wrlteDat("

15

/•从文件indii中注取20打数究存放到字符率依蛆xx中•/

16voidreadDat()

17!(

18•FILE-in;

19•inti-0;

20char*p;

nw

21in=fopen(in.dat,"D;

22while(i<20“fgets(xx{i]v80.in)NULL)

23

24p-strchr(xx(ij,•\n,);

25if(p)*p•0;

26

27]

28fclose(in);

29;)

\/,史州Rxx*出到文件outt中•/

30jvoidwriteDat()

31

32FILE*out;

33int1;

34out•fopen(*out.datw/**wM);

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

36(

37printfxx[i));

38fprintf(out,xxri!);

39)

40fclose(out);

41

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

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

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

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

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

位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数

字),如果新组成的两个数ab-cd>=0且ab.cd<=10且两个数均是奇数,

同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到

小的顺序存入数组b中,并要计算满足上述条件的四位数的个数ent。

最后main函数调用写函数writeDat把结果ent以及数组b中符合条件

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

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

程序中已定义数Sth4200].b(200J,已定义变量Ient

调勿改动数据文件irtdal中的任何数据.主函数读函数neadDatO和写函数wrrtcDHt()的内容.

1jIinclude<stdio.h>

2\IdefineMAX200〃定义宏交ItMAX,其值,于

3\intalMAX),b(MAXJ,ent-0;〃龙义全IMIVTl敷烟.[MAX].3IMAX?和受*CM,KM僮等于O

4»voidwriteDat();

5;voidjsVai()

61(

8j)

9!voidreadDatO〃从in.dat文件中it取200个四E,存入数如.中

10;I

11!inti;

12JFILE#fp;

13;fp-fopen(wln.datN«

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

0

ISifscanf(fpr-%dr(a[1]):

16;fclose(fp);

171I

18;voidmain()

19\(

20jint1;

21readDat();

22jsvaio;〃•用”vno的总实现融目要求的动俺

23printf「满足条件的n".ent);

24for(i*0;i<ent;i++)

25printf(n%d”,b[i]);

26printf;

27writeDat();

28j)

29voidwriteDatO〃化itir姑累cm以及数饵b中符合条件的四位数■出到OULdM文件中

30

31FILE#fp;

32int1;

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

34fprintf(fp,fd\n",ent);

35for(i•0;1<ent;

36fprintf(fpr-%d\n"rb(il);

37fclose(fp);

38

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

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

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

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

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

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

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

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

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

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

进行处理。

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

的内容。

1!tinclude<stdio.h>

♦include<string.h>

3tinclude<ctype.h>

4unsignedcharxx[50][80];

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

6intReadDat(void);

7voidWriteDat(void);

avoidencryptChar()

9

10

11

12!voidmain()

13;I

14;if(ReadDatO)

15!(

16pen"L数据文件in.dat不能打开!\n\007-);

17return;

18•)

19iencryptChar();

20!WriteDat();

21i)

|厂从文科Hdm中工取一・英文文章,存入义无符号字符*般银=中”

22!intReadDat(void)

23;(

24:FILE#fp;

25!inti•0;

26;unsignedchar#p;

21jif((fp-fopen("in.datw,wr"))—NULL)

28return1;

29;while(fgets(xx[l]r80,fp)!-NULL)

30I(

31P-strehr(xx(i]r'n');

32if(p)*p-0;

33

34I>、

35maxline«1;

;fclose(fp);

37;return0;

38P

i八把结果u一出到文件OUL&I中•/

39ivoidWriteDat(void)

40•I

41!FILE*fp;

42iinti;

43\fp-fopen("out.dat",**w");

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

45;(

w

46:printf(%s\n"#xx[i1);

47ifprintf(fp#7s\n".xx[1]);

48-)

49!fclose(fp);

50;1

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

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

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

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

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

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

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

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

程序中已定义数组:4200],耳200],已定义变量Ient

请勿改动数据文件in.dat中的任何数IK、主/数读函数readDatO和号出微writeDa%)的内容。

1j•includo<stdio.h>

2JIdefineMAX200

3inta(MAX],b[MAXJ/ent

4voidwriteDat();

voidjsVal()

6

7

8

9voidreadDat()

10(

11inti;

FILE*fp;

fp*fopen("in.dat",wr");

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

15fscanf(fp,7d",[iI);

16fclose(fp);

17}

18voidmain()

19I

20inti;

21readDat();

22jsVal();

23prin"「涧足条件的敷。ent);

24for(i-0;i<ent;

25printf(•*%(!”,bill);

26printf(w\nw);

27writeDat();

26I

29voidwriteDat()

30

31FILEefp;

32intij

33fp-fopen("out.datw,"w");

nn

34fprintf(fp,%d\necnt);

35for(1•0;i<ent;ix)

36fprintf(fpr”d\n",b(x));

37fclose(fp);

38

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

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

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

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

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

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

整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字

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

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

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

进行处理。

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

内容。

1finclude<stdio.h>

2•include<strXng.h>

3•include<ctype.h>

4unsignedcharxx[50][80];

intmaxline*0;/•文章的总行敷•/

6intReadDat(void);

7voidWriteDat(void);

8voidencryptCharO

10

11

12voidmainO

13

14if(ReadDat())

15{

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

17return;

18

19encryptChar:

20WriteDat();

21)

/•从文科中读取一・英文文章,存入>1无符号字的刑敏祖“中〃

22intReadDat(void)

23

24FILE*fp;

25inti■0;

26unsignedchar*p;

27if((fp*fopen("in.daf,,,rR))-NULL)

28return1;

29while(fgets(xx[i),80tfp)!»NULL

30

31p-strchr(xx(1]/*\n*);

32if(p)*p■0;

33

34}

35maxline・i;

36fclose(fp);

37return0;

38;)

!八圮雄果”"出到文件OUL山中•/

39;voidWriteDat(void)

40

41FILE*fp;

42int1;

wMH

43fp•fopen("out.datrw);

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

45(

w

46printf("%s\nrxx(1]);

47fprintf(tp,7s\n”.xx[i));

48)

49fclose(fp);

50

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

!linclude<3tdio.h>

2;Iinclude<string.h>

3■*include<stdlib.h>

4•defineMAX100

Stypedefstruct

6(

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

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

9intd"/,单价•/

10intal;/•Bl•/

11longje;/•金1•/

12IPRO;

13PROsell(MAX);

14voidReadDat();

15voidWrlteDat();

16voidSortDat()

17

18

19

20voidmain()

211

22m^rnset(sell,0,sizeof(sell));

23ReadDat();

24SortDatO;

25WriteDat();

26

27voidReadDat()

28(•

29FILE«fp;

30charstr(B0],ch[llj;

31int1;

32fp-fopent^ln.dat",wrw);

33for(i-0;i<100;if)

34

35fgets(9tr>80.fp);

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

37memcpy(sell(1).mc«str♦4*10);

38inamcpy(ch»atr^14r4);ch[4]-0;

39sei1(1|«dj•atol(ch);

40memcpyfch,str*18*5);ch(51-0;

41sell|i]<sX■atoi(ch);

42•(long)sell[i].dj•sell(1].81;

43)

44fclose(fp);

45

46JvoidWriteDat()

47

48FIt£*fp;

49inti;

50fp•fopen(wout.dat","ww);

51ford-0;1<100;…)

52I

53fprintf(fp,**s*314dI5dtl01d\n*»sell(i].dm,sell(i].dj#aell(1).slr

.je);

S4I

55fclos«(fp);

56♦)

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

41.已知某教务管理系统的设计人员在需求分析阶段收集到下列原始数

据表格:

教师

上级领导教师

教师号教师名职称工资

9868王文华教授8000null

9983李一斌副教授60009868

9985丁一讲师删9868

0783王润泽讲师删9868

0899欧阳丹妮讲师删9868

课程

课程号课程名学分教材号教材名出版社名任课教师号

计算机原清华大学出

C2006311计算机原理9868

理版社

计算机原计算机原理与高等教育出

C20063129868

理应用版社

清华大学出

C2004数据结构313数据结构9868

版社

数据库原清华大学出

C2010314数据库原理9868

理版社

数据库原数据库原理与高等教育出

C20103159868

理技术版社

清华大学出

S3001音乐欣赏216音乐欣赏9983

版社

已知该业务系统存在如下规则:

I.每个教师有唯一的教师号,每个教师号对应唯一的一名教师;

II.每门课程有唯一的课程号,每个课程号对应唯一的一门课程;

III.每本教材有唯一的教材号,每个教材号对应唯一的一本教材;

IV.每个教师最多只有一个上级领导,也可以没有上级领导;

V.一门课程仅由一名教师讲授;

VI.一本教材仅用于一门课程。(12分)

⑴请根据原始数据表及业务规则,给出该系统的关系模式,保证每个

关系模式满足3NF,并说明每个关系模式的主码和外码。

⑵画出该系统的ER图,ER图中需给出每个实体集的属性,主码属性

用下划线标识。

42.在SQLServer2008中,设某数据库中有商品表(商品号,商品名,

进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销

售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商

品的单价。现要求每当在销售表中插入前4列数据时(假设一次只插入

一行数据),系统自动计算本次销售产生的利润,并将该利润赋给销售

表的第5歹IJ“本次利润”。请编写实现上述功能的后触发型触发器代码。

(10分)

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

43.在SOLServer2008中,设各系统数据库当前主要数据文件及日志文

件的大小如下表所示:

数据库主要数据文件(MB.日志文件(MB.

master152

model41

msdb82

tempdb61

现要在该系统中创建一个新的用户数据库,则用户数据库中主妻数据

文件的大小不能小于()。

A.15MBB.4MC.8MBD.6MB

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

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

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

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

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

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

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

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

参考答案

LD解析:负载因子的大小体现散列表的装满程度。本题中,散列表的

20个位置上有8个装载数据,因此负载因子约为8/20=0.4o

2.B

3.C解析:树是一类重要的树形结构,其定义如下:树是n(n>0)个结点的

有穷集合,满足:有且仅有一个称为根的结点;其余结点分为m(m>0)个互

不相交的非空集合。所以,在树上,根结点没有前驱结点。

4.B解析:直接插入排序的基本算法是:当插入第i(i>=1)个对象时,前

面的v[0],V[l]……已经排好序,这时,用V[i]的关键码与V[i-1),

V[i-2]...........的关键码顺序进行比较,找到插入位置即将v[i]插入,原来

位置上的对象则向后移。

本题中的i只能取1:

第1趟(i=l):11和15比较,插入:11,15,9,10,13

第2趟(i=2):9和11比较,插入:9,11,15,10,13

第3趟(i=3):10和9比较,不插入,再和11比较,插入:9,10,11,

15,13

第4趟(i=4):13和9比较,不插入,和10比较,不插入,和11比较,

不插入,和15比较,插入,排序完成。

共比较8次。

5.A解析:SPOOLing是为解决独占设备数量少、速度慢、不能满足众多

进程的要求,而且在进程独占设备期间设备利用率又比较低的情况而提

出的一种设备管理技术。它是一种虚拟设备技术,其核心思想是在一台

共享设备(通常是高速、大容量的磁盘)上模拟独占设备的操作,把一台

低速的独占设备改造成为若干台并行操作的虚拟设备,即把独占设备变

成逻辑上的共享设备。

6.C解析:程序性中断是指因运行程序中的问题而引起的中断,用于反

映程序运行中发生的例外情况,如目态程序执行特权指令、地址越界、

虚拟存储中缺页、缺段、溢出等。

7.A解析:计算机网络的分类方法可以是多样的,其中最主要的两种方

法是:1、根据网络所使用的传输技术来分,可分为广播式网络和点到点

网络;2、根据网络的覆盖范围与规模来分,可分为局域网、城域网、广

域网。

8.D解析:在E-R图中,长方形表示实体,椭圆形表示属性,菱形表示

联系。

9.C解析:在双链表中,如果要在p所指结点后插入q所指的新结点.只

需修改P所指结点的rlink字段和原后继的llink宇段,并置q所指结点

的llink和rlink值。即q1.llink:=P;.rlink:=pT.rlinkpf.rlink

T.rlink:=q;Pf.rlink:=qo

10.A解析:数据库系统有三级模式结构,从内向外依次是:内模式、模

式、外模式。内模式是数据物理结构和存储结构的描述;模式是数据库

所有数据的逻辑结构和特征描述;外模式是数据库用户看到和使用的局

部数据的逻辑结构和特征。三级模式间有两层映像,分别是模式/内模

式映像和外模式/模式映像。模式/内模式映像只有一个,外模式/模

式映像与用户个数相同。所以正确答案为A。

1L系统目录/数据字典/DD系统目录/数据字典/DD

12.主动攻击【解析】在X800中将安全攻击分为两类:被动攻击和主

动攻击。被动攻击试图了解或利用系统的信息,但不影响系统资源。主

动攻击试图改变系统资源或影响系统工作。

13.[(n-l)⑵[(n-l)/2]解析:根据完全二叉树的定义及顺序存储结构的特

点,可知答案为Kn-l)/2]。

14.自治【解析】计算机网络利用通信线路将不同地理位置的多个自治

的计算机系统连接起来,以实现资源共享。

15.数据字典或系统目录数据库中所有对象及其关系的信息集合,是一

种用户可以访问的记录数据库和应用程序元数据的目录

16.ADDkchar(9)ADDkchar(9)解析:ALTERTABLE语句的一般格式

如下:

ALTERTABLE<表名>

[ADD〈新列名〉〈数据类型〉[完整性约束]]

[DROP(完整性约束名>]

[MODIFY〈列名〉〈数据类型〉]

ADD子句用于增加新列和新的完整性约束条件;DROP子句用于删除

指定的完整性约束条件;MODIFY子句用于修改原有的列定义。

17.协议规格说明【解析】在OS1中,采用了三级抽象,即体系结构、

服务定义和协议规格说明。

18.先进先出队列是先进先出的线性表,只能在一段进行插入,另一端进

行删除操作

19.可串行化可串行化解析:几个事务的并行

温馨提示

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

最新文档

评论

0/150

提交评论