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

下载本文档

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

文档简介

2021年广东省中山市全国计算机等级考试

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

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

一、1.选择题(10题)

1.关系数据库中的关系模型事实上可以当做一个二维表,这个二维表中

的列称为

A.元组B.属性C.记录D.值域

2.函数依赖包括有()。

A.完全函数依赖、部分函数依赖和传递函数依赖

B.单值函数依赖、多值函数依赖和周期函数依赖

C.无参函数依赖、值参函数依赖和传递函数依赖

D.标准函数依赖和自定义函数依赖

3.数据库管理系统有3个主要成分,分别是

A.存储管理器、缓冲区管理器和事务管理器

B.存储管理器、查询处理器和恢复管理器

C.存储管理器、查询处理器和事务管理器

D.缓冲区管理器、查询处理器和并发控制管理器

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

R图中一般用下列图形表示

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

5.PowerBuilder所提供的对象不包括。

A.应用B.文本C.菜单D.数据窗口

6.计算机软件分系统软件和应用软件两大类,其中属于系统软件核心的

A.数据库管理系统B.操作系统C.程序语言系统D.财务管理系统

7.下列哪一个不是网络协议的要素?

A.语法B.语义C.时态D.时序

8.单键表的每个结点中包括一个指针link,它指向该结点的后继结点。

现要将指针q指向的新结点插入到指针P指向的单链表结点之后,下面

的操作序列中哪一个是正确的?

A.q:=p'.link;p八.link:=q-.link;

B.pA.link:=q-.link;q:=p八.link;

C.qA.link:=pA.link;p”.link:=q;

D.pA.link:=q;qA.link:=p-.link;

9.3.设计批处理多道系统时,首先要考虑的是o

A.灵活性和可适应性B.系统效率和吞吐量C.交互性和响应时间D.实

时性和可靠性

10.关系数据模型通常由3部分组成,它们是

A.数据结构,数据通信,关系操作

B.数据结构,数据操作,数据完整性约束

C.数据通信,数据操作,数据完整性约束

D.数据结构,数据通信,数据完整性约束

二、填空题(10题)

11.计算机指令系统中主要有三类指令,分别是_口_算术逻辑类和判定控制类等指令

12.按网络覆盖范围分类,用于实现几十公里范围内大量局

域网的互联。

13.使用PowerDesigner的DataArchitect,可以对已有的数据库生成物

理模型(PDM),这种功能通常称为o

14.若线性表的长度经常发生变化,那么该线性表应采用的存储结构是

15.在【】数据库系统中,每一个结点都是一个独立的数据库系统

16.如果资源分配图中没有则系统中没有死锁发生。

17.用二维表结构表示试题数据模型称为」]_数据模型

18.广域网覆盖的地理范围从几十公里到几千公里,其通信子网一般采

用技术。

19.网络防火墙的主要类型是包过滤路由器、电路级网关和

网关。

20.一些进程相互合作共同完成一项任务,进程之间的这种直接的协同

工作关系称为O

三、单选题(10题)

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

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

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

22.可以用于概念模型设计的是O

A.层次树结构B.数据流图C.E-R图D.关系数据模型

23.下列关于时钟的叙述中,哪一条是不正确的?()

A.A.时钟中断可以屏蔽

B.时钟是操作系统运行的必要机制

C.时钟可以分成硬件时钟和软件时钟

D.利用时钟中断可以实现进程的轮转运行

24.设散列函数为H(k)=kmod7,现欲将关键码23,14,9,6,30,12,

18依次散列于地址。〜6中,用线性探测法解决冲突,则在地址空间0〜

6中,得到的散列表是

A.14,6,23,9,18,30,12

B.14,18,23,9,30,12,6

C.14,12,9,23,30,18,6

D.6,23,30,14,18,12,9

25.“把查询sc表和更新sc表的grade列的权限受予用户userl”的正确

SQL语句是()。

A.GRANTSELECT,UPDATE(grade)ONTABLEscTOuserl

B.GRANTSELECTsc,UPDATEsc,gradeTOuserl

C.GRANTSELECT,UPDATEONTABLEsC.gradeTOuserl

D.GRANTSELECTONTABLEsc,UPDATEONTABLEsc(grade)TO

userl

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

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

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

理邮件的功能

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

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

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

27.在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据

库的结构被划分成用户级、()和存储级3个层次。

A.管理员级B.外部级C.概念级D.内部级

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

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

