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

下载本文档

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

文档简介

(2021年)安徽省安庆市全国计算机等级

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

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

一、1.选择题(10题)

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

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

B.若要求分解保持函数依赖,那么模式分解可以达到3NF,但不一定能

达到BCNF

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

到3NF,但不一定能达到BCNF

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

2.下列不属于操作系统功能的是

A.进程管理B.存储管理C.作业管理D.数据库管理

3.文件系统中若文件的物理结构采用顺序结构,则文件控制块FCB中

关于文件的物理位置应包括:O

I,首块地址;

II.文件长度;

III,索引表地址。

A.只有IB.I和IIc.I和inD.II和m

4.在数据模型的3个结构中,哪个用于描述系统的静态特性?

A.完整性约束B.数据操作C.数据结构D.以上均可

5.设有关系R、S和T如下。关系T是由关系R和S经过____操作

得到的。

RST

ABCABCABC

alblclalb2c2alblCl

alb2c2alb3c2

a2b2cla2b2cl

A.RUSB.R-SC.RxSD.RPS

6.如果二叉树中任何一个结点的值都大于它的左子树上所有结点的值

而小于右子树上所有结点的值,要得到各结点值的递增序列,应按下列

哪种次序排列结点?

A.先根B.中根C.后根D.层次

7.下述不属于概念模型应具备的性质是

A.有丰富的语义表达能力B.易于交流和理解C.易于变动D.在计算机

中实现的效率高

8.在数据库技术中,实体-联系模型是一种

A.概念数据模型B.结构数据模型C.物理数据模型D.逻辑数据模型

9.E-R图是数据库设计的工具之一,它一般适用于建立数据库的

A.概念模型B.结构模型C.物理模型D.逻辑模型

10.下列关于这个关系的叙述中,不正确的是

