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

下载本文档

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

文档简介

2022年湖北省孝感市全国计算机等级考试

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

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

一、1.选择题(10题)

1.在E-R模型向关系数据模型转换的时候下列叙述不正确的是

A.一个实体类型转换成一个关系模式时,实体的属性就是关系的属性

B.一个实体类型转换成一个关系模式时,实体的码就是关系的码

C.具有相同码的关系的模式不可以合并

D.具有相同码的关系的模式可以合并

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

比较好?

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

3.在下列关于视图的叙述中,正确的一条是

A.当某一视图被删除后,由该视图导出的其他视图也将被自动删除

B.若导出某视图的基本表删除了,但该视图不受任何影响

C.视图一旦建立,就不能被删除

D.当修改某一视图时,导出该视图的基本表也随之被修改

4.如图是一棵二叉树,其中序遍历序列是()。

a

bc

def

/\

A.debacfghB.abcdefghC.debacgfhD.debghfca

5.在下面列出的数据模型中,哪一个模型是概念数据模型?

A.关系模型B.层次模型C.网状模型D.实体一联系模型

6.不同实体是根据区分的。

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

7.在一棵二叉树上,度为零的结点的个数为nO,度为2的结点的个数

为n2,则nO的值为

A.n2+1

B.n2-1

C.n2

D.n2/2

8.下面哪种语言编写的程序可由计算机直接执行

A.高级语言B.汇编语言C.PASCAL语言D.机器语言

9.数据库定义模块的基本功能包括()。

□、数据库模式定义

□、数据库完整性定义

□、数据库安全性定义

□、存取路径定义

A.仅口、□和DB.仅口、□和DC.仅口、□和DD.都是

10.事务的持久性是指O

A.事务中包括的所有操作要么都做,要么都不做

B.事务一旦提交,对数据库的修改就是永远的

C一个事务内部的操作及使用的数据对并发执行的其他事务是隔离的

D.事务必须是使数据库从一个一致性状态变到另一个一致性状态

二、填空题(10题)

11.数据仓库系统(DWS)由数据仓库(DW)、【]和[]三部分组

成。

12.在TCP/IP的参考模型中,HTTP协议定义在层。

13.虚拟局域网是建立在交换技术的基础上,以软件方式实现

工作组的划分与管理。

14.在口数据报分片后,通常用负责数据报的重组。

15.在TCP/IP协议集中,TCP协议和UDP协议运行于开放系统互联参

考模型中的层。

16.在计算机系统中,一个以科学的方法组织、存储数据,并可高效地

获取、维护数据的软件系统称为O

17.用户检索POP3邮件服务器的过程可以分成3个阶段:、

事务处理阶段、更新阶段。

18.客户机/服务器模式在实现中需要解决的主要问题有:标识一个特定

的服务、响应并发请求和服务器程序的O

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

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

20.OS1参考模型中,网络层的主要功能有:、拥塞控制和

网络互联等。

三、单选题(10题)

21.在定义一个关系结构时,应该说明()

A.字段、数据项及数据项的值B.属性名、属性数据类型及位数C.关系

名、关系类型及作用D.记录名、记录类型及内容

22.磁盘的读写单位是()

A.块B.扇区C.簇D.字节

23.下述哪个成立时,称X-Y为平凡的函数依赖?

A.XYB.YXC.XAY=D.XAY#

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

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

25.在SQLServer2008的系统数据库中,为调度信息和作业历史提供存

储区域的是

A.MasterB.ModelC.PubsD.Msdb

26.若实体间的联系是M:N,则将联系类型()

A.的属性加入任一个关系模式中

B.的属性加入N端实体类型相对应的关系模式中

C.的属性加入M端实体类型相对应的关系模式中

D.也转换为关系模型

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

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

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

28.数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功

能是o

A.数据库设计B.数据通信C.数据定义D.数据维护

29.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的()

A.文件的集合B.数据的集合C.命令的集合D.程序的集合

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

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

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

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

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

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

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

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

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

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

注意:部分源界序存在teste文件中・

程序中已定义数纲:a[200].bf200],已定义变量ient

请勿改动数据文件Edit中的任何数据.主杀IRmainO、读函数nadDaU)和写函数writdM)的内容・

1!tlncludo<stdio.h>

2iIdefineMAX200

