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

下载本文档

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

文档简介

2022年陕西省西安市全国计算机等级考试

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

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

一、L选择题(10题)

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

职员关系是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的

目标关系

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

操作来分片的称为

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

3.下列中断中,不属于强迫性中断。

A.设备出错B.掉电C.时间片到时D.执行print语句

4.在就绪队列中,一旦有优先级高于当前运行进程优先级的进程存在时,

便立即对进程进行调度,转让CPU,这叫做

A.可剥夺方式B.不可剥夺方式C.时间片轮转D.实时调用

5.隔离是操作系统安全保障的措施之一。下列哪一项不属于安全隔离措

施?

A.物理隔离B.时间隔离C.分层隔离D.密码隔离

6.下列排序方法中,最坏排序时间不是0(n2)的是

A.快速排序B.堆排序C.起泡排序D.简单选择排序

7.关于数据库系统三级模式结构,下列论述中正确的是

A.三级模式结构是数据库惟一的一种分级模式结构

B.外模式/概念模式映像为数据的物理独立性提供支持

C.内模式与物理数据库等价,概念模式与逻辑数据库等价

D.外模式是概念模式的一个逻辑子集,且外模式的某些描述可以与概念

模式不同

8.下列哪一种方法不用于实现访问控制?

A.存取控制表B.存取控制矩阵C.E1令D.保护键

9.以下关于数据的逻辑结构的叙述中,哪一条是不正确的?

A.数据的逻辑结构是数据间关系的描述

B.数据的逻辑结构抽象地反映数据元素间的逻辑关系

C.数据的逻辑结构具体地反映数据在计算机中的存储方式

D.数据的逻辑结构分为线性结构和非线性结构

10.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)o其中S#为

学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME为课程

名。要查询选修"计算机”课的全体女学生姓名的SQL语句是“SELECT

SNAMEFROMS,C,SCWHERE"子句。这里WHERE子句的内容是

A.SS#=SCS#ANDSEX=^,ANDCNAME=5+算机'

B.SS#=SCS#ANDCC#=SCC#ANDCNAME=,计算机'

C.SEX=,女,ANDCNAME=,计算机,

D.SS#=SCS#ANDCC#=SCC#ANDSEX=,女'ANDCNAME=,

计算机’

二、填空题(10题)

H.DBMS对数据库进行封锁时采用的两种基本锁类型是排它锁(X)和

12.数据库恢复通常基于数据备份和o

13.UNIX内核部分包括文件子系统和控制子系统。

14.计算机系统安全包括三个方面:秘密性、完备性和<

15.分布式数据库中定义数据分片时,必须满足3个条件:完备性条件、

重构条件和【】。

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

17.空闲块表方式特别适合于文件物理结构为」]_的文件系统

18.一旦CA验证了实体的身份,就产生一个证书,将这个公共密钥和身

份进行绑定。

证书中包括公共密钥和密钥所有者的全球惟一的。

19.散列表存储的基本思想是:由结点的决定结点的存储地址。

20.设K为R中的属性或属性组合,若K-U,则K为R的【】。

三、单选题(10题)

21.ENIAC所用的主要元件是()

A.集成电路B.晶体管C.电子管D.以上答案都不对

22影响优化器的主要因素有:

A.由于现有索引不足,导致排序索引中不包括一个或几个待排序的列。

B.Groupby和orderby子句中列的次序与索引次序一致。排列的列来自

不同的表。

C.建立的索引文件太多。

D.事务处理太多

23.如果两个实体之间的联系是M:N,则在转换成关系模型时,()引入

第三个交叉关系。

A.需要B.不需要C.无所谓D.将两个实体合并

24.FoxProDOS是()

A.DOS下的数据库B.DOS支持下的数据库管理系统C.为DOS做的

FoxProD.DOS下的文字处理系统

25.SQLServer数据库是由文件组成的。下列关于数据库所包含的文件的

说法中,正确的是__________O

A.一个数据库可包含多个主要数据文件和多个日志文件

B.一个数据库只能包含一个主要数据文件和一个日志文件

C.一个数据库可包含多个次要数据文件,但只能包含一个日志文件

D.一个数据库可包含多个次要数据文件和多个日志文件

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

SQL语句是()。

