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

下载本文档

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

文档简介

[2021年】广东省汕尾市全国计算机等级

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

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

一、1.选择题(10题)

i.允许多个程序同时进入内存并运行的是

A.程序并发执行B.多道程序设计C.程序的顺序执行D.时间片轮转

2.在数据库中,产生数据不一致的根本原因是()。

A.数据存储量太大B.数据冗余C.未对数据进行完整性控制D.没有严

格保护数据

3.在下列哪种内存管理方式下不会出现抖动现象?()

A.静态分区管B.请求分页管C.请求分段管D.段页式管理

4.操作系统具有进程管理、存储管理、文件管理和设备管理的功能,在

以下有关的描述中,哪一个是错误的?()

A.进程管理主要是对程序进行管理

B.存储管理主要管理内存资源

C文件管理可以有效地支持对文件的操作,解决文件共享、保密和保护

问题

D.设备管理是指计算机系统中除了CPU和内存以外的所有输入、输出

设备的管理

5.在中断处理中,输入输出中断是指

A.设备出错B.数据传输结束C.设备出错和数据传输结束D.都不是

6.Oracle目前可以存储极大的对象,这是因为它弓I入了4种新数据类型,

其中一种大对象数据类型在数据库中只存储它的目录名,它是:

A.CLOBB.BLOBC.BFILED.NCLOB

7.如下是一个稀疏矩阵的三元组法存储表示和相关的叙述正确的是

行下标列下标值

125

132

279

356

361

46-1

543

A.该稀疏矩阵有8列B.该稀疏矩阵有7列C.该稀疏矩阵有9个非。元

素D.该稀疏矩阵的第3行第6列的值为0

8.PowerBuilder中的PowerScript.语言包括下述哪些语句?

I,变量定义语句

II.赋值语句

III.流控制语句

IV.操纵数据库语句

A.仅I、n和inB.仅I、HI和WC.仅I、n和IVD.都是

9.根据关系数据库规范化理论,关系数据库中的关系要满足第一范式,

下面“部门”关系中,使它不满足第一范式的属性是。

A.部门总经理B.部门成员C.部门名D.部门号

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

能是______O

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

二、填空题(10题)

11.多个事务在某个调度下的执行是正确的,是能保证数据库一致性的,

当且仅当该调度是______O

12.数据库管理系统提供数据库操纵语言及它的翻译程序,实现对数据

库数据的操作,包括删除、更新和插入。

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

14.SQLSERVER2000与COMMERCESERVER2000集成,支持完整

的点击流和数据分析。

15.用二维表结构表示实体以及实体间联系的数据模型称为数据

模型。

16.一个功能完备的网络系统应该提供一些基本的安全服务功能,这些

功能包括保密性数据完整性、防抵赖和访问控制。

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

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

18.IP服务的3个主要特点是__________面向非连接和尽最大努力投

递服务。

19.及时响应是_口_和实践操作系统的特征

20.算法的时间复杂性是指该算法包含_口_的多少,它是一个算法运行

时间的相对度量,•一个算法的空间复杂性是指该算法在运行过程中临时

占用的【】的大小。

三、单选题(10题)

21.PowerBuilder具有的功能特点包括()。

I.提供了良好的跨平台性

II.具有自己的编程语言PowerScript

HI.是一种面向对象的开发工具

IV.事件驱动的程序设计方式

A.I和nB.I和HIC.II、HI和WD.全都是

22.在SQLServer2008中,设有商品表(商品号,商品名,生产日期,单

价,类别)。现经常需要执行下列查询:SELECT商品号,商品名,

单价FROM商品表WHERE类别IN。食品7家电,)

ORDERBY商品号现需要在商品表上建立合适的索引来提高该

查询的执行效率。下列建立索弓I的语句,最合适的是()o

A.CREATEINDEXIdxlON商品表(类别)

B.CREATEINDEXIdxlON商品表(商品号,商品名,单价)