职员关系是S(S#,SNAME,SEX,AGE)主码为S#

部门关系是C(C#,CNAME)主码为C#

职员部门关系是SC(S#,C#,remark)主码为(S#,C#)

A.SC.C#是外码B.SC.S#是外码C.S是SC的参照关系D.C是SC的

目标关系

二、填空题(10题)

11.在SQL中,DROP和DELETE的区别在于是否删除了」]结构。

12.因为网状型拓扑结构复杂,必须采用路由选择算法和方

法。

13.如果系统的物理内存不能满足应用程序的需要,那么就需要使用

内存。

14.有关键码值为15,25,40的三个结点。按所有可能的插入顺序去构

造二叉排序树,能构造出_____棵不同的二叉排序树。

15.关系模式规范化需要考虑数据间的依赖关系,人们已经提出了多种

类型的数据依赖,其中最重要的是函数依赖和【】。

16.ADSL技术通常使用一_________对线进行信息传输。

17.计算机网络拓扑主要是指通信子网的拓扑构型,它对网络性能、系统

可靠性与都有重大影响。

18.数据包过滤技术是在_________对数据包进行选择。通过检查数据

流中每个数据包的源地址、目的地址、所用的端口号、协议状态等因素,

或它们的组合来确定是否允许该数据包通过,它通常安装在路由器上。

19.在嵌入式SQL中,为了区分SQL语句和主语言语句,在每一个SQL

语句的前面加前缀O

20.对于一组给定权值所构造的霍夫曼树的形状有可能不同,它们的带

权外部路径长度O

三、单选题(10题)

21.下列关于SQLServer数据库服务器登录账户的说法中,错误的是

A.登录账户的来源可以是Windows用户,也可以是非Windows用户

B.所有的Windows用户都自动是SQLServer的合法账户

C.在Windows身份验证模式下,不允许非Windows身份的用户登录到

SQLServer服务器

D.sa是SQLServer提供的一个具有系统管理员权限的默认登录账户

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

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

栈不作任何判别

23.在概念设计阶段,需要确定实体型特征由哪些属性组合而成,这个

工作是对数据进行什么抽象?()

A.分类B.聚集C.概括D.数据抽象

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

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

A.db_ownerB.db_datareaderC.db_datawriterD.public

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

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

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

26.把电路中的所有元件如晶体管、电阻、二极管等都集成在一个芯片上

的元件称为()

A.TransistorB.IntegratedCircuitC.ComputerD.VacummTube

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

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

A.SELECT

B.SELECT和INSERT

C.INSERT,UPDATE和DELETE

D.SELECT,INSERT,UPDATE和DELETE

28.有两个实体集,并且它们之间存在着一个M:N联系,根据概念ER

模型转换成关系数据库的规则,这个ER结构转换成表的个数为()

A.lB.2C.3D.4

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

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

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

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

是()

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

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

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

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

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

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

数组XX中;请编制函数SortCharD,其函数的功能是:以行为单位对

字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存

入字符串数组XX中。最后main函数调用函数WriteDat把结果XX输

出到文件out.dat中。

例:原文:dAe,BfC.

CCbbAA结果:fedCBAbbCCAA原始数据文件存放的格式是:每行

的宽度均小于80个字符,含标点符号和空格。

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

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

的内容。

!linclude<8td±o・h>

2itinclude<string.h>

3\charxxlSO)(80);

4junsignedintmaxlxne-0;/*文章的总行数•/

;intReadDat(void);

6'voidWrlteDat(void);

7ivoidSortCharD(vold)

8

9

10

11voidmain。

12(

if(ReadDatO)

14(

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

16return;

17»

18SortCharDO;

19WrlteDat();

20I

/♦从文件mdBt中读取一■英文文拿存入髯字的市数研xx中•/

21intReadDat(void)

22(

23FILE

24;inti■0;

25!char#p;

26jif((fp-fopen(win.dat","r"))•-NULL)

21-return1;〃如果文件Ln.dat内*为空.同fi回1

:”当从文件In.dat中建取79个字料存入*x[“没«除・发劣时,执行看坏体中的谓句〃

28jwhile(fgets(xx[i]/60rfp)!■NULL)

29\(

30•p-strchr(xx(i),*\n*);〃在字符串xx【u中鱼找回车换灯将靠一个R期的位置

31;if(p)*p-0;〃如果p的值不力零,则把其值设置为0

32;iw;〃行度量加】

33•)

34;maxline-1;〃肥文章的◎行敛*蛤支

35jfclose(fp);

36jreturn0;

37;J

j/,托怙果XX・出到文件WL&l中•/

38,voidWrlteDat(void)

39;(

40jFILE*fp;

41junsignedint1;

M

42;fp-fopen("out.dat°t*w):

43!for(1•0;1<maxline;1>♦)

44;(

45;printf(w%s\n",xx[i]);

46!fprintf(fp,"%s\nw,xxfi]);

47i}

48;fclose(fp);

49!)

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中已定义数组:M200),b{200b巳定义变lbent

请勿改动数据文件in.dat中的任何数据、主求数main。、读函数readDatO和写函敏而teDatO的内容.

1\*include<stdio.h>

2jtdefineMAX200

3jinta{MAX],b【MAX],ent-0;

4{voidwrlteDat();

voidjsVal()

6

8

9voidreadDat()〃从in.dat:文件中或取200个四位数存入教统△中

10

11int1;

12FILE*fp;

nRw

13fp■fopen("in.datrr);

14for(i*0;i<MAX;

15fscanf(fpvAaf12):

16fclose{fp);

17

18voidmainO

19(

20int1;

readDat();

22,isValO;,,通用曲数WValU,家JUi目■氽的功傕

23;print-"满足条件的数~Qd\n".ent);

24!for(i•0;i<ent;

25;printf(H%dLb[i]);

261printfC,\nw);

27»writeDat();

28;)

29!voidwriteDdt()〃把计算的果b以及数能b中用合条件的四位数■出到Mdu文件中

30j1

31;FILE*fp;

32!inti;

33ifp-fopen("out.dat**/Ww**);