A.GRANTSELECT,UPDATE(grade)ONTABLEscTOuserl

B.GRANTSELECTsc,UPDATEsc,gradeTOuserl

C.GRANTSELECT,UPDATEONTABLEsC.gradeTOuserl

D.GRANTSELECTONTABLEsc,UPDATEONTABLEsc(grade)TO

userl

27.E-R模型转换成关系模型是在数据库设计阶段中的()阶段。

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

28.逻辑设计主要是把概念模式转换成()

A.DBMS能处理的模式B.与DBMS无关的模式C.层次结构模型D.子

模式

29.若让元素1,2,3依次进栈,则出栈次序不可能出现哪一种情况?

A.3,2,1B.2,1,3C,3,1,2D,1,3,2

30.能够对PowerDesigner中所有模型信息只读访问的模块是()。

A.A.ProcessAnalyst

B.DataArchitect

C.Viewer

D.WarehouseArchitecture

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

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

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

组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数

且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此

条件的个数ent并把这些四位数按从小到大的顺序存入数组b中,最后

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

Out.dat文件中。

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

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

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

和写函数writeDat的内容。

1i■include<stdio.h>

2;»defineMAX200

3jinta[MAX],b[MAX)9ent«0;

4;voidwriteDat();

5!voidjsValO

6;(

7!

81)