C.CREATEINDEXIdxlON商品表(类别,商品号,INCLUDE(商品名,单

价)

D.CREATEINDEXIdxlON商品表(商品号,INCLUDE(商品名,单

价,WHERE类别=食品'OR类别廿家电’

23.Aarr和Barr两个数组说明如下:VARAarr:Array[0...7]ofchar;

Barr:Array[-5...2,3...8]ofchar;这两个数组分别能存放的字符的最

大个数是()

A.7和35B.1和5C.8和48D.1和6

24.下面关于关系的性质描述正确的是

A.每列中的分量可以来自不同的域

B.一个关系中可以有相同的元组

C.每一个分量必须是不可分的数据项

D.不同列的分量必须来自相同的域

25.SQLServer2008系统数据库MASTER的主要功能是

A.控制用户数据库和SQLServer的整体运行

B.为创建新的用户数据库提供模板或原型

C为临时表或其他临时工作区提供存储区域

D.为调度信息和作业历史提供存储区域

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

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

27.在关系数据库设计中,设计关系模式是()的任务。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段

28.在关系中选取满足某个条件的元组的关系代数运算称之为()

A.选中运算B.选择运算C.投影运算D.搜索运算

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

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

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

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

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

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

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

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

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

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

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

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

出到文件out.dat中。

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

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

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

例蛇位置012345678

源字符巾dcbahgfe

432198765

则处理后字符申hgfcabcd

876591234

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

请勿改动数据文件ndai中的任何数据、主的数main。.读编数rcadDttO和写函数疝馆。皿)的内容.

*include<stdio.h>

*include<strlng.h>

3voidreadDat();

4voidwriteDat();

5Charxx(20][80);

6voidjsSort()

7

8

9

10voidmain()

11(

12readDat0;

13jsSort();

writeDat();

)

/♦从文件申金取20打数依存放*字/即故tau中♦/

16voidreadDat()

17(

18FILEein;

19int1-0;

20charep;

21in■fopen(win.datw,"rw);

22whiled<20“fgets(xx[l),80,in)!-NULL)

23(

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

25if(p)-0;

26

27

28fclose(in);

29)

/•纪皓果XX■出到文件outat中•/

30voidwriteDat0

31(

32FILE•out;

33int1;

34out-fopen(*out.datw,*wn);

35for(l-0;i<20;

36(

37prlntfxx(l]);

38fprintf(out/xx[1));

39

40fclose(out);

41

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

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

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

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

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

请勿改动数据文件m.drn中的任何数据以及I.函数main。和输出函敷readwritcDAT。的内容.

4include<stdio.h>//include遇句说明各卷序中包含vx6.0中的标准■入■出岸术数Mdio.h

voidreadwriteDATO;//咕故reidunteDAro浅叫蠹句

3intrn)〃解数isPIlnim)川新m是否为素数,如果是拿效则返出1,否则返向0

4{

5inti;〃定义交量£

6for(1•2;i<m;1*♦)〃殳H*从2依次逐网到施•】

7if(m%1••0)return0;〃如果m能被i■除,返回o

8return1;Z/谷西版回1

9)

10voidnum(intm,intk.intxx[])

11

12

13

14mainO

15(

16intm,n,xxflOOO);〃定其受量m,nxxllOOO]

17printf(w\nPleaseentertwointegers:");

18scanfGm,&n);〃从谟入两个依Wt给受假m,n

19num(m*n,xx);numtintm.mtk.mtufD实现将大于整数m且北京m的k个素也〃入敷也u

20for(m-0;m<n;m++)〃变从0依次逢4l*nT

21prmtf("%dR.xx(m));〃・出效维元腐xx[。]

22prlntf(w\nw);〃■出一个包车换行树

23readwriteDAT();〃悯用的效ZwritcDATor怙果■出到,血修文件中

24)

25voidreadwriteDAT()//也数r“dwrlxeMT什的定义谡句

26<

27intm,n.xx(1000),i;〃定义段母受■*n,£小数忸xxllOOO]

28FILE•rfe*wf;〃定义文件指廿史wf

29rf-fopen(Rin.dat",*rM);〃骏只佳的方式的打开文件,n・&u,并用rf指向这个文件

30wf-fopen(-out.daf,wwM);〃以只写的方式的打开文件。uu.dat■并明”指向这个文件

31ford-0;i<10;1♦+)〃口可交量幺从。依次建*到9

32(

33fscanf(rf,-%d*<F,&m,&n);〃从文件m&i读入两个数(ft3给nc

34num(mrntxx);〃■用•数南Centimeoi・k・uc(J)实现密大于♦敢mHK靠m的k个拿数存入敷tflxx

35for(m-0;m<n;m*+)〃微环交・段从。依次埸中*n-l

36fprintf(wf,"id"■xx[ml);〃把数ifl元席“【0当入到文flout.dau中

37fprintf(wfr“\n”);〃纪柯索犊打栉写入则文件out.dat中

38)

39fclose(rf);〃关闭■入文件ic.st

40fclose(wf);〃关册■出文件。时.dat

41

33.将文件in.dat中的200个整数读至数组XX中。请编制jsValue函

数,要求:求出数组XX中的数值为奇数的个数cntl和数值为偶数的个

数cm2以及数组XX下标为奇数的元素值的算术平均值pjo

结果cntl,cnt2,pj输出到out.dat中。注意:部分源程序存在test.c

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

数read_dat和输出函数writeDat的内容。

Iinclude<stdio.h>

•defineN200

3Intcntl,cnt2rxx[N];

4floatpj;//平均值

5voidwriteDatO;

6voidjsValue()

7

6

9

/•(Int)嫉敷将文件ituta中的NX)个■敷设至故fll5中•/

10voidread_dat(intxx(N))

11(

12intlrj;

13FILEefp;

wH

14fp■fopen(in.dat,**r");

15for(1•0;i<20;

16(

17for(j•0;j<10;[♦♦)

18

19fscant(fp,Fd,;〃从文件mdai中it取一个■效〃入敷蜷元素中

20printf("td",xx[iw10*j]);

22printf(8\n");

23}

24fclose(fp);

25)

26voidmainO

27

28read_dat(xx);

29;jsValue();

30?printf(w\n\ncntl-%dcnt2«td,p0-^6.2f\nwcntl/cnt2pj);

।,/r

31;writeDatO;

32;)

J/•将计*给果El・cm2.讨■出网ouLdai中•/

33ivoidwriteDat()

3“I

35IFILE*fw;

36jfw•fopen("out.dat*\Www);

w》写入到中

37!fprintf(fw,"%d\n%d\n%6.2f\nr8t2,pj);〃cml,emitoutdat

38ifclose(fw);

39\)

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

串数组XX中,请编制函数ConvertCharA,其函数的功能是:以行为单

位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母

z,则改写成字母a,大写字母和其他字符保持不变。把已处理的字符串

仍按行重新存入字符串数组XX中。最后main函数凋用函数WriteDat

把结果XX输出到文件Out.dat中。

例,朦文]Adb.Bcdzi

abck.LLhj

结果:Acc.Bdcab

hrdlfrik

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

注意।部分源程序存放在test.c文件中.

请匆改动主函数main。、读函数RedDai。和■出喻数WriteDatO的内容.

1.•include<stdio,h>

2;tincludeOtting.h>

3;charxx[50][80];

4jintmaxline,0;/•文量的总h数•/

5jintReadDat(void);

6"voidWriteDat(void);

7;voidConvertCharA(void)

8

9

10

11|voidmain()

12!I

13•if(ReadDat())

14;•

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

16return;

17i)

18ConvertCharA(>;

19jWrltoDat();

20JJ

从文件中it取一■[英文文章存入费I字将率依笆u中〃

21;intReadDat(void)

22!(

23;FILE#fp;

24[inti-0;

25ichar*p;

26Jif((fp-fopen("in.daf,HrR))-NULL)

27return1;

28;while(fgeta(xx(i]#80ffp)!-NULL)

29>(

30p-strchr(xx[i]9W

31if(p)*p-0;

32

33:\

34»maxline-i;

35•fclose(fp);

36•return0;

37iI

!/・1E姑果u・出川文仆out&t中•/

38;voidWriteDat(void)

39!(

40iFILE.fp;

41•int1;

w

42•fp-fopen(*out.datr*w**);

43;ford-0;i<maxline;

44(

ww

45printf(%s\nrxx(i]);

46fprintf(fp,*%s\n*rxx(i]);

471\

48!fclose(fp);

49

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

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

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

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

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

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

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

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

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

fincludeotdio»h>

2•defineMAXNUM200

3intxx[MAXNUM);

4inttotNum•0;〃文件lc.dat中共利多少个正整故

5inttotCnt■0;〃符合条件的正■敷的个欧

6doubletotPjz-0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13;voidmain()

14

15int1;

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

17xx(1J・0;

18if(ReadDatO)

19(

20printfLift据文件ln.dat不能打开!\00八n"*"

21return;

22)

23CalValue();

24printf文件ln.dat中共有正整数・4d个totNum);

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

26printf「平均值totPjz);

27WriteDat();

28)

,•读取这著F个正整数并岑入敏然xi中•/

29intReadDat(void)

30(

31FILE*fp;

32inti-0;

33if((fp-fopen("in.daf,*rM))-NULL)

34return1;

35while(!feof(fp))

36(

37fscanf(fp,"Qd.",&xx[11♦+”;

38)

39fclose(fp);

40return0;

41]

,•相计算贴聚并入文件。a,cUt中•/

42voidWriteDat(void)

43(

44FILEefp;

45fp■fopen("out.dat*/”w");

w

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

47fclose(fp>;

48

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

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

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

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

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

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

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

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

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

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

进行处理。

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

*include<stdio.h>

2tinclude<string.h>

3■include<ctype.h>

4unsignedcharxx(50]180];

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

请勿改动主函敷mainO、读函数ReadDaH)和泊出的数WritelM)的内容,

IInclude<stdlo.h>

•include<string.h>

3•include<ctype.h>

4unsignedcharxx(50)(801;

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

12voidmainO

13

14if(ReadDat())

15

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

17return;

18

19encryptChar();

20WriteDat();

21

八从文件m.4bt中请取一■英文文章,存入到字料*收机XX中•/

22intReadDat(void)

23

24;FILE«fp;

25jinti-0;

26;unsignedchar*p;

27!www

if((fp-fopen(in.datrr*))-NULL)

281return1;

29;while(fgets(xx(i]r80,fp)!,NULL)

30

31p-strchr(xx[i]r*\n*);

32if(p)*p-0;

33

34J

35maxline«1;

36fclose(fp);

37return0;

38)

八把她JRu-出现文件ouLdM中•/

voidWrileDat(void)

40(

.jFILE*fp;

42;int1;

43jfp■fopen(wout.dat",Hww);

44;for(i*0;i<maxline;,ix)

45:(

46iprintfxx[i]);

47j

fprintf(fp,"%s\nw,xx(i]);

48!)

49;fclose(fp);

voidmain()

13

14if(ReadDat())

15(

16printf<"«[据文件in.dat不能打开!\n\007");

17return;

18

19encryptChar();

20WriteDat();

21)

/•从文件adM中it取一・英文文我.存入弘学料冷敷超xx中•/

22intReadDat(void)

23i

24FILE・£p;

25int1-0;

26unsignedchar*p;

Mww

27if((fp*fopen(in.dat*rr))-NULL)

28return1;

29while(fgets(xx[1],80rfp)!*NULL)

30(

31p■strchr(xx(l)9•\n•);

32if(p)*p-0;

33i+储

34I

35maxline*1;

36fclose(fp);

37return0;

38I

/•杷州-出N文件outdat中•/

39voidWriteDat(void)

40(

41FILE*fp;

42inti;

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

44for(i•0;i<maxline;1+♦)

45(

Mw

46printf(%s\ntxx[i]);

47fprintf(fpr*%s\n*rxx[1]);

48)

49fclose(fp);

50

37.

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

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

字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,

则改写成字母Z,其他字符保持不变。把已处理的字符串仍按行重新存

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

到文件out.dat中。例:原文:Adb.Bcdza

abck.LLhj结果:Aca.Bbcyzzabj.LLgi原始数据文件存放的格式是:

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

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

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

1­•include<stdio.h>

2•iincludc<string.h>

3;charxx[50)1801i

intmaxiIne•0;/•文审的总行ft•/

intReadDat(void);

voidWrlteDat(void);

八口行为♦包把字符小中的所的小耳?理小耳*“字图的上f字理,如黑金字母Md(写t字理a.M他7投保特不受•/

7jvoidConvertCharD(void)

81

9•

io:

11«voidmainO

12;I

13!if(ReadDat())

14;(

15!printf广数据文件in.dat不能IT开!\n\007t,);

16\return;

17\

18jConvertCharD(>;

19;WriteDat();

20j)

/•从文介皿。中博以・英文文•存入制字符充教出XX中•/

21!intReodDAt(void)

22!(

23;FILE*fp;

24;int1*0;

25;char*p;

26•i£(《fp-foperH.in,daL•-r"))-NULL)

27]return1;

28•while(fgets(xx[ij9804fp)!•NULL)

29;(

30!p■strcbr(xx(i]9•\n*>;

31iif(p)*p-0;

32j

33;)

34\tnaxllne,1;

35?fclose(£p);

36jreturn0;

37!)

/・£格果RX■出*文flOULdH申•/

38jvoidWriteDat(void)

39:(

40jFILE・£pj

<11int1;

42•fp-fopen(*out.dat*r

43!for(1•0;i<naxllne;

44;(

45!printf("ts\n"rxxf1));

46\

fprintf(fptxx[11);

47j>

48!fcloae(fp);

49;

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中巳定义数织:U200].b(200].巳定义变量:ent

请勿改动数据文竹m.&rt中的任何数蛔、主的数mtunO、it的数eadDatO和后曲数writeDaiO的内容.

I

1;Iinclude<stdio.h>

2!tdefineMAX200

3!inta[MAXJ,b[MAX],ent-0;

4;voidjsVal()

BfvoidreadDatO〃从s.daE文件中虐取200个四位故存入故幽&中

9;(

10•int1;

11•FILE

12;fp-fopent-ln.dafrwr");

13"for(i■0;i<MAX;

14jfscanf(fp,6a(1]);

15;fclose(fp);

16;十

17;writeDat()〃纪计算站果cm以及室蛆b中符合条件的网口敷愉出到<x3文件中

181(

19;FILEefD;

20•int1;

wR

21!fp•fopen(out♦dat/"w**);

22;fprintf(fp,H%d\nr,ent);

23;for(i«0;i<ent;

24\fprintf(fp.wtd\nH,b[l|);

25;fclose(fp);

26\)

27;voidmain()

28;(

29;Inti;

30ireadDatO;

31•jsVal();//调用函数jWai仆赛现AHI曼氽的功能

32!pfintf("满足条件的敷:nt);

331for(1•0;i<ent;

34\printf(7d”,b[i]);

35jprintf("\n");

36|writeDat();

37!|

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例虬位置012345678

源字符申abcdhgfe

123498765

则处理后字符串hgfedcba

876594321

注意:部分源程序存在g.c文件中・

请勿改动数据文件in.dat中的任何数据、主函数皿1")、读话数ZDatO和写函数whteDatO的内容.

1JIinclude<stdio.h>

2*tinclude<string.h>

3;charxx[20]180);

4;voidreadDat();

5!voidwriteDatO;

6ivoidjsSort()

7

8

9

10!voidmainO

;(

11

12•readDat();

13!jsSort();

14jwriteDat(>;

15

j/•从文件1ndM中谴取20打数宛〃放到?朴卑数创«中•/

16voidreadDat0

17

18FILE*in;

19inti•0;

20char*p;

wwww

21in*fopen(in.datrr);

22whiled<20“fgets(xx[ilf80,in)!"NULL)

23

24p-strchr(xxfij9*\n*);

25If(p)*p•0;

26O

27

28fclose(in);

29i]

;/・IE姑IHx♦出到交相out&rt中•/

30•voidwriteDat()

31

32FILEeout;

33int1;

34out-fopenHwM);

35ford■0;1<20;if)

36(

37printf(fs\n”.xx[1]);

r

38fprintf(outr",八n".xxil);

39)

40fclose(out);

41

40.函数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的

内容。

1;finclude<stdio.h>

2!tinclude<string.h>

3j•include<ctype.h>

4•unsignedcharxx(50](80);

5!intmaxline«0;/•文章的总行效•/

i

6;intReadDat(void);

7JvoidWriteDat(void);

8•voidencryptChar()

9

10

11

12•voidmainO

13!(

14;if(ReadDatO)

15i{­

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

17return;

18i»

19jencryptCharO;

20|WriteDat();

21

;,♦从文件m&i中读取一・英文文章.存入更无符号字料申依祖口中〃

22;intReadDat(void)

23!I

24;FILE*fp;

25Jinti-0;

26iunsignedchar*p;

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

28return1;

29\while(fgeta(xx11),80*fp)!•NULL)

30;

31!p-strchr(xx(l],,Xn*);

32;if(p)*p■0;

向if

34)

35;maxline■i;

36!fclose(fp);

371return0;

38JI

八把怖果H■出JM文件OUL&l中”

39j

voidWriteDat(void)

40:(

41!FILE*fp;

42;int1;

43:fp-fopen("out.datw,**wH);

44ifor(i-0;i<maxline;1♦>)

45(

46!0w

printC(%s\nrxx[i]);

47fprintf(fpr7s\n”,xx(ij);

回)

49!fclose(fp);

50;

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

41.设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品

号,销售时间,销售数量,销售单价)。其中,商品号代表一类商品,商

品号、单价、销售数量和销售单价均为整型。请编写查询某年某商品的

销售总毛利的存储过程,毛利=销售数量x(销售单价一单价)。要求商

品号和年份为输入参数,总毛利用输出参数返回。(1。分)

42.设有高校选课系统,需要对学校的系信息、教师信息、课程信息、

学生信息、学生选课信息进行管理。已知系(DEPT)信息包括系编号

(DeptNO)、系名称(DeptName);教师(Teacher)信息包括教师

号(TNO)、教师名(Tname);课程(Course)信息包括课程号

(CNO)>课程名(CName)>课程学分(Credit);学生(Student)

信息包括学号(SNO)、学生姓名(Sname)、学生性别(Sex)。选

课系统的管理规则如下:I.一个系可聘用多名教师,一个教师只受

聘于一个系;II.一个系可有多名学生,一个学生只属于一个系;

III.一名教师可讲授多门课程,一门课程可由多名教师讲授;IV.一

名学生可选修多门课程,一门课程可被多名学生选修;V.学生选修完

课程后,可获得相应课程的成绩。针对以上描述,完成下列设计内

容:(1)构建选修课系统的ER图。(要求图中的实体集名用试卷中

给出的英文名,联系所关联的实体集名的首字母,字母问用‘'一''或

连接,大小写不限)。(6分)(2)根据所构建的ER图,设计满足

3NF的关系模式,并标出每个关系模式的主码和外码。(要求关系模

式名同实体集名或联系名,属性名用试卷中给出的英文名,大小写不

限)(4分)

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

43.在某并行数据库中,有关系R(A,B)和S(B,C),其中R包含

1000000行数据,S包含100行数据。现有查询SELECT*=FROMR,S

WHERER.A>;S.Bo下列数据划分方式中,对该查询速度最快的是

()o

A.将R按照A属性进行散列划分,将S按照B属性进行散列划分

B.将R按照A属性进行范围划分,将S按照B属性进行范围划分

C.将R按照A属性进行范围划分,将S复制到各个节点

D.将R按照A属性进行散列划分,将s复制到各个节点

44.数据库管理员是数据库的主要维护者,设有如下针对数据库的工作:

I.数据库的转储和恢复H.数据库的安全性、完整性控制III.数据库

性能的监控分析和改进W.数据库的重组和重构以上工作属于数据库管

理员职责的是()o

A.仅I和IIB.仅I和mC.仅II和WD.I、n、III和IV

参考答案

1.B解析:程序并发执行是指两个或两个以上程序在计算机系统中处于

已开始执行且尚未结束的状态。多道程序设计就是允许多个程序同时进

入内存并运行。注意:多道程序设计的方法是允许多个程序同时进入内

存并运行的,故B)正确;而程序并发执行和此问题不相关,程序的顺序

执行和时间片轮转都不允许,多个程序同时进入内存并运行,故A),C),

D)选项错误。掌握程序的顺序执行的特点,以及顺序执行和并发执行的

区别。

2.B解析:一个“不好”的关系数据库模式会存在数据冗余、更新异常(不

一致的危险)、插入异常和删除异常4个问题。其中,更新异常(数据不

一致)问题产生的根本原因就是数据冗余。由于数据冗余,有可能使我们

在一个元组中更改了某属性,而没有更改另一个元组中的同一属性,与

实际情况不符。

3.A解析:在虚拟存储管理系统中,由于淘汰算法不合理或其他原因,

使得可能出现刚被淘汰的数据,又要访问,因而又被调入内存,如此反

复,使系统出现数据的频繁调入调出的现象称为抖动。在静态分区管理

中,不存在数据换入换出的情况,因此不会出现抖动现象。

4.A解析:进程管理主要是对处理器进行管理。存储管理主要管理内存

资源。系统中的信息资源(如程序和数据)是以文件的形式存放在外存储

器(如磁盘、磁带)中的,需要时再把它们装入内存。文件管理的任务是

有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和

保护问题,以使用户方便、安全地访问文件。操作系统一般都提供很强

的文件系统。设备管理是指计算机系统中除了CPU和内存以外的所有

输入、输出设备的管理。所以,A的描述是错误的。

5.C输入输出中断:它是当外部设备或通道操作正常结束或发生错误时

所发生的中断。例如:打印机打印完成、缺纸,读磁盘时相应驱动器中

没有磁盘等。

6.C解析:Oracel目前可以存储极大的对象,例如视频、音频和文档文

本。为此引入了新的数据类型,包括:①BLOB:二进制数据型大对象;

②CLOB:字符数据型大对象;@BFILE:存储在数据库之外的只读型二

进制数据文件;④NCLOB:固定宽度的多字节CLOB。上述除存储在数

据库之外的BFILE类型,其它的大对象类型都与一般数据一同存储在

数据库内。对于BFILE,数据库中只存储它的目录名。

7.B解析:该稀疏矩阵有7歹IJ;该稀疏矩阵有7个非0元素;该稀疏矩

阵的第3行第6列的值为1。

8.D解析:PowerScrip,语言由两部分组成:一是与高级程序设计语言类

似的语句,有变量定义语句、赋值语句和流控制语句等;二是与数据库

的接口语句,嵌套在PowerSctopt中的SQL语句,SQL语句和PowerScript

之间可以互传变量,这类语句主要用于操纵数据库。

9.B解析:关系数据库的第一范式规定:关系中的每一个属性都是不可

分割的。而本关系中,“部门成员”显然包括“部门总经理”,所以它是可

分的。这样就不满足第一范式的条件。

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

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

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

是数据定义。

11.可串行化的或可串行化可串行化的或可串行化解析:本题考察调度

可串行化的概念。

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

执行结果一致,则称该调度为可串行化的调度。可串行化是多个事务并

发执行的正确性准则。所以

温馨提示

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

评论

0/150

提交评论