R

34-fprintf(fp/"%d\n/ent);

35\for(i-0;1<ent;

36;fprintf(fp,7d\M,b[i]);

37!fclose(fp);

38।)

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

1tinclude<stdio.h>

2\IdefineMAX200〃定义宏变■KAXK值第于2G0

35inta(MAX)rb(MAX|#ent-0;〃北初始值为0.定义全局整型alMAXj,b(nwc|cne

4■voidwriteDat();//xdeDat《)中数的说明语句

5jvoidjsVal()

6;(

7•

B

/•“adDatC从数据文忖tn.dai中读取200个网位数存入数蛆■中,/

9voidreadDat()

10(

11int1;

12FILE*fp;

ww

13fp-fopen(in.datr"”);

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

15fscanf(fpr&a(i]);

16fclose(fp);

17

18voidmam

19

20int1;

21readDat();

22jsVal(>;〃,阳油帙,实现BIH要求的功能

23printf("满足条件的数•Qd'E,:nt);

24for(i-0;i<ent;

25printf(w%d",b[i]);

26printf;

21writeDatO;

28)

/•响数wntcIXHHe的果mi以及数蛆b中符C条件的四位敷,出到out.dai文件中•/

29voidwriteDat()

30!{

31;FILE,fp:

32•inti;

w

33'fp二fopen(out.dat**r

H

34;fprintf(fp,"id\nfent);

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

36jfprintf(fpr7d\n*b(il);

37;felose(fp);

385)

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

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

迭代步骤如下:

⑴取XI初值为0.0;

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

(3)Xl=cos(x0),求出一"新的xl;

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

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

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

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

文件中。

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

1•linclude<math.h>〃衰示这个程序中■引用的数学库的数

2;findude<stdio.h>〃衰示这个程序量则用vc6.0的标准•入•出中数

35voidwriteDAT();〃*riteOAT()的敷的说明谓句

4idoublecountvalue()

5h

I

7j)

8-main()

91(

10jprintfL实粮countValuoO);〃在修■上修示力18的一个噗根

Hw

11!printf(%f\nrcos(countValueO)^countValue(H;//在解.R不求将这个宴租的鞫度

12;writeDAT();〃七鲍果・出现文件outdat中

13;1

•/・函数wnteDATOie给果♦出到文件outctat中•/

14;voidwriteDAT()

15J1

16jFILE*wf;〃定义文件AHt安

wwH

17;wf-fopen("out.dat/w);〃以只弓的方式打开out.,dac,并使泣指向这个文件

18!fprintf(wf,countValueO);〃IE求利的实粗写入我文件。ur.3

19ifclose(wf);〃美碉文件our.g。

20jJ

35.函数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

的内容。

finclude<stdio.h>

♦include<string.h>

finclude<ctypeah>

4unsignedcharxx(50][80];

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

Q

10

11

12voidmain()

13iJ

if(ReadDatO)

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

17return;

>

encryptChar();

20WriteDat();

21}

,•从文件iiLdit中嫉取一篇英文攵章,存入到无符号字料木敛银u中•/

22IntReadDat(void)

23

24FILE#fp;

25int1•0;

26unsignedchar*p;

27if((fp-fopen("in.dat^e0rR))-NULL)

28return1;

29while(fgets(xx[1]r80ffp)!■NULL)

30(

31p•strchr(xx[ij,'\n•);

32if(p)*p-0;

33

34)*

35maxline-=1;

36fclose(fp);

37return0;

38i

八把陆果U♦出到文件OULdM中•/

39voidWriteDat(void)

40J(

41*FILE*fp;

42jint1;

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

44jfor(i*0;i<maxline;

45;1

Mw

46!printf(ls\nrxx(1));

47jfprintf(fp^7s\n".xx(i]);

48{)

49!fclose(fp);

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

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

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

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

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

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

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

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

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

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

进行处理。

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

finclude<stdio.h>

Iinclude<string.h>

3•finclude<ctype.h>

4unsignedcharxx[50][80];

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

6;intReadDat(void);

7•voidWriteDat(void);

8;voidencryptCharO

9J(

10;

unsignedintval;

11;

12;

13;voidmam()

14;(

15!if(ReadDatO)

16i(

:;iprintf("数据文件m.dat不能打开!\n\007");

return;

19;

20jencryptChar();

21;WriteDat();

22jI

/•从文件tiLdm中谕取一篇英文文IL存人勃字符中数批1*中•/

23;intReadDat(void)

24!I

25JFILE*fp;

26\inti-0;

27!unsignedchar*p;

28\

if((fp-fopenLin.daL,)-NULL)

29-return1;

1

30•while(fgets(xx(i)#80,fp)«NULL)

31((

32j

p-strchr(xx[ih*\n*);

33iif(p),P-0;

34\if

35:

36;maxiine«i;

37;fclose(fp);

38!return0;

39;»

/•£结果MX■出到文件outdai中•/

40-voidWriteDat(void)

41

42FILE*fp;

43inti;

44fp-fopen(•,out.dat**,、");

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

46(

H

47printf("ls\nrxx[i]);

48fprintf(fp,Fs\n”,xx[ij);

49)

50fclose(fp);

51

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

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

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

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

中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千

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

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

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

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

新组成数:一个是奇数,另一个为偶数,并且至少有一个数能被17整

除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入

数组b中,并计算满足上述条件的四位数的个数ent,而后对数组b进

行降序排序。最后main函数调用写函数writeDat把结果ent以及数组b

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

例如:一个四位数为4512,依题意组成的第一个新数为24,第二个新

数为51,其中51能被17整除,这两个新数的十位数字不为零,则4512

这个四位数满足题意所规定条件。

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

程序中已定义数Aha[200].b[200],已定义变最:ent

请勿改动数据文件indt中的任何数据,主四数num。、i&用数rcadDaiO和写函数writeDat()的内容.

1!linclude<stdio.h>

2jtdefineMAX200

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

4!voidwriteDat();

5ivoidjsVal()

6”

7j

8;I

91voidreadDat()〃从in.da匕文件中潦取2D。个四位敏〃入数Ma中

10

11int1;

12FILE*fp;

13fp■fopen("in.datw,**rw

14for(i-0;1<MAX;

15

fscanf(fpr"Id",[1J

16fclose(fp);

17

18voidmain()

19

Inti;

readDat();

jsValO;〃*用嫉败”vu。,实现要求的功能

printf("滴足条件的数"d\n",ent);

for(i-0;i<ent;1♦e)

HR

printf(%d9b(i]);

printf;

writeDat();

voidwriteDat()〃把计算幅果cm以及IHHb中符合条件的四位数七出到皿⑶u文件中

30

int1;

fp»fopen("out.dat,"wn

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

35for(i*0;i<ent;£+♦)

ww

36fprintf(fpr%d\nrb[i

37fclose(fp);

38

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

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

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

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

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

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

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

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

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

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

进行处理。

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

内容。

♦include<stdio.h>

Iinclude<string.h>

3•include<ctype.h>

4unsignedcharxx[50][80];

5intntaxline-0;/•文章的总行敷♦/

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

11

12jvoidmain<)

13i(

14;if(ReadDat0)

15i{

16printf(”数据文件in.dat不能打开!\门\007“”

17return;

18\I

19jencryptCharO;

20•WriteDat();

21!!

j/•从文件ilL&l中读取•・英文文■・存f无符号字料删数烟U中〃

22•intReadDat(void)

23!(

24\FILE*fp;

25!inti-0;

26iunsignedchar*p;

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

28return1;

29।while(fgeta(xx[i),80ffp)!•NULL)

30;

31!p-strchr(xx(i]t・\n»

32\if(p)*p*0;

33\

34J

35;maxline-i;

36!fclose(fp);

37\return0;

38I}

八圮雄果XX•出JM文件CHlLdai中•/

39;voidWriteDat(void)

401(・

41!FILE*fp;

42;inti;

wwM

43!fp-fopen("out.datrw);

44ifor(i-0;i<maxline;"♦)

«j

w

46!printtC%s\nrxx(i]);

47ifprintf(tp,7s\n",xx[ij);

向>

49•fclose(fp);

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

2;finclude<string.h>

3!linclude<ctyp®.h>

4;unsignedchsrxx(501180):

5;intntaxline・0;/♦文荣的总行数•/

6»intReadDat(void);

请”改动主函数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;}

12voidmain()

13I

14if(ReadDat())

15(

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

17return;

18

19encryptChar();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(4分)

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

43.在SQLServer2008中,建立索引视图的目的是为了提高数据查询的

效率。下列关于索引视图的说法,错误的是()o

A.当很少对基表数据进行更改操作时,适合建立索引视图

B.索引视图的数据被物理地保存在数据库中,因此建立索引视图会占用

更多的存储空间

C.对于经常执行连接和聚合操作的查询,不适合建立索引视图

D.如果GroupBy列具有高基数度的数据聚合,则不适合建立索弓【视图

44.以下哪个设计内容不属于数据库应用系统总体设计范畴()。

A.数据库应用系统体系结构设计B.软硬件选型和配置设计C.数据库

软件总体设计D.关系模式设计

参考答案

1.A解析:第三范式是指关系模式R中不存在非主属性传递依赖于码。

BCNF范式是指关系模式属于第一范式,且每一个决定因素(非平凡的函

数依赖)都包含候选码。有以下3个标准:分解具有“无损连接性"分解

具有“保持函数依赖”;分解既“保持函数依赖”又具有“无损连接性”。根

据以上的原则,若要求分解保持函数依赖,那么模式分解总能达到3NF,

但不能达到BCNF。若要求分解保持函数依赖,又具有无损连接性,那

么模式分解能达到3NF,但不一定能达到BCNFO

2.D解析:操作系统功能有进程管理、存储管理、文件管理、设备管理、

作业管理。掌握操作系统的特征,操作系统在计算机中的地位。

3.B解析:文件控制块FCB是系统为管理文件而设置的一个数据结构。

FCB是文件存在的标志,它记录了系统管理文件所需要的全部信息。

FCB通常应包括以下内容:文件名、文件号、用户名、文件地址、文件

长度、文件类型、文件属性、共享计数、文件的建立日期、保存期限、

最后修改日期、最后访问日期、口令、文件逻辑结构、文件物理结构,

等等。所以选项B是正确的。

4.C解析:数据的静态特征主要包括对数据结构和数据间联系的描述,

在数据模型的3个要素中,数据结构是用于描述系统的静态特征的。数

据结构是描述一个数据模型性质最重要的方面,因此在数据库系统中,

通常按照其数据结构的类型来命名数据模型。例如,层次结构、网状结

构、关系结构的数据模型分别命名为层次模型、网状模型和关系模型。

5.B

6.B解析:中根序列的顺序从逻辑上来说总是“左-根-右”,在本题中,这

样的遍历顺序正好构成一个递增序列。

7.D解析:概念模型是按用户的观点对数据和信息建模,也称为信息模

型。概念模型语义表达能力强,不涉及信息在计算机中的表示,如实体

—联系模型、语义网络模型等。

8.A解析:概念模型是对信息世界建模,所以概念模型应该能够方便、

准确地表示信息世界中的常用概念。概念模型的表示方法很多,其中最

为常用的是PP.Chen于1976后提出的实体一联系方法。该方法用E-R

图来描述现实世界的概念模型,称为实体-联系模型(Entity-Relationship

Model)简称E-R模型。

9.A解析:E-R模型是描述现实世界的概念模型,它将现实世界的信息

结构统一用实体、属性、以及实体之间的联系描述。E-R图提供了表示

实体型、属性和联系的方法。

10.D解析:关系中的某个属性不是该关系的主码或只是主码的一部分,

但却是另一个关系的主码时,称该属性为外码。参照关系也称从关系,

被参照关系也称主关系,他们是指以外码相关联的两个关系。注意:由

于SC.C#是外码,而C的主码为C#,所以S和C都是SC的参照关系,

故D)不正确。掌握参照完整性规则,实体完整性规则。

11.表DROP是删除表结构,DELETE是删除了表中的行

12.流量控制【解析】网状型拓扑的主要优点是系统可靠性高。但是,

网状型拓扑的结构复杂,必须采用路由选择算法与流量控制方法。

13.虚拟【解析】如果系统的物理内存不能满足应用程序的需要,虚拟

内存管理程序就会接入来弥补不足。

14.5或五5或五解析:二叉排序树是将线性表中的结点信息(或结点中

的关键码值和结点地址)组织成二叉树形式,以达到与二分法检索相同

的检索效率,而又具有链表那样的插入、删除、运算的灵活性。

二叉树的特点:每个结点的左子树中所有的结点的关键码值都小于该结

点的关键码值,而右子树中所有结点的关键码值都大于该结点的关键码

值。

对于插入排序所形成的二叉树的总数目为:C(2n,n)/(n+l)=C(6,3)/4=5,

其中n为关键码的个数。

15.多值依赖多值依赖

16.1【解析】ADSL技术通常使用1对线进行信息传输。

17.通信费用【解析】计算机网络拓扑主要是指通信子网的拓扑构型,

它对网络性能、系统可靠性与通信费用都有重大影响。

18.网络【解析】数据包过滤技术是在网络层对数据包进行选择。通过

检查数据流中每个数据包的源地址、目的地址、所用的端口号、协议状

态等因素,或它们的组合来确定是否允许该数据包通过,它通常安装在

路由器上。

19.EXECSQLEXECSQL解析:把SQL嵌入主语言使用时必须解决3

个问题:

①区分SQL语句与主语言语句

这是对通过在所有的SQL语句前加前缀EXECSQL来解决的。

②数据库工作单元和程序工作单元之间的通信

嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据。把

SQL语句中使用的主语言程序变量简称为主变量。

③一个SQL语句原则上可产生或处理一组记录,而主语言一次只能处

理一个记录,为此必须协调两种处理方式。这是用游标来解决的。

20.相同相同

21.B

22.B

23.D

24.C

25.A

26.B

27.C

28.C

29.B解析:用户的逻辑文件要存放到存储介质上时,文件系统要根据存

储设备的类型,用户采用的存取方式决定文件在存储介质上的组织方式。

30.C

31.【审题关键句】以行为单位对字符按从大到小排序,结果仍按行重新

存入字符串数组中。

\n【解题思路】

\n①首先定义字符变量ch和无符号整型变量i、j、ko

\n②对字符二维数组XX,在第一层for循环中,变量i从0开始,依次

递增直到其值等于maxline,实现对文章每行的扫描,在第二层for时循

环中,变量j从0开始,依次递增直到其值等于strlen(xx[i]),即第i行

的长度。在第三层循环语句中,变量k从j开始,依次递增直到其值等

于strlen(xx[i]),对每一行中的数组元素xx[il[j]xXX[i][k]按照它们的

ASCII码值的大小进行比较,如果的ASCII码小于XX[i][k]的

ASCII码,则两者交换,实现整篇文章中的字符按ASCII码值从大到小

的顺序进行排序。

\n【参考答案】

\n

\n

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

序。

\n【解题思路】

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

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

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

位数的奇数的判断及整除判断,参考答案的第10条语句。

\n【参考答案】

\n

\n

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

\n【解题思路】

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

abo

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

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

不满5个数,与题目要求不符,因此可

温馨提示

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

评论

0/150

提交评论