3inta[MAX]tb(MAXI/ent

4voidwriteDat();

voidjsVal()

6

7

8

9voidreadDat()

10(

11inti;

12FILE*fp;

fp«fopen(win.datH»wr"

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

15!fscanf(fp,"*d".Ii]);

16»fclose(fp);

17-}

18voidmain(>

19

20int1;

21readDat0;

22jsVal();

23prlntf(”满足条件的敢2d\n".

24for(i-0;i<ent;

25printfrQd”,bli)):

26printf(w\nw);

writeDat0;

26

29voidwriteDat

30

31FILE*fp;

32inti;

33fp•fopen("out.datw,;

34fprintf(fp,"Qd\n*cnt>;

35for(1-0;i<ent;

36fprintf(fpr7d\rT,b|il);

37fclose(fp);

38

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

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

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

WriteDat把结果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的内容。

1♦include<stdio.h>

2•include<string.h>

3♦include<ctype.h>

4unsignedcharxx[50][80];

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9I

10unsignedintval;

11

12

13voidmain()

14(

15if(ReadDatO)

16(

17printf("数据文件m.dat不佬打开!\n\007");

18return;

19)

20encryptChar();

21WriteDat();

22I

,♦从文付mdal中口:取一■荚文文・・存人父字符中数mu中•/

intReadDat(void)

24

25FILE*fp;

26inti-0;

27unsignedchar*p;

28if((fp-fopen(-in.datH,)-NULL)

29return1;

30while(fgets(xx(1),80,fp)-NULL)

31I

32p=strehr(xx(i)#*\n*);

33if(p)*p-0;

34If

35

36maxline-i;

37fclose(fp);

38return0;

39>

/•«««u■出到文件outdai中•/

40voidWriteDat(void)

41

42FILE*fp;

43inti;

44fp■fopenfout.dat**,W

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

46(

47printf("laXn",xx{iB;

48fprintf(fprFs\n",xx(i]);

49

50fclose(fp);

51

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

串数组XX中,请编制函数StrCharJR,其函数的功能是t以该文章中的

行为单位把字符串中的所有字符的二进制ASCII值右移4位,高位补

0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的

值仍存入原字符串对应的位置上,之后把已处理的结果仍按行重新存入

数组XX中。最后main函数调用函数WriteOat把结果XX输出到文件

out.dat中。

例如:

“z”对应的ASCH值为7AH,二进制值为01111010,右移4位后为

00000111,加上原来“2"的ASCII值01111010得到10000001结果。

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

号和空格,并也按字符处理。

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

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

j•include<stdio.h>

!■include<atring.h>

;charxx(501(801;

!intmaxline-0;/•文章的曲行数*/

5;intReadDat(void>;

6•voidWriteDat(void);

ivoidStrCharJR(void)

8

9

io;l

iivoidmain()

12

if(ReadDat())

(

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

return;

I

StrCharJRO;

WriteDat();

)

/•从文钟in<hi中读取篇英文文章存入到字符申数钮“中•/

intReadDat(void)

I

FILE»fp;

inti•0;

charep;

0Hw

if((fp-fopen(in.dafrr))-NULL)

returnI;

while(fgets(xx(i],80rfp)!-NULL)

(

p»strchr(xx[i),

if(p)*p-0;

32

33

34roaxline•i;

35fclose(fp);

36return0;

37

/果u■出到文的outdai中•/

38voidWriteDat(void)

39

40FILEefp;

41inti;

42fp«fopen("out.datM,

43for(i-0;i<maxline;

44

45printf(**%3\n"rxx[i]);

46fprintf(fprxxll));

47

:?hfclose(tp);

34.已知在文件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)

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

finclude<stdio.h>

2•defineMAX200

3inta[MAX],b(MAX]rent0;

4voidwriteDat();

voidjsValO

6

7

8

9voidreadDat()〃从ln.d«t文件中it取200个四位数存入数组a中

10

11int£;

12FILE*fp;

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

14for(i-0;i<MAX;

15fscanf(fprAa(i]);

16fclose(fp);

17

18voidmain()

19

20inti;

21readDat();

22jsVal();〃调用啪敏。,宏现・“要求的功能

23printf("濡足条件的敷ent);

24for(1-0;i<ent;

25printf(wid",b(i]);

26prlntf("\nw);

27writeDat();

28

29voidwriteDat()〃把计年的果cm以及敷蛆b中种台条件的四位数・出到outdm文件中

30

31FILE・fp;

32inti;

33fp•fopen("out.dat",Ww**);

34fprintf(fpr“Qd'n".ent);

35for(1-0;i<ent;

36{printf(fp,Fd\n".b[l]);

37fclose(fp);

38

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

把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出所有这

些四位数是素数的个数ent,再求出所有满足此条件的四位数平均值pjzl,

以及所有不满足此条件的四位数平均值pjz2o最后main函数调用写函

数writeDat把结果ent,pjzl,pjz2输出到out.dat文件中。

例如।5591Mtft.该数清足条件.”加计算平均值pjzl,且个数entynt+L

9s12是年麻数.谟数不淌足条件.,加计算平均值pj2.

注意,解分源程序在在leuc文件中.

展序中已定义数组:*1300).已定义变届:ent.pjzl.pjz2

请勿改动数据攵件in.&1中的任何数据、!nuun().读嫉畋readDaeOlQ,;曲数wntcDatp的内容.

1;•include<atdlo.h>“ide诵句说初冬W序中也畲20中也标方■人・出座崎险小、

2-inta(3001,cnt»0?〃心♦甲也那・[33。]10金•emt•殳・cntM初值”。

3!doublepjzl«O.Orp3z2*O.O;〃是又受・pi*l・p,U)1M初G*o.o

4ivoidwriteDat();//・出*。说付

S­voidreadDat();〃*入嫉假讹攀遇句

61intlsP(intm)〃*R叫X断Q■吉为腐敏,切裳0R欧3越网;.带划就回o

7•(

6;Xnt1;

9!for(1•2:i<m;

10\if(mi—0)

11-returnOi

12:return1j

13i»

14-void)8Valuo(>〃璃抬”v.iu•八的定义谪句

15i(

16;

17•|

18!maln()

19;(

20-readDatO;〃■用皿it。*©■从m&t攵绅中直入38个丙依敷并入IHR・中

21!jsValuet);〃■用”一1“(>/”,实垠CUIM"宴现的防险

22;writeDat();//UH]wrlt«Dat<)iktt.IE>tWttKOM.pyxl.讨z2・出ifoutJ文钟中

23;prxntf(*cnt-%d\n满足条件的平均值pzjl-17.21f\n不消足条件的平均值pzj2-i7.21f\n*.

;cntrplzl,pjz2);//在附■上R示己■的热果

24;>

25;voidroadDatO〃从m&i文件中*入300个内价0存入融制.中

26*(

27IFILE*fp;〃定义文件册书变・卬

28;int1;〃定义交・1

29(fp-foponf-in.daf^r*);〃以只球加UHf文件md*t.井区文制Kt力指如Xt5at

30jford-0;1<300;1♦*>〃循环,■'从。依次•增到2”

31\fscanf(fp,Fd,,;〃从支件Lr>.da1中*A38个穴位数。入fltQU中

32!fclose(fp);〃关闭文fts.dat

33\}

34•voidwriteDat()〃(计■钵堂耳AJVoui.dai义ft

35j(

36;FILE*fp;〃定义文件揄外,・,p

37\fp-fopen("out.dat*e"wH):〃以只写方式“拜文华gt.dnt,"RZKIIHteIt向文件out.<Ut

38Ifprintf(fp,*%d\n17.21f\n17.21f\n"/ent,pjzl.pjz2);//注解5上=制星

39;fclose(fp);〃为第文件out.dA。

40;)

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

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

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

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

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

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

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

中。

注意8部分源程》存在XC文件中.

程序中已定义数组:a[200].b[200],已定义变星,ent

请勿改动数据文件in.dat中的任何数据、主函数main。、读强数readD»M)和巧图数writeDatO的内容.

finclude<stdio.h>

2^defineMAX200MAX,X1WT200

3inta(MAX)#b(MAX)#ent-0;〃定义祭串数ma[MWC)■»[MAX]和受■ent,井”殳■ent的初值为4

4voidwrlteDatO;

5voidjsVal()

6

7

8

9voidreadDat()

10(

11int1;

12FILEefp;

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

14for(i-0;i<MAX:

15fscanf(fp,—,ia[1|);

16fclose(fp);

17J

18voidmain()

19(

20inti;

21readDat();

22jsValO;〃・用“v3<)冰收实现■日■柒的功能

23printf("清足条件的数,皿、!!**.ent);

24for(1-0;1<ent;

25printf{R%d",b(i]);

26printf(w\nw);

27writeDat();

28)

23voidwrlteDat{)

30(

31FILE・fp;

32int1;

33fp-fopen("out・daL.Hw">;

34fprintf(fp#Fd\n".ent);

35for(1-0;1<ent;

36fprintf(fp^b(l));

37fclose(fp);

38

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

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

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

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

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

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

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

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

和输出数据函数WriteDat的内容。

1!Iinclude<stdlo.h>

2iIdefineMAXNUM200

3intxx(MAXNUM);

4inttotNum■0;〃文件in・dat中共有多少个正整数

5inttotCnt■0;〃符合条件的的个融

6doubletotPjz-0.0;〃平均位

7intReadDat(void);

8voidWclteDat(void);

9voidCalValue(void)

10

11

12

voidmain{)

14

15inti;

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

17xx[1].0;

18if(ReadDat())

19(

20prlntf("数据文件ln.dat不能打开!\00八n");

21return;

22)

23CalValueO;

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

25printf符合条件的正整数的个数,*d个\n“,totCnt);

26printf「平均值-Q.Zlf'nLtotPjz);

27WriteDat();

28)

,•速取这若产个正•数并存入1fcMu中•/

29intReadDat(void)

30(

31FILE*fp;

32inti-0;

HM

33if<(fp*fopen("in.datr*r))-NULL)

34return1;

35while(!feof(fp))

36(

37fscant(fpa"Qd.",

38)

39fclose(fp);

40return0;

41]

,・1C计IT妫豪存入文件。仇.dau中•/

42voidWriteDat(void)

43(

44FILEefp;

45fp■fopen("out.dat*,Hww);

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

47fclose(fp);

48

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

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

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

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

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

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

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

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

程序中已定义数组:a[200|.b(2OOJ.已定义克・,ent

请勿改动数据文件in.da:中的任何数据、|俅数main。、读函数rsdDaU)和写话数writeD*t()的内容.

I

1।line!ude<stdio.h>

2!♦defineMAX200

3;inta(MAX]rb[MAX)rent-0;

4;voidwriteDatO;

5«voidjsValO

6•।{

85)

9jvoidreadDdt()

10;1

11(!inti;

121FILE*fp;

13;fp-fopen("in.clat","rR);

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

15•fscant(fp/rd”.(1]);

16;fclose(fp);

11!I>

18jvoidmam()

19;(

20•int1;

21jreadDat();

22;jsValO;

23\printf("满足条件的数・*d\n-.ent);

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

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

26!printf(M\n");

27jwriteDat();

28;}

29«voidwriteDat()

30•(

31;FILEwfp;

32!int1;

wW

33jfpfopen("out.datrw°);

34;fprintf(fp,”Qd\n”.ent);

35*for(i«0;i<ent;工

36»fprintf(fp,Fd\n",b(i]);

37;fclose(fp)i

38!)

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

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

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

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

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

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

例如,6712.6+2=7+1.则该数满足条件存入数81b中.且个数cniF+l.

8129,8丹1-1+2,则该敷不清足条件忽略.

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

程序中已定义数组t<300],b{300],已定义变量;ent

请勿改动数据文件in.dat中的任何数据、主南敷main()、谟潘数readDatO和写函数writeDmO的内容.

Iinclude<stdio.h>

2inta[300),b(300J,cnt*0;

3voidwriteDat();

4voidreadDat(\;

5voidjsValue()

6

7

8

9

10;(

int1;

12;readDat();

13•jsValueO;

14;writeDat();

H

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

16\

for(i•0;i<ent;

H

171printfC*b(td]-%d\nr1,

18;I

191voidreadD&t()

20;(

21iFILEefp;

22!int1;

23;fp-fopen("in.dat",;

24

for(i•0;i<300;

25!fscanf(fptFd,**■6a(i]);

26fclose(fp);

27I

28voidwrite£>at()

29I

30FILE*fp;

31int1;

32fp-fopen(°out.dat**,;

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

34for(i-0;i<ent;i+*)

35fprintf(fpr7d\n",b[i]);

36fclose(fp);

37

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

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

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

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

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

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

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

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

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

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

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

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

42.已知有如下关系模式:RI(a,b,c),R2(c,d,a),R3(e,

f),R4(空工,g),其中标下划线的属性是主码。请将上述关系模

式用适当的ER图表示出来,并用下划线标注出作为实体主码的属

性。(10分)

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

43.与下述ER图等价的UML类图是()0

•A.

・B.

・C.

・D.

44.用UML建立业务模型是理解企业业务的第一步,业务人员扮演业务

中的角色及其交互方式,例如航空公司的售票员是业务员,电话售票员

也是业务员,它们直接的关系是()o

A.关联关系B.依赖关系C.聚集关系D.概括关系

参考答案

1.C解析:一个实体类型转换成一个关系模式时,实体的属性就是关系

的属性,实体的码就是关系的码。具有相同码的关系的模式可以合并。

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

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

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

3.A解析:视图是从一个或几个基本表(或视图)中导出的表,是一个虚

表,其既可以被定义,也可以被删除,如导出视图的基本表中的数据发

生变化,其视图中查询出来的数据也随之变化,若导出某视图的基本表

被删除了,其视图也不存在了,故选项B、C、D是错误的。

4.C解析:对二叉树的中序遍历,若二叉树为空则空操作,否则先中序

遍历左子树,再访问根结点,最后中序遍历右子树。

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

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

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

6.B解析:属性是实体所具有的性质。在信息世界中不同实体由于其属

性的不同而被区分。

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

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

8.D解析:由机器语言编写的程序可由计算机直接执行,效率高,但机

器语言不易记忆和理解。掌握计算机软件的基本概念。

9.D解析数据库定义功能是对数据库库的结构进行描述,包括外模式、

模式、内模式的定义;数据库完整性的定义;安全保密的定义;存取路

径的定义。这些定义存储在数据字典中,是DBMS运行的基本依据。

10.B解析:数据库管理系统中要求数据库系统维护以下事务特性,即原

子性、一致性.隔离性和持久性。事务的原子性是指事务的所有操作要

么全部正确反映出来,要么不反映;事务的一致性是事务的隔离执行保

持数据库的一致性;事务的隔离性是指尽管多个事务可以并发进行,但

要使每个事务都感觉不到系统中其他事务在并发进行;事务的持久性是

指一个事务成功完成后,它对数据库的改变必须是永久性的,即使系统

可能出现故障。因此本题正确选项为B。

11.

仓库管理分析工具

数据仓库是存储数据的一种组织形式,它从传统数据库中获得原始数,

先按辅助决

策的主题要求形成当前基本数据层,再按综合决策的要求形成综合数据

层(又可分为轻度

综合层和高度综合层)。随着时间的推移,由时间控制机制将当前基本数

据层转为历史数

据层。数据仓库系统(DWS)由数据仓库、仓库管理和分析工具三部分组

成。

12.应用应用

13.逻辑【解析】虚拟局域网建立在局域网交换机的基础上,它以软件

方式实现逻辑工作组的划分与管理,工作组中的结点不受物理位置的限

制。相同工作组的成员不一定连接在相同的物理网段,它们可以连接在

相同的交换机上,也可以连接在不同的局域网交换机上,只要这些交换

机互联即可。当结点从一个工作组转移到另一个工作组时,只需要简单

地通过软件设定,而无须改变在网络中的物理位置。

14.目的主机【解析】在接收到所有分片的基础上,主机对分片进行重

新组装的过程称为IP数据报重组。1P协议规定,只有最终的目的主机

才可以对分片进行重组。

15.传输【解析】在口互联中,传输控制协议(TCP)和用户数据报协议

(UDP)是传输层最重要的两种协议,它们为上层用户提供不同级别的通

信可靠性。

16.数据库管理系统(DBMS)数据库管理系统(DBMS)解析:数据库管理

系统(DBMS)是位于用户与操作系统之间的一个数据管理软件,它通过

数据定义、数据操纵、数据库的运行管理和控制、数据库的建立和维护

来科学地组织、存储数据,高效地获取、维护数据。

17.认证阶段【解析】用户检索POP3邮件服务器的过程可以分成3个

阶段:认证阶段、事务处理阶段、更新阶段。

18.安全问题【解析】客户机/服务器模式在实现中需要解决的主要问题

有:标识一个特定的服务、响应并发请求和服务器程序的安全问题。

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

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

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

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

数据间联系的描述。

20.路由选择【解析】OS1参考模型中,网络层要实现路由选择、拥塞

控制和网络互联等功能。

21.B

22.B

23.B解析:当YX时,称X-Y为平凡的函数依赖。

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

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

25.D

26.D

27.B

28.C解析:数据字典是系统中各类数据描述的集合,是进行详细的数据

收集和数据分析所获得的成果。数据字典通过对数据项和数据结构的定

义宋描述数据流、数据存储的逻辑内容。所以数据字典的最基本的功能

是数据定义。

29.B解析:根据数据库的定义可知,数据库是长期储存在计算机内的、

有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、

描述和存储,具有较小的冗余度、较高的数据独立性、和易扩展性,并

可为各种用户所共享。

30.C

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

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

\n【解题思路】

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

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

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

\n【参考答案】

\n

\n

32.\n【审题关键句】字符替代f(p)=p*llmod256,小于等于32或对应大

写字母不变,否则替换。

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第6行,修改if条件语句的设置即可。另外,

在源程序中已经定义了一个无符号变量val,因此,在编写答案程序时,

不需要再重新定义。

\n【参考答案】

\n

\n

33.\n【审题关键句】字符的ASCII值右移4位二进制位,高位补。后加

原字符的ASCH值。

\n【解题思路】

\n①定义两个循环变量i、j和一个无符号字符变量tmp。

\n②在第一个for循环语句中,循环变量i从0开始,依次递增直到其值

等于文章最大行数maxline。在第二个for循环中,从每行第1个字符开

始,依次递增直到其值等于该行字符串的最大长度,然后在循环体中指

定每次循环时,将第i行第i个位置上的字符的ASCH值的二进制数右

移4位,然后将所得的值再加上原字符的ASCII码值。

\n【参考答案】

\n

34.\n【审题关键句】计算金额,按产品名称从大到小进行排列,相同的

则按金额从大到小排列,结果存入结构数组。

\n【解题思路】

\n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第8行进行修改即可。

\n【参考答案】

\n

\n

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

从大到小排序。

\n【解题思路】

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

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

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

数判断,即“newV2%2”。

\n【参考答案】

\n

\n

36.\n【审题关键句】求素数的个数及平均值,并计算非素数的平均值。

\n【解题思路】

\n①首先定义循环变量i,然后通过for循环对数组a[300]d0的每个元素

a[i]调用函数isV(a[i])判断a[i]是否是素数(素数的算法已在isP函数中给

出,此处直接调用即可),如果是素数,则把其加到变量pjzl上,同时

计数变量ent加1,否则a[i]值加到变量pjz2上。直到判断完数组a[300]00

的所有数据后退出循环。

\n②求出pJzl、pjz2和ent的值之后,再用变量pjzl的值除以ent的值

就得到素数的平均值,同时把这个值赋给变量pjzl,最后用变量pjz2的

值除以300.ent的值就得到非素数的平均值,并把这个值赋给变量pjz2o

\n【参考答案】

\n

\n

37.\n[审题关键句】四位数的千位<=百位<=十位<=个位,且四位数是偶

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

\n【解题思路】

\n①首先,本题要定义多个变量,包括两个循环变量循环i、i,一个用

于数据交换的整型变量ab,以及分别用来存放四位数分解之后各位数的

变量qw(千位)、bw(百位)、SW(十位)和gw(个位)。

\n②通过for循环依次对数组中的每个四位数进行分解,每分解一个四

位数,根据题目要求,判断其“千位<=百位<=十位<=个位”的条件是否满

足,并通过a[i]%2==0表达式判断该四位数是否为偶数,各判断表达式

之间用运算符进行连接,当满足条件时,则将a嘲的值赋给数组变量

b[cnt],同时数组下标变量ent的值加1。循环结束后,所有满足条件的

四位数都将保存到数组blent1中。

\n③将所有的四位数判断完毕后,最后通过两个for循环,对b[cnt]数组

中的元素按从小到大的顺序排序。

\n【参考答案】

\n

\n

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

数及平均值。

\n【解题思路】

\n本题类似第46套试题,通过审题可以发现仅有一个不同点,即四位

数的各位数之和为奇数,参考答案的第13条语句,将该该语句为判断

各位数字之和是奇数的表达式即可。

\n【参考答案】

\n

\n

39.\n【审题关键句】四位数的千位>=百位>=十位>=个位,且四位数是奇

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

\n【解题思路】

\n本题类似第9套试题,通过审题可以

温馨提示

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

评论

0/150

提交评论