是()

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

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

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

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

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

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

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

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

D.使用连接(Join)操作

30.在数据库设计的()阶段,产生DBMS可以接受的源代码。

A.概念设计B.逻辑设计C.物理设计D.实现

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

31.已知数据文件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

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

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

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

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

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

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

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

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

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

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

1jiXncludG<stdlo.h>

2\IdefineMAX200

3•inta(MAX],bfMAXJ/ent

4!voidwriteDat();

5ivoidjsVal()

9»voidreadDat()

ioi(

11;inti;

125FILE・fp;

13jfp*fopen("in.dat",wr")i

14-ford-0;i<MAX;

15!fscanf(fp,Fd",[iI);

16jfclose(fp);

17:}

18!voidmain()

19;|

21!readDat();

22;jsVal();

23!printf「满足条件的数

for(i-0;i<ent;

printf(",dbli]

ww

26।!printf(\n);

27IwriteDat();

28;I

voidwriteDat()

30;(

31•

inti;

33jfp-fopen("out.daf*,;

34:fprintf(fp#w%c!\nnecnt);

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

36J

fprintf(fpr**W\n*',bl:])

37;fclose(fp);

38;}

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

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

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

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

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

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

字),如果新组成的两个位数ab>cd,ab必须是偶数且能被5整除,cd必

须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位

数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的

个数cnto最后main函数调用写函数writeDat把结果ent以及数组b中

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

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

程序中已定义数组:4200),b[200],已定义变量:ent

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

Iinclude<stdio.h>

2•defineMAX200

3inta[MAXJ,b(MAX]rent-0;

4voidwrlteDat();

5voidjsValO

6

8)

9voidreadDat()〃从ln.dat文件中澹取200个用位数存入敷殂a中

10

int1;

12FILE*fp;

13fp-fopen(Min.datw,

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

15fscanf<fprFd",

16fclose(fp);

17

18voidmain()

19

20int1;

21readDat();

22jsVal();//・用沿数jtvai(),宴现要求的功能

23printf广涓足条件的数・%d'n”,ent);

24for(1"0;1<ent;1♦*)

25printf(w%d”,b[il);

26printf("\nw);

writeDat();

28

29voidwriteDat(>〃纪计W站果cm以及数蛆b中管台条村的四位数“出到outdot文件中

30

31FILE*fp;

32

33fopen(wout.dat0.

34fprintf(fp,7d\nR.ent):

35for(1■0;i<ent;

36fprintf(fprFd\n".b(l));

37fclose(fp);

38

34.程序test.C的功能是:把s字符串中的所有字符左移一个位置,串

中的第一个字符移到最后。请考生编写函数chg(char*s)实现程序要求,

最后调用函数readwriteDAT把结果输出到Out.dat文件中。

何如;.字符串中原有内容为;MnJ23xyZ.则■用谀的畋后,结果为,n.123xyZM.

注意r部分费程中存在时.C文件中.

请勿改动数据文件in.chl中的任何效据•1:函数nuhM)和施由嗡敷readwnteDAT。的内容.

Iinclude<atdio«h>

llnclude<3trln9»h>

fdefineN81〃定义出费■可•算倒等于“

voidreadwriteDAT();

voidchg<char*s

8

14

15printf("ITiestringaftermodified

puts(a);

17readwrlteDAT();

18

ln.dat中流入字符申X脩字籽由/修••01用函■chg</)对字符小依周(•日的量米迎门处理,片肥处反姑聚写入我文仔

19•,voidreadwritcDAT()

chara(N1;

FILE"f,*wf;

M

rf•fopen("in.datr)

wf・fopen("out.dat*,"w");

tor(1»0;1<10;1♦+)

fscanf(rf,;〃从文件;中it取个?符印收辘字制木«

chg(A);〃。冏•故uhg(a)时学用串・避行蚣理

fprintf(wf,“$\rT,a);〃把蚣身站察"人列most文件中

fclose(rf);

fclove(wf);

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

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

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

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

出到文件out.dat中。

例:原文:dAe,BfC.

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

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

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

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

的内容。

1!linclude<stdio<h>

itinclude<string.h>

3;charxx[50)(80];

unsignedintmaxline八文章的总行效•/

5intReadDat(void);

6voidWriteDat(void);

7voidSortCharD(void)

8

9

10

voidmain0

13if(ReadDat())

14(

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

16return;

17I

18SortCharD0;

19WriteDat();

20)

/♦从文件mdst中读取一篇英文文拿存人U字符南数HIxx中•/

intReadDat(void)

23•FILEefD;

24;inti•0;

25!char*p;

26jif((fpmfopenC^in.dat","r">)•"NULL)

27;return1;〃加泉文件in,d小内容为匕则返回1

!,•当从文件ln.dat中读取79个字符存入xxlil设育1•设发生时.执行微环体中的语句〃

28;while(fgets(xx[i]#80efp)!■NULL)

29;1

30•p-strchr(xx(i),tXn');〃在字符率xx[£)中秀找回车换打符事一个西配的位置

31;if(p)*p-0;〃如果p的值不为零.划元其值设置为0

32;i++;〃行爻量加】

33:}

34।maxline•1;//IE文章的总行敬M蛤攵■naxllne

35[(close(fp);

36|return0;

37;|

i/・1E怙果XX・出刎文科ouLdat中•/

38;voidWriteDat(void)

39;(

40!FILE*fp;

41junsignedinti;

Mw

42;fp•fop^n(out•dat*'t**w);

43!for(i-0;i<maxline;

44i(

H

45;printf(*%s\nrxx[1]);

46!fprintf(fp,7s\n3xxfi]);

47i}

48•fclose(fp);

49!}

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中已定义数组:a|2OO),b(200],巳定义变lbent

请★改动数据文件in.dat中的任何数据.「南数31n()、读的数mdDatO和写函数writeDatO的内容.

1«finclude<stdlo»h>

2[IdefineMAX200

3jinta【MAX],“MAX],ent-0;

4;voidwriteDat();

5'voidJsVal()

9«voidreadDat()〃从1n.dat文仲。速取200个四位数存入数舐a中

10•(

11!int1;

12;FILE*fp;

RH

13­fp■fopen(**in.datr**r);

14«for(100;i<MAX;ix)

15;fscanf(fp*"*d",fi});

16!fclose(fp);

17j)

18;voidmain()

19!1

20;int1;

21»readDat();

22iisVal();〃,田崎CHWC,家现■目要求的功能

prlntf「满足条件的敷・Qd\n”.ent);

for(i•0;1<ent;

25printf(*%d"/b[i]);

26printf;

27writeDat();

28

29voidwriteDat()〃把计算的果an以及数tfib中箝令条件的四位1R♦出到ouLdii文件中

30

31FILE*fp;

32int1;

M

fp-fopen("out.datr"w");

wH

fprlntf(fp^%d\n,ent);

35for(i■0;i<ent;1*♦>

36fprintf(fprb[i]);

37fclose(fp);

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.函数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)对应的字符是小写字

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

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

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

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

数CalValueO,其功能要求:

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

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

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

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

中。

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

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

和输出函数WriteDatO的内容。

1«Iinclude<stdioeh>

2;IdefineMAXNUM200

3!intxx(MAXNUM);

4:inttotNum-0;〃文件Ln,Sit中共有,少个正IMS

5-inttotCnt-0;〃将合*ft的正•鼓的个数

6!doubletotPjz-0.0;〃平均值

i

7;IntReadDat(void);

8-voidWriteDat(void);

9»voidCalValue(void)

10;(

11!

12:J

13;voidmain()

14!(

15:int1;

16\ford-0;i<MAXNUM;i,+)

17;xx[i]-0;

18\if(ReadDatO)

19\(

20>printf("数据文件ln.dat不能打开!\007\n");

21;return;

22i)

23:CalValue();

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

25!prin"("符合条件的正整数的个敢■“个\n",totCnt);

26\print””平均值totPjz);

27;WriteDat();

28jI

;/•设取这若干个正餐数并存入数盥xx中•/

29!intReadDat(void)

30\(

31:FILE*fp;

32;int1-0;

w

33if((fp-fopcnein.dat.*r"))«NULL)

34return1;//1n<in.datMfiH1

\/•while-4执行文卷Hi.dat的妁电送附♦/

35Iwhile(!feof(fp))

36;1

37fscanf(fp,",d,"•;〃从文件,'个Hr存入XM【,J中.同N1Ml

38I

39;fclose(fp);

40return0;〃1E文件,n・<Uc若干个正■图■取并正・存入便回0

41;)

;/•«!计算站呆存入文件61t.st中•/

42•voidWriteDat(void)

43I(

44jFILE-fp;

w-

45[fp•fopen("out.datrw*);

46;tprintf(tpf-%d\n%d\n%.2If\n*,totNum,totCnt,totPjx);

47fclose(fp);

48

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

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

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

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

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

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

成整型变量),如果原字符是数字字符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

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

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

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

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

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

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

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

(10分)

42.现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年

份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有

多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序

号。请完成以下操作:(1。分)(1)画出E-R图。(2)将E-R图转换成

关系模式,并指出每个关系模式的主键(加下划线)和外键(加波浪线)O

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

43.关于数据库应用系统的设计,有下列说法:1.数据库应用系统设计

需要考虑数据组织与存储、数据访问与处理、应用设计等几个方面口.数

据库概念设计阶段,采用自上而下的ER设计时,首先设计局部ER图,

然后合并各局部ER图得到全局ER图□.在数据库逻辑设计阶段,将

关系模式转换为具体DBMS平台支持的关系表口.在数据库物理设计阶

段,一般需要设计视图和关系模式的完整性约束上述说法正确的是

()。

A.D、口和口B-C.□和口D.□和口

44.设有如下所示ER图:

下列能够正确表示该ER图的UML类图是()。

•A.

・B.

D.

-----3部门

i•

下属领导

\y

参考答案

1.B解析:二维表中的列称为属性(或字段);行称为元组(或记录)。

2.A解析:所谓函数依赖其实质是刻画关系中各个属性之间相互制约而

又相互依赖的关系。函数依赖包括;完全函数依赖、部分函数依赖、传

递函数依赖。

3.C解析:数据库管理系统包括以下3个主要成分:存储管理器、查询

处理器和事务管理器。

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

联系。

5.B

6.B解析:计算机的系统软件包括操作系统、语言处理程序、数据库管

理系统和服务性程序。其中操作系统是系统软件的核心,它是管理计算

机软、硬件资源、调度用户作业程序和处理各种中断,从而保证计算机

各部分协调有效工作的软件。因此本题正确答案为选项Bo

7.C解析:网络中的计算机之间为了能正确交换数据,必须遵守事先约

定好的通信规则。这些规则明确规定了所交换数据的格式和时序,这些

为网络数据交换而制定的规则、约定与标准被称为网络协议。一个网络

协议主要有以下三部分构成,即语法、语义和时序。选项C不是网络协

议的要素,因此本题的答案为C。

8.C解析本题考核有关计算机键表的基本知识,参考2.2.2“键表”一节。

9.B解析:批处理多道系统能极大地提高计算机系统的工作效率,具体

表现为:多道作业并行工作,提高了处理器的利用率;作业调度可以按

一定的组合选择装入主存储器的作业,可充分利用计算机系统的资源;

作业执行过程中,直接在高速的磁盘上存取信息,从而缩短了作业执行

的时间,使单位时间内的处理能力得到提高;作业成批输入,自动选择

和控制作业执行,提高了系统的吞吐率。

10.B解析:关系模型由关系数据结构、数据操作和数据完整性约束3大

要素组成。

11.数据传送类计算机指令系统分为传输类,算术逻辑类,控制类三种指

12.城域网【解析】城域网是介于广域网和局域网之接的一种高速网络。

城域网的设计目标是满足几十千米范围内的大量企业、机关、公司的多

个局域网的互联需求,以实现大量用户之间的数据、语音、图形与视频

等多种信息传输。

13.逆向工程逆向工程

14.链式存储结构在计算机中用一组任意的存储单元存储线性表的数据

元素(这组存储单元可以是连续的,也可以是不连续的).\r\n\u3000\u3000

它不要求逻辑上相邻的元素在物理位置上也相邻.因此它没有顺序存储

结构所具有的弱点,但也同时失去了顺序表可随机存取的优点"\n

15.分布式一个分布式数据库系统包含一个节点的集合,这些节点通过某

种类型的网络连接在一起,每一个节点是一个独立的数据库系统节点

16.环或环路或回路或进程环路环或环路或回路或进程环路解析:死锁

是一种系统状态,在多道程序系统中,一组进程的每一个进程均无限期

地等待被该组进程中的另一个进程所永远不会释放的资源。产生死锁的

必要条件是:

①互斥条件

②不可剥夺(不可抢占)

③部分分配(占有等待)

④循环等待

如果没有一个资源占有的环路,是不会形成死锁的。

17.关系关系模型:用二维表的形式表示实体和实体间联系的数据模型。

18.分组交换分组交换解析:分组交换是现代通信的基础。广域网的通

信子网主要使用分组交换技术,可以利用公用分组交换网、卫星通信网

和无线分组交换网,将分布在不同地区的局域网或计算机系统互联起来,

达到资源共享的目的。

19.应用级【解析】网络防火墙包括包过滤路由器、应用级网关和电路

级网关。

20.进程同步或同步进程同步或同步

21.D

22.C

23.D

24.B解析:将23,14,9,6,30,12,18依次按散列函数K(k)=kmod7计算,

并按线性探测法解决冲突,得到的散列结果是14,18,23,9,30,12,6O

25.A解析SQL语言用GRANT语句向用户授予数据访问权限,GRANT

语句的一般格式为:

GRANT(权限>[,〈权限〉]…

[ON(对象类型><对象名>儿(对象名〉]…

TO(用户>[,<用户>>.

[WITHGRANTOPTION]

所以正确的是选项A)。

26.C选项A),电子邮件是有固定格式,它由邮件头和邮件体两部分组

成;选项B),电子邮件应用程序的最基本的功能是:创建和发送,接收、

阅读和管理邮件的功能;选项C),每个邮箱都有密码保护,这是最基本

的保护,目前,保证重要邮件的安全性的主要手段是使用数字证书,数

字证书可以证明用户的身份。加密电子邮件,保证不被修改;选项D),

利用电子邮件可以传送多媒体信息,MIME协议支持多媒体信息的发送。

27.C

对应于外模式的数据库称为用户级数据库。它是用户可以看到并准许

使用的数据库。模式也叫做概念模式,它是全局逻辑级的,是数据库

的整体逻辑结构。内模式对应于数据库的存储结构,是为了提高模式

对存储设备的独立性而设立的。

28.C

29.D

30.D

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

到小排序。

\n【解题思路】

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

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

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

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

\n本题第10条语句中各条件表达式之间的关系有些复杂,大致思路是:

①首先判断新组合的两位数的十位不为0,即表达式“gwbw";②再判断

新组合的第一个两位数为偶数,第二个两位数为奇数,且两个两位数中

至少有一个能被17整除的情况,两个整除关系表达式式要用或运算符

(11)连接,且用括号括起来先计算或运算,再与奇偶性判断表达式进行

与运算;③最后,在判断新组合的第一个两位数为奇数,第二个两位数

为偶数,且两个两位数中至少有一个能被17整除的情况(各表达式之间

的连接关系同第2步)。完成以上3部分的表达式设计后,再通过与运

算将3部分表达式连接起来。

\n【参考答案】

\n

\n

32.\n[审题关键句】个位-千位-百位-十位,结果大于等于零且原四位数

是偶数,统计出满足此条件的个数,并按从小到大的顺序存入数组。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现仅有一个不同点,即要求统

计的四位数的条件是“个位-千位■•百位-十位>=0",参考答案的第8条语

句,修改if条件语句的判断条件即可。

\n【参考答案】

\n

\n

33.\n【审题关键句】千位+十位与个位+百位,比较大小,整除,奇数,

从大到小排序。

\n【解题思路】

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

件有所不同,即判断新组合的两位数要求第一个为偶数,第二个为奇数,

比较两题的第10条语句,只需将新组合的第二个数的判断条件改为奇

数判断,即“newV2%2”。

\n【参考答案】

\n

\n

34.【审题关键句】所有字符左移一个位置,串中的第一个字符移到最后。

\n【解题思路】

\n定义循环变量i,字符变量first和字符指针变量P,并使P指向字符

串So

\n②把字符串S的第一个字符赋给first变量保存起来。

\n③在for循环语句中,循环变量i从0开始,依次递增直到其值等于或

大于(int)strlen(s)—1,把*(p+i+l)的值赋给+(p+i),实现把字符串S中的

所有字符左移一个位置,循环结束后,把first的值赋给p[strlen(s).1],

即把字符串的首字符移动到字符串的最后位置上。

\n【参考答案】

\n

\n

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

存入字符串数组中。

\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皿k]按照它们的

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

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

的顺序进行排序。

\n【参考答案】

\n

\n

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

序。

\n【解题思路】

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

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

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

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

\n【参考答案】

\n

\n

37.\n[审题关键句】计算金额,按金额从小到大进行排列,相同的则按

产品代码从小到大排列,结果存入结构数组。

\n【解题思路】

\n本题类似第5

温馨提示

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

评论

0/150

提交评论