j/*readDAt()从数京文件in.dM中法取200个四位数存入数姐・中♦/

9JvoidreadDat()

10j(

11;inti;

12!FILE-fp;

13ifp-fopen(Rin.dat","r");

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

15!fscanf(fp,&a(i));

16ifclose(fp);

175)

18jvoidmain。

19J(

20,int1;

21!readDat();

22jsValO;〃调用j5Vm曲数,实现眩目■求的功能

23-printf("满足条件的数=Sd\rT,ent);

24•for(i-0;i<ent;i++)

25;printf(0%d3b(il);

26!printf;

27jwriteDat();

28;\

•,•嗑敏writcDutO无结果cm以及数组b中符合条件的四口散・出到outdat文科中•/

29;voidwriteDat()

30;(

31!FILErp;

32;inti;

33jfp-fopen(-out.dat",Ww");

34»fprintf(fp#ent);

35;for(1=0;i<ent;i+4)

36,fprintf(fp,b[11);

37ifclose(fp);

38

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

注废:部分源程序存在lestx文件中.

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

请勿改动数据文件m.dat中的任何数据、主函数mainO、读函数rcadDatO和写函数writuDaK)的内乱

1.1include<stdio.h>

2|IdefineMAX200

3jintaIMAX】.ent-0;

4;voidjsValO

5!|

6।

7!)

8!voidreadDat()〃从xn・dat文件中读取200个四位数存入1H0a,中

92(

10•int1;

11•FILE*fp;

12;fp•fopen("In.dat*"#

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

14;fscanf(tpr6a(1]);

15-fclose(fp);

16;十

17;writeDat()〃星计算站累cat以及4Hnb中符合条件的冈付数・出到ouufaa文件中

18j(

19•FILEefD;-

voidmain()

28

29mt1:

30readDat();

31jsVal();〃调阳的敝加me宝现&U要求的功能

32printf("满足条件的SUd\n”.nt);

33for(1-0;1<ent;1♦*)

34printf<7d”,b[i!);

35printf(H\nM);

36writeDat();

37!)

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如位置012345678

源字符串abcdhgfe

123498765

则处理后字符串hgfcdcba

876594321

注意:部分源程序存在9st.c文件中.

请勿改动敷据文件in.dat中的任柯数据、主函数main()、读函数gWEM)和号的数*FteDaU)的内容.

1•flnclude<stdio.h>

2jfinclude<string.h>

3;charxx120)(801;

4;voidreadDat();

5!voidwriteDat();

6।voidjsSort()

7八

8!

9!)

10!voidmain()

皿!<

12ireadDat();

13:jsSortO;

14;writeDat("

15;>

i”从文件uuta中读取20竹家犯存放到字箝率酸组«中•/

16;voidreadDat()

18•FILE*in;

19-inti•0;

20!char*p;

wn

21;in«fopen(in.date”L);

22•whiled<20“fgetsfxxfi],80,in)!-NULL)

23•(

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

25jif(p)*p•0;

26;…;

27j)

28:fclose(in);

29;)

;/•纪贴果XX*出到文件OUUta中♦/

30•voidwriteDat<)

31;{

32jFILE*out;

33;Int1;

34|out-fopen(*out.dat",;

35!for(i-0;1<20;i♦甘

36i1

37-printfCtaNn",xx[i]);

38jfprintf(out,”八小.xx[iJ);

39;)

40;fclose(out);

41i}

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

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

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

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

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

注意:施分源程序存在tesLc文件中.

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

1♦include<stdio.h>〃inciuaig句说明各悭序中包含2.0中的标准■人■出理术数Mdio.h

2;voidreadwriteDAT();/7曲敷re«d>*nieDAT0ift明请句

3;intis?(intm)数m邦新m是否为素数,如果是K数则返回i,否则返回o

4(

5;lot1;〃定义变量1

6for(i-2;i<m;〃殳■i从2依次域增到施■1

7;if(m%1«0)return0;〃如果m快被iQ除,返回o

8\return1;〃杏财也回1

9)

10;voidnum(intm,intk.intxx(])

11;

12!

13;

14•main()

15I(

16•intm,n,xx(1000);〃定义变量m,nxxtlOOO]

171printf(,AnPleaseentertwointegers:0);

18\

scanf(-%dr%d-r&m,&n);〃从读入四个败代妗受侵m,n

19»num(mrn,xx);〃■网域熟muntintmmtk.mf»4D实现将大于Wtm且*Xm的k个Mt”入敷ft1*x

20ifor(m-0;m<n;m++)〃变量0从。依次增增到n-1

21•printf("%d”,xx(m]);〃•出数蛆元腐

22:printf("\nw);〃♦出一个回车换行将

23•readwriteDATO;//■用曲ftZwritcDATOie结果•出到om.dai文件中

24;)

25\voidreadwriteDATO//也数r“dwrtteMT(i的定义密句

26j<

27\

intm.ntxx(1000),i;〃定义MP变■s.n,t卬数组xxIlOCiO】

28;FILETfr*wf;〃定义文件指计安■4,wf

29jrf-fopen(-in.daf,"");〃以只&的方式的打开文件in.Mt,并用rf摘向这个文件

30iwf-fopen<wout.daf,、”);〃以只写的方式的打开文件。ut.daj并网wf幅向这个文件

31\ford-0;i<10;1**)〃餐耳变量L从。依次蜂端到9

32!(

33|fscanf(rf,w%d%dR,&m,&n);〃从文件in由读入唐个数值味冷m.n

34nure(mrnrxx);〃■用■数射0tnum(fn・k.xx(])实现将大于■敢mH窜Bm的k个拿数存入敏蛆u

35;for(m-0;m<n;m*+)〃循环殳■金从。依次埸地到n-1

36!fprintf(wf"%d。xx[m]);〃把故相元*xxlm]写入到文忖ouc.dat中

37;fprintf(wf,w\nw);〃纪回+铁行舒写入到文件SR.AH:中

38\)

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

40।fclose(wf);//关册■出文件cut.da匕

41\

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

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

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

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

出到文件out.dat中。

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

右边部分不变,左边经排序后再与右边部分进行交换。如果原字符串长

度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

例fch位置012345678

源字符率dcbahgfe

432198765

则处理后字符中hgfcabcd

876591234

注意,部分源程序存在testx文件中•

请”改动数据文件id&l中的任何数据、主的数皿0、读讷数readDatO和写函数wriSDatO的内容.

1;Iinclude<stdio.h>

2tinclude<string.h>

•voidreadDat();

4;voidwriteDat();

5!charxx[20][801;

;voidjsSortO

void

readDat();

jsSort();

writeDat();

八从文件in.da*申斌取20打数痣存放=字符中散盥xx中

voidreadDat()

FILEein;

19jint1-0;

20!char*p;

www

21]in-fopen(in.datr*r);

22•while(i<20“fgets(xx[1NUIX)

23\

24;・dtrchr(xx[i),,\n•)

25jf<p>>p■0;

26:

28close(in);

29

/•纪姑果xx♦出现文件outdar中•/

30voidwriteDat()

*E*out;

33iint

wH

34;out-fopen(out.datt,,

35!for(i-0;i<20;1♦,)

36\

37।I

38;

39i1

40jfclose(out);

〃!

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

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

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

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

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

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

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

中。

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

程序中已定义数组IA[200].b(200b已定义安盘ient

请勿改动数据文件in.dai中的任何数据、主函数main。、读的数rcadDat。和写南数writeDaif)的内容,

1jfinclude<stdio.h>

2-IdefineMAX200〃定义宏受■MAX,X僮等于200

3•inta(MAX)fb(MAX),ent-0;〃定义整型散烟a【MAX),b【MAX】和支・ent,阳Hitcm的初值为4

4;voidwriteDat();

5!voidjsVal()

6-I{

10

ILE#fp;

p-fopen(**in.dat"/"r

14or(i-0;1<MAX:

1sfscanf(fp,"W",ia[i|

16close(fp);

17

18

19

21readDat();

22jsVal();〃・用jsVal力函数实观裳掌的功能

23prtntf<・清足条件的数Td'RLent);

24for(i■0;

voidwriteDat()

E•fp;

fopen(wout.datR,"

fprintf(£p^H%d\nw,b(l

fclose(tp);

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

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

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

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

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

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

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

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

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

1;Iinclude<stdio.h>

2iIdefineMAXNUM200

3!intxxIMAXNUMl;

4jinttotNuin'0;〃文件In.dat中共利多少个正♦数

5•inttotCnt•0;〃料合条村的正整敷的个故

6jdoubletotPjz"0.0;//平均值

7jintReadDat(void);

8!voidWriteDat(void);

9jvoidCalValue(void)

10;(

11i

12;I

13-voidmain()

14;|

15!int1;

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

17!xx[i]■0;

18»if(ReadDat())

19j(

20\printf「数据文件fn.dat不能打开!\0。八

21•return;

22j)

23!CalValue();

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

25•printf(”符合条件的正整数的个数=totCnt);

26•printf(”平均值T.21f\n”,totPjz);

27\WriteDat();

281)

i/•读取这并F个正整数并存入触UIxx中•/

29;intReadDat(void)

30!(

31;FILE*fp;

32;inti-0;

33!if((fp»fopenCin.datM,"r">>--NULL)

34।return1;

35•while(!feof(fp))

36•(

37Jfscanf(fp«"Qd."■

38i!)

39jfclose(fp);

40;return0;

41>)

\/・IC计IT结聚存入文件out.dm中•/

421voidWriteDat(void)

43\

44!FILE*fp;

wHH;

45I!fp■fopen("out.dat,w)

R

46;fprintf(fp,%d\n%d\n%.21f\totNutn»totCntttotPjz)

5|fclose(fp);

48:

39.程序test.c的功能是:计算出自然数SIX和NINE满足条件

SIX+SIX+SIX=NINE+NINE的个数ent,以及满足此条件的所有SIX与

NINE的和SUMO请编写函数countValue实现程序的要求,最后main

函数调用函数writeDAT把结果ent和sum,输出到文件Out.dat中。

其中的S,I,X,N,E各代表一个十进制数字,允许代表的数字相同,

但s和N不能为0。例如:944+944+944=1416+1416注意:部分源程序

存放在test.c文件中。

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

Iinclude<stdio.h>

intent,sum;

voidwriteDAT();

voidcountvalue()

voidmain()

(

ent-sum*0;

countvalue();

12printf「满足条件的个数”d\n".ent);

13printf("满足条件所有的SIX与NINE的和Td\n”,sum);

14writeDATO;

15I

把怯果cm和win■出*文件outdii中•/

16voidwriteDAT()

17

18FILE-fp;

19fp・fopen(wout♦datw,"ww);〃以只写的方式打开文件out.dau

20fprintf(fp,,♦id\n%d\nw,ent,sum);〃把精果cm用sum♦出到文件川㈤中

21fclose(fp);〃关闭文件out&i

22

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中已定义数组:M200].b(200],巳定义变lbent

请卦改动数据文件in.dat中的任何数据、上点数mam(h读的数readDatO和写函数writeDatO的内容・

1;*include<stdlo.h>

2\IdefineMAX200

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

4;voidwriteDat();

5jvoidjsVal()

8!J

9;voidreadDat()〃从in.dat文件“以取200个四位假存入数组a中

10;(

11•int1;

12;FILETp;

RwR

13•fp■fopen(in.datrr*);

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

15;fscant(fp,”d",sail”;

16!fclose(fp);

17i)

18;voidmain()

readDat();

isVal();〃0用南敛swa1八,也现■目要哀的功疑

23printf「满足条件的敷ent);

24for(i-0;1<ent;

25printf(w%db(i]);

26printf(w\n**);

27writeDat();

28)

29voidwriteDat()〃把计算站票h以及敬Iflb中行合条件的网位依■出巽wdu文件中

30(

31FILEwfp;

32int1;

MW

33fp-fopen("out.datrw**>;

34fprintf(fp/ent);

35for(i-0;1<ent;

36fprintf(fp,b[i]);

37fclose(fp);

36

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

41.设某全国性的运输企业建立了大型OLTP系统,并在该系统之上建立

了数据仓库。OLTP系统和数据仓库中有如下数据表:运输明细表(运输

单ID,发送站ID,终到站ID,货物ID,货物重量,运输价格,发货日

期)汇总表1(发送站ID,终到站ID,货物ID,发货日期,总重,总

运价)汇总表2(发送站ID,终到地区ID,货物ID,发货日期,总重,

总运价)汇总表3(发送站ID,终到站ID,货物ID,发货月份,总重,

总运价)汇总表4(发送地区ID,终到地区ID,货物类别ID,发货日

期,总重,总运价)该企业管理的货运站约有100个,货物约有500种

共10类,各汇总表都建有主码,且各表有合理的维护策略,在每次维护

后数据能保持一致。设有视图V,该视图的访问频率很高,其查询结果

模式为(发送地区ID,终到站ID,发货月份,总重,总运价),该视图

现以汇总表1为计算数据源。经监控发现,汇总表1的被访问频率过高,

导致系统整体性能下降,而其它汇总表被访问频率较低。在不增加汇总

表和索引的情况下,请给出一个改善系统服务性能的优化方案,并简要

说明理由。(10分)

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

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

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

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

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

(4分)

六、单选题[1分K2题)

43.下列有关数据库系统及相关内容的说法中,错误的是()。

A.数据库系统是由计算机软硬件组成的复杂系统,其体系结构与系统硬

件平台密切相关。

B.数据库管理系统提供了查询、插入、删除、更新等通用数据操作,但

没有提供各种面向具体应用领域的业务处理。

C.数据库中的数据是按照一定的数据模型组织和存储的、可供多个用户

共享的、具有最小冗余度的相关数据集合。

D.数据字典记录数据库系统运行时数据库操作情况的日志信息,通常由

数据库管理员管理和维护。

44.在某信息管理系统中需管理职工的照片信息,由于照片数据量较大,

照片信息是否存储在数据库中成为讨论的焦点问题。下列关于照片存储

与使用的说法,错误的是()o

A.将照片存储在数据库中可能会导致备份时间较长,备份空间占用较多

B.将照片存储在文件系统中,在数据库中只存储照片文件的路径信息,

可以大幅度降低数据库的数据量

C.将照片存储在数据库中虽然会导致数据库的数据量较大,但可以方便

地实现多台机器共享照片数据,也可以大幅度提高用户访问照片数据的

速度

D.与将照片存储在文件系统中相比,将照片存储在数据库中更容易实现

人员信息和照片数据的一致性

参考答案

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

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

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

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

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

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

3.C解析:中断源一般可分为两类:强迫性中断和自愿性中断。强迫性

中断包括输入/输出中断、硬件故障中断、时钟中断、控制台中断和程序

性中断。A和D属于其中的输入/输出中断;B属于硬件故障中断。时

间片到时属于自愿性中断。

4.A解析:进程调度中使用优先级调度法时又可把算法分为两种方式:

可剥夺方式和不可剥夺方式。使用可剥夺方式时,系统把处理机分配给

优先级最高的进程。一旦系统中出现了另一个优先级更高的进程,调度

程序将停止正在运行的进程,把处理机CPU分配给新出现的优先级更

高的进程。

5.C解析:本题考查操作系统安全方法中的隔离。选项A物理隔离是使

不同安全要求的进程使用不同的物理实体;选项B时间隔离是使不同的

进程在不同的时间运行:选项D密码隔离是指进程以其他进程不了解

的方式隐藏数据和计算。以上三项都属于隔离措施,而选项C分层隔离

是实现操作系统安全的另一种方法,是从分层方面考虑的,不是隔离措

施,故选项C为答案。

6.B解析:快速排序、起泡排序、简单选择排序的最坏排序时间是0(哨,

故A),C),D)选项正确;堆排序最坏排序时间是O(nlog2n),故B)选项

7.D解析:三级模式结构并不是数据库惟一的一种分级模式,所以A不

正确;内模式/概念模式映像为数据的物理独立性提供支持,外模式/概

念模式映像为数据的逻辑独立性提供支持,所以B不正确;外模式是用

户观念下的数据结构的逻辑描述,在数据库中某个用户一般只会刚到概

念模式中的一部分记录集,因此,外模式是概念模式的一个逻辑子集,

外模式允许某些描述与概念模式不同,所以D正确。

8.D解析:访问控制服务是用于控制与限定网络用户对主机、应用、数

据和网络服务的访问权限。常用的访问控制服务是通过对用户的身份确

认与访问权限设置来确定用户身份,以及主机、应用、数据或服务访问

类型的合法性。更高安全级别的访问控制,可以通过用户口令的加密存

储与传输、以及使用一次性口令、智能卡、个人特殊性标志等方法提高

身份认证的可靠性。对照本题的4个选项可知,正确答案为D(保护键)。

9.C解析:数据的逻辑结构是数据间关系的描述,只抽象地反映数据元

素间的逻辑关系而不管其在计算机中的存储方式,数据的逻辑结构分为

线性结构和非线性结构。从上面的叙述可知选项C所述内容与数据的逻

辑结构特性不符。

10.D解析:要查询选修,计算机,课的全体女学生姓名,要涉及到3个表,所

以首先要确定这3个表的连接条件:S.S#=SC.S#ANDC.C#=SC.C#,然后

再写出SEX=,女,ANDCNAME㈢计算机,。

11.共享锁或S锁共享锁或S锁解析:给数据项加锁的方式有多种。最

基本的两种是:

①共享锁如果事务T获得了数据项Q上的共享型锁(记为S),则T可读

Q但不能写Q。

②排他锁如果事务T获得了数据项Q上的排他型锁(记为X),则T既可

读Q又可写Q。

12.日志日志

13.进程【解析】UNIX的系统结构可分为两大部分,一部分是操作系

统的内核,另一部分是系统的外壳。内核部分由文件子系统和进程控制

子系统组成;外壳由Shell解释程序、支持程序设计的各种语言、编译

程序和解释程序、实用程序和系统调用接口等组成。

14.可用性可用性解析:计算机系统安全有以下三个方面:秘密性、完

备性和可用性。秘密性是指系统资源只允许授权的用户进行操作;完备

性是指系统资源只允许合法的用户进行修改;可用性是指合法的用户可

以随时使用全部系统资源。

15.不相交条件不相交条件解析:分布式数据库中的数据分片是通过关

系代数的基本运算实现的,数据分片的主要方法有3种:水平分片、垂

直分片和混合型分片。在定义各种分片时必须遵守3个条件,即完备性

条件、重构条件和不相交条件。

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

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

才可以对分片进行重组。

17.顺序结构文件系统建立一张空闲块表,该表记录了全部空闲的物理模

块,适合于文件物理结构为顺序结构的文件系统

18.标识信息【解析】一旦CA验证了实体的身份,就产生一个证书,

将这个公共密钥和身份进行绑定。证书中包括公共密钥和密钥所有者的

全球惟一的标识信息。这个证书由认证中心进行数字签名。

19.关键码值关键码值

20.候选码候选码

21.C

22.A

23.A

24.B

25.D

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

语句的一般格式为:

GRANT<权限>[,<权限>]…

[ON<对象类型><对象名>儿〈对象名〉]...

TO〈用户>[,(用户>]…

[WITHGRANTOPTION]

所以正确的是选项A)。

27.B

28.A

29.C解析:栈是限制仅在表的一端进行插入和删除运算的线性表,通常

称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。当表中

没有元素时称为空栈。

根据上述定义,每次删除(退栈)的总是当前栈中“最新”的元素,即最后

插入(进栈)的元素,而最先插入的是被放在栈的底部,要到最后才能删

除。根据上述原理,C)3,1,2,既然先出栈的是3,说明1,2已经进栈,

那么1不可能在2之前出栈。

30.B

【答案】B

【解析】DataArchitect是可以对PowerDesigner中所有模型信息进行

访问的只读模块。

31.\n【审题关键句】大于后连续5个数,奇数,从小到大排序。

\n【解题思路】本题类似第35套试题,通过审题可以发现主要有两个不

同点:①判断数值为奇数,可通过a[i]%2进行判断,参考答案的第4条

语句;②要求进行比较的元素大于后连续5个数,因此在设置判断条件

时,作为比较的两个数之间应该是大于关系,参考答案的第4条语句。

\n【参考答案】

\n

\n

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

序。

\n【解题思路】

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

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

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

位数的偶数的判断及整除判断,参考答案的第10条语句。注意,两个

整除关系表达式要用或运算符(II)连接,且用括号括起来先进行整除运算

(因为或运算级别比与运算级别低,因此要括起来),再与奇偶性判断表

达式进行与()运算。

W【参考答案】

\n

\n

\n

33.\n【审题关键句】以行为单位从字符串左边部分降序排序,排序后左

边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字

符不参加处理。

\n【解题思路】

⑦①定义循环变量i、j、k和整型变量len、po

W②第一层for循环中,循环变量i从0开始,依次递增直到其值等于

20,实现对20行数据的逐行处理。在循环体中,对于i行首先调用函数

strlen(xx[i])求得第i行字符串的长度,并把其值赋给变量len,再用len

除以2,得到第i行字符串长度的一半,赋给变量P。在第二层for循环

中,循环变量J从。开始,依次递过来增直到其值等于(P-1),在第三层

for循环中,循环变量k从J+1开始,依次递过来增直到其值等于P,比

较字符xx[i][j]ASCII码值与xx[i][k]ASCII码值的大小,如果字符xx[i]

啪的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换实现对第

i行字符串左半部分的字符串按降序排列。

\n③用变量len的值对2求余数,如果余数为1,则调用函数字符串拷贝

函数strcpy,把从字符串xx[i]+P+l开始直到字符串xx[i]的结尾的子字

符拷贝到字符串变量str中,再调用字符串连接函数stmcat把字符串xx[i]

的中间字符连接到字符串变量str的后面,再调用字符串连接函数stmcat

把字符串xx[i]的左半部分的子字符串连接到变量str的后面;如果余数

不等于1,则调用字符串拷贝函数strcpy,把从字符串xx[i]+P开始直到

字符串xx[i]的结尾的子字符拷贝到字符串变量str中,再调用字符串连

接函数stmcat把字符串xx[i]的左半部分的子字符串连接到变量str的后

面,实现字符串xx[i]左右部分子字符串的交换。

W④调用字符串拷贝函数strcpy,把字符串变量str的值拷贝到字符串

xx[i],实现把排序后的结果仍按行重新存入字符串数组XX中。

W【参考答案】

\n

\n

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

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

\n【解题思路】

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

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

\n【参考答案】

\n

\n

35.【审题关键句】将大于整数m且紧靠m的k个素数存入数组。

\n【解题思路】

W①首先定义一个计数变量ent并赋初值为0o

W②利用while循环统计大于整数m且紧靠m的k个素数,当计数变量

ent的值与变量k的值相等的时候,则退出while循环。每执行一次循环

时,变量m的值加1,然后调用函数isP判断当前的m值是否为素数,

如果是素数,贝U将m的值赋给数组xx[cnt],同时计算变量ent的值加

1,即当数组xx[O]中保存了一个素数之后,在T一次素数判断成立时将

保存到XX[1]的位置上,依次类推。

W【参考答案】

\n

\n

36.\n[审题关键句】以行为单位从字符串左边部分升序排序,排序后左

边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字

符不参加处理。

\n【解题思路】

\n本题类似第77套试题,通过审题可以发现主要是对字符串左边部分

排序时所采用的排序方式不同,参考答案的第11行,修改if条件语句

的设置即可。

W【参考答案】

\n

\n

37.\n【审题

温馨提示

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

评论

0/150

提交评论