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

下载本文档

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

文档简介

2021年江西省上饶市全国计算机等级考试

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

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

一、1.选择题(10题)

1.关系数据库规范化是为了解决关系数据库中()问题而引入的。

A.插入、删除和数据冗余B.提高查询速度C.较少数据操作的重复D.

保证数据的完整性

2.PowerDesigner是新一代数据库设计工具,下面是它的四个组成部分,

若要进行数据库概念模式设计,应该选用。

A.ProcessAnalystB.DataArchitectC.MetaworksD.AppModeler

3.下列叙述正确的是

A.如果事务T获得数据项Q的共享锁,则T可读Q但不能写Q

B.如果事务T获得数据项Q的共享锁,则Q可读T但不能写T

C.如果事务T获得数据项Q的排它锁,则T可读Q但不能写Q

D.如果事务T获得数据项Q的排它锁,则Q可读T但不能写T

4.以下有关强迫性中断事件的叙述中,哪一个是错误的?()

A.输入输出中断是来自通道或各种外部设备的中断,用于反映通道或设

备的工作情况

B.硬件故障中断是机器发生错误时产生的中断

C.时钟中断是硬件时钟或软件时钟到时而引起的中断

D.程序性中断是正在运行程序有意识安排而引起的中断

5.在PowerBuilder应用程序中,对数据库数据的操作是通过下列哪一

个对象进行的?

A.DataWindowB.WindowC.ApplicationD.UserObject

6.若事务T对数据R已加X锁,则其他事务对数据R

A.可以加S锁不能加X锁B.不能加S锁可以加X锁C可以加S锁也

可以加K锁D.不可以加任何锁

7.已知成绩关系如下图所示。执行SQL语句:SELECT

COUNT(DISTINCT学号)FROM成绩WHERE分数>60查询结果

学号课程号分数

S1C180

S1C275

S2C1null

S2C255

中包含的元组数目是S3C390

A.lB.2C,3D,4

8.SPOOLing技术是为解决独占设备数量少、速度慢、不能满足众多进

程的要求,而且在进程独占设备期间设备利用率又比较低的问题而提出

的一种设备管理技术,它也是一种

A.虚拟设备技术B.资源分配技术C.人机接口技术D.虚拟存储技术

9.SQL语言中,删除一个表的命令是

A.DELETEB.DROPC.CLEARD.REMOVE

10.关系模型中常用的关系操作包括

I.选择

II.投影

III.连接

IV.查询

V.删除

A.I,II和wB.I,II和mc.I,m和wD.全部

二、填空题(10题)

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

12.在因特网中,屏蔽各个物理网络细节和差异的是_________o

13.地理信息系统的英文缩写是__________o

14.在关系代数中,从两个关系的笛卡儿积中选取它们的属性或属性组

间满足一定条件的元组的操作称为连接。

15.设有关系R(A,B,C)和S(A,D,E,F),若将关系代数表达式:

nR.A,R,R.B,S.D,S.F(R8S)用SQL语言的查询语句表示,则有:

SELECTR,A,B,D,FFROMR,SWHERE【]o

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

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

17.“向emp表增加一个k列,其数据类型为9个字符型”的SQL,语句

是:ALTERTABLEemp。

18.在关系数据模型中,二维表的列称为属性,二维表的行称为o

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

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

20.SQL中的GRANT和REVOKE语句主要用来维护数据的。

三、单选题(10题)

21.下列关于数据库重构的说法中,错误的是________o

A.数据库的重构就是对数据库的逻辑结构作必要的小范围改变

B.当存储空间的分配过于零散,导致存取效率下降,所以必须重构数据

C.数据库重构包括重新设计数据库及其应用程序

D.如果能够重构数据库,尽量不要重新设计数据库及相应的应用程序

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

SQL语句是()。

A.GRANTSELECT,UPDATE(grade)ONTABLEscTOuserl

B.GRANTSELECTsc,UPDATEsc,gradeTOuserl

C.GRANTSELECT,UPDATEONTABLEsC.gradeTOuserl

D.GRANTSELECTONTABLEsc,UPDATEONTABLEsc(grade)TO

userl

23.在数据库的数据模型中有()

A.网状模型、层次模型、关系模型

B.数字型、字母型、日期型

C.数值型、字符型、逻辑型

D.数学模型、概念模型、逻辑模型

24.整个软件生存期中时间最长蹬是()

A.需求分析B.设计C.程序编制D.运行维护

25.在SQLSever中创建用户数据库,其主要数据文件的大小必须大于

__________________________O

A.master数据库的大小B.model数据库的大小C.msdb数据库的大小

D.3MB

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

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

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

27.索引使用原则中不可以为该列建立索引的是:()

A.经常在查询中作为条件被使用的列。

B.频繁进行排序或分组的列。

C一个列的值域很大时。

D.如果待排列的列有多个,选择任意一列。

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

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

29.设计作业调度算法时不需要考虑下列()因素。

A.用户界面友好B.公平性C.均衡使用资源D.吞吐量大

30.在E-R图和数据流图中都使用了方框,下列说法中有错误的是()

A.在E-R图中表示实体B.在E-R图中表示属性C.在数据流图中表示起

点D.在数据流图中表示终点

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

31.在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数

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

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

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

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

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

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

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

和输出函数WriteDat的内容。

linclude<stdio«h>

2■defineMAXNUM200

3intxx[MAXNUM);

inttotNum■0;〃文件xn.dat中共有多少个正整Ik

5inttotCnt-0;〃林A■条件的正“数的个敢

6doubletotPjz»0«0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14(

15inti;

16ford-0;i<MAXNUM;if

17xx(i]•0;

18if(ReadDat())

19

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

21return;

22I

23CalValueO;

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

25printf("符合条件的正整数的个数Nd个\n".totCnt);

26printf(“平均值totPjz);

27writeDat();

28

/•读取这若干个正■效井存人IhaMI中•/

29intBeadDat(void)

30(

31FILEefp;

32inti0:

33if((fp-fopen("in.dat**,wrw))-NULL)

34return1;

35while(!feof(fp))

36(

37fscanf(fp,7d・e.&xx(i+,:r;

38]

39fclose(fp);

40return0;

41

八把计算蛀聚存入文件out.&匕中•/

42voidWriteDat(void)

43(

44FILEafp;

45fp-fopen(wout.datw,"ww);

46fprlntf(£p,totNon,totCnt,totPjz);

47fclose(fp);

48

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

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

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

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

替代关系:)=p*17mod256,mod为取余运算,p是数组)xx中某一个字

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

型变量),如果计算后f(p)值小于等于32或f(p)是奇数时,则该字符不

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

注意,部分源程序存放在lotx文件中.总的数据文件存放的格式般,每行的宽度均小于80个字符.含标点杼号卿空

格,井也按此傅代关系进行处理.

请勿改动主函效mimO、读函数RoidDMl)和■出函散WmeDaiO的内本.

1tinclude<9tdlo.h>

2•Include<strin9.h>

3•include<ctype.h>

4unsignedcharxx[50][80);

5intmaxline■Of/♦文章的总打敏•/

6xntReadDat(void);

7voidWriteDat(void);

evoidencxyptChar0

9(

iounsignedIncval:

11

12

13voidmam()

14(

15if(ReadDat())

16(

17printfLift据文件in,dat不能打开!\n\007w);

18return;

19

20encryptChar();

21WriteDatO;

I

22八从文件ilLdBi中博取一・英文文章.存入到无符号?押申数粗»中•/

23intReadDat(void)

24(

25FILEwfp;

26inti00;

27unsignedchar*p;

28if((fp-fopen「mdaL,F))-NULL)

29return1;

30while(fgets(xx[1],80/fp)!-NULL)

31(

32p•strchr(xx[1],*\n*);

33if(p)*p-0;

34

35)

36maxline-1;

37fclose(fp);

38return0;

39/•把站梁xx•出到文件outdat中•/

40voidWriteDat(void)

41(

42FILE*fp;

43int1;

44fp■fopen("out.datH,;

45for(1-0;i<maxline;

46(

w,

47printf(%s\n'/xx[1]);

48fprintf(fp,xx(i]);

49J

50fclose(fp);

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

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

数各位上的数字均是奇数,则统计出满足此条件的个数ent并把这些四

位数按从大到小的顺序存入数组b中。最后main函数调用写函数

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

件中。

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

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

请勿改动数据文件indrt中的任何数据、主论数main()、读函数readDatQ和写函数writuDat()的内容.

finclude<stdio.h>

tdefineMAX200

3inta(MAX),b(MAX),ent-0;

4voidwriteDat();

5void

6

7

voidreadDat()〃从in.dat文件中俄取200个四位数存入数爆a中

inti;

FILE・fp;

fp■fopenda*r**>;

for(iw0;1<MAX;ii)

15fscant(fp,&a[1]);

16fcloso(fp);

17

voidmain()

19

20int1;

21readDat();

22jsval();〃・用w®”vn“,实现♦求的功能

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

24for(i•0;i<ent;£♦♦)

25printf("%db[1));

26printf(w\nH):

27writeDat();

28)

29voidwriteDat0〃把il%姑黎cm以及数出b中符合条科的四位It♦由到om.dm文件中

30(

31FILE・fp;

32inti;

H

33fp-fopen(*out.dat*#w*);

ww

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

35for(i-0;i<ent;1>一♦)

36fprintf(fp,Fd\n3bfi]);

37fclose(fp);

38

34.编写一^函数findStr(char*str,char*substr),该函数统计一^长度为

2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数

值返回。例如,假定输入的字符串为"asdasasdfgasdaszx67asdmklo”,

子字符串为“as",函数返回值是6。

函数ReadWrite实现从文件in.dat中读取两个字符串,并调用函数findStr,

最后把结果输出到文件out.dat中。

注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函

数中的任何内容,仅在函数findStr的花括号中

填入你编写的若干语句。

^include<stdio.h>

*include<string.h>

voidReadWrlte();

a

intfindStr(char3trtchar•substr)

main0

charstr(81|,substr(3];

intn;

printf("输入原字符申:w);

gets(str);

pdntf("■入子字符串:”);

gets(substr);

puts(str>;

puts(aubstr);

nwfindStr(str,substr);

"n

printf(*n"%d\n,n);

ReadWrite();

I

,•从文件in.dii中It取两个字符中,蚌■用炳欣findSoO,■后1E郎果博出到文件即如中,/

voidReadWrite()

24charstr[81)rsubstr(3],ch;

25intn,lenri00;

e

26FILEerfrwf;

27rf=fopen(*£n.dat**,wrH);

wwHM

28wf-fopen(out.datrw>;

29while(i<5)

30|

31fgets(str,80,rf);〃从文件mdai中域取长度为R的字符中存入到字符中

32(gets(subset<10,rf);〃从文件mdit中读取长度为Q的子字符中存入到字符率substr

33len■strlen(substr)•1;〃mf字符南gubstr的长度K1的

ch-substr(lenI;〃把子字符州的量后T字箝的但"字符ch

人如臬子字符申的量后个字椅是同架按行符或是文钟帖贩料,明纪子字符串的♦后f字符的值设置X。•/

35if(ch«•'\n'11ch~Oxla)

36substr[len]・0;

flndStr(4tr«■ubstr)返Z1子字符串subst.r在字符率Atr中出现的次数*/

37n-findStr(str,substr);

38fprintf(wf/Fd\n".n);//IC计H纳暨n写入到文件out.dau中

39〃谓环堂量士加】

40I

41fclose(rf);

42fclose(wf);

43

35.已知在文件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的内容。

flnclude<stdio«h>

*Include<string.h>

3tinclude<stdlib.h>

4IdefineMAX100

5typedefstruct

6

7chardra(5];7•产晶代码•/

8charme(11];/•产品名称•/

9intdj;/•单伊•/

10intsi;/•ft*•/

11longje;/•金1•/

12}PRO;

PROsell(MAX);

voidReadDatO;

15!voidWriteDat();

16•voidSortDat()

17

19;1

20!voidmainO

21[(

22'memset(sellt0,sizcof(sell));

23•ReadDat();

24iSortDatO;

25!WriteDat(”

26;1

27;voidReadDat()

28;(

29FILE#fp;

30charstr(80)9chilli;

31inti;

32fp-fopen("in.dat",wrw>;

33for(l•0;1<100;1+♦)

34(

35fgets80.fp);

36memcpy(sell[1)•dmtstr/4);

37memcpy(sellIi).me,str♦4f10);

38metnepy(ch.SW14.4);ch(4J-0;

355ell|i;・dj■atol(cb);

40inemcpy(ch«str*18f5);ch(51-0;

41aell(i)«9l-atol(ch);

42sell(i).je•(long)sell[i]«dj•sell(i].si;

431

44fclose(fp))

45

46voidWritoDat()

47»(

48FILE*fp;

49int1;

w

50fp•fopen("out♦dat,**«**);

51fox(1•0/1<100;

52I

53fprlntf(fp,"%BIs%4d%SdH01d\n**,9«11(1].dmrsell(i),me,sell(1j.djrsell(1).slf

sellfi].je);

55fclose(fp);

56

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

注ih就分源程序存在teste文件中.

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

请勿改动数据文件in.dat中的任何数据.主曲数读的数readDatO和与函数writeDaU)的内容.

1.•include<stdio.h>

2\IdefineMAX200

3)intb【MAX],ent-0;

4;voidjsVal()

5!I

84voidreadDat()〃从in・dae文件中灌取200个四位数存入IMS&中

9;I

10;int1;

11•FILE*fp;

w

12;fp-fopen(ln.dat"r

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

14jfscanf(fpr"%d*"r

15;fclose(fp);

16"

17;writeDat()〃无计W能果cm以及数也b中粉含条件的四付数・出到ouuto文件中

18j(

19iFILEefo;

28

29mti:

30readDat();

31jsVal();〃调用阱数加vnc玄现履H要求的功能

32printf("满足条件的散v*d\n”,nt);

33for(1-0;i<ent;

34printf(*%d”,b[1]);

35printf(H\nM);

36;writeDat()

37

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

tinclude<stdio.h>

tdefineMAX200〃定义宏变・HAX葛值第于2G0

3inta[MAX)fb[MAXl,ent・0;〃北初始值为0.定义全身整型WIkffiaIMAXJfbCMAXlW^lcnt

4voidwriteDat();//XHSME*数的说明语句

5voidjsVal()

6

7

B

/•“adDat。从敬据文件tn"中读取200个网位数存入依烟■中♦/

9voidreadDat()

10(

11inti;

12FILEefp;

H

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

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)

38.程序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

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

号字符串数组XX中;请编制函数ChA,其函数的功能是:以行为单位

把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到

第一个新的值,存入数组单元xx[i]⑼中(其中:i是文章中的某行)。第

二个字符的ASCII值加第三个字符的ASCII值,得到第二个新的值,存

入数组单元xx[i][l]中。以此类推一直处理到最后第二个字符,最后一个

字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的值,存

放在原字符串对应的位置上,之后把已处理的字符串逆转后仍按行重新

存入无符号字符串数组XX中。最后main函数调用函数WriteDat把结

果XX输出到out.dat文件中°

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

号和空格,并也按它的ASCII值作以上处理。注意:部分源程序存放在

test.c文件中。

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

的内容。

1•finclude<stdio.h>

2\Iinclude<string.h>

3;unsignedcharxx[50)(80];

4!intmaxiine=0;/•文章的总行数•/

5;intReadDat(void);

voidWriteDat(void);

7voidChA(void)

8

9

voidmainO

13if(ReadDatO)

14(

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

16return;

17}

18ChA();

19WriteDat();

20]

/•从文件m.dM中康我一编英文丈量存入》无符号字辨申数的XM中•/

21intReadDat(void)

22(

23FILE*fp;

24inti•0;

25char*p;

26it((fp-fopen(win.datw,Hr*))-NULL)

27return1;

28while(fgets(xx(i)<80#fp)9NULL)

29(

30p■strchr(xx(i)t•\n*);

31if(p),p«0;

32

33)

34maxline•i;

35fclose(fp);

36return0;

37)

/•把结果xx*出到ouLdal文件中•/

38voidWriteDat(void)

39(

40FILE*fp;

41inti;

42fp-fopenLout.dat".”");

43for(i«0;i<maxline;1+♦)

44(

w

45printf(%s\n"/xx(i));

R

6fprlntf(fp/"%s\n#xx[11);

47)

48fclose(fp);

49

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

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

以行为单位对字符串变量的下标为奇数的位置上的字符按其ASCII值

从小到大的顺序进行排序,下标为偶数的位置上的字符仍按原来位置存

放,排序后的结果仍按行重新存入字符串数组)XX中,最后调用函数

WrriteDat把结果xx输出到out.dat文件中。

例如:位置01234567

源字符串hgfedcba

则处理后字符串hafcdebs

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

请勿改动数据文件indat中的任何败据、主的数tnainO、读函数readlXtO和写函数writeDaK)的内容.

Iinclude<stdio.h>

•include<strinq.h>

3voidreadDat0;

4voidwrlteDat();

5charxx(20J(80];

6voidjsSort()

7

e

9

iovoidmainO

ii(

12readDat();

13jsSort();

14writeDat();

15)

/•从文件2中通取206数据存放到字料率数组辽中•/

16voidreadDat()

17(

18FILE*in;

19inti-0;

20char*p;

21in•fopen("in.dat"^

22while(i<20“fqets(xx[1],80.t-NULL)

23(

1

24p-strchr(xx[i]9\n*>;

25if(p)*p,0;

26if

27)

28fdose(in);

29I

八把姑果KX恰出到OUttte!文件中•/

30voidwriteDat()

31(

32FILEeOUt;

33inti;

wWH

34out-fopen("out.date«);

35for(1•0;i<20;

36(

37printfxx[i]);

38fprintf(out,"Qs'n",xx[1]);

39)

40Eclose(out);

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

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

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

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

性。(10分)

42.在SQLServer2008中,设有教师表(教师号,姓名,所在部门号,

职称)和部门表(部门号,部门名,高级职称人数)。请编写满足下列要

求的后触发型触发器(设触发器名字为tri_zc)。每当在教师表中插入一

名具有高级职称(“教授”或“副教授”)的教师时,或者将非高级职称教

师的职称更改为高级职称时,均修改部门表中相应部门的高级职称人数。

(假设一次操作只插入或更改一名教师的职称)(10分)

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

43.在SQLServer2008中,设表T(a,b)上建有如下触发器:CREATE

TRIGGERtri_updateONTFORUPDATEASIFEXISTSfSELECT术

FROMinsertedWHEREbnotbetween0and100)KULLBACK设表T中

已有数据:(‘a01',90),如果执行语句UPDATETSETb=100WHERE

a='a01'则触发器临时工作表及执行完该语句后表T中的数据为

()o

A.T表:(‘a01',100)INSERTED表:('a01',90)DELETED表:

('a01',100)

B.T表:(‘aOl',90)INSERTED表:('aOl',90)DELETED表:

(zaOT,100)

C.T表:(‘aOl',100)INSERTED表:('aOl',100)DELETED

表:(‘aOl',90)

D.T表:(‘aOl',90)INSERTED表:('aOl',100)DELETED表:

('aOl',90)

44.下列关于SQLServer2008数据库文件的说法,错误的是()。

A.一个数据库可以包含多个数据文件,但这些数据文件不能放置在同〜

个物理磁盘上

B.数据库的数据文件和日志文件最好分别存放在不同的物理磁盘』.二

C.用户数据库中包含很多系统信息,这些系统信息必须存储在主要数据

文件中

D.数据库的主要数据文件必须存放在PRIMARY文件组中

参考答案

LA解析:关系模式将导致数据冗余和存储异常,而存储异常问题有:

更新异常、插入异常和删除异常。以上的关系模式属于“不好”的关系,

要消除这些“不好”的关系和数据依赖有密切的联系,其中,最重要的是

函数依赖和多值依赖,这正是关系数据库的规范化所要解决的问题。

2.BPowerDesignerProcessAnalyst用于数据分析和数据发现,使用户能够

描述复杂的处理模型以反映它们的数据库模型,产生数据字典,绘制数

据流图等。PowerDesignerDataArchitect用于两层的即概念层和物理层数

据库设计和数据库构造。PowerDesignerMetaWorks通过模型的共享支

持高级团队工作的能力。PowerDesignerAppModeler用于物理(逻辑)数

据库的设计和应用对象的生成。

3.A解析:本题主要考查了事务的共享锁和排它锁的概念。如果事务T

获得数据项Q的共享锁,则T可读Q但不能写Q。故B)错。如果事务T

获得数据项Q的排它锁,则T可读Q也可能写Q。故C),D)错。

4.D

5.A解析:在PowerBuilder应用程序中,提供了丰富的数据表现风格,

可定制的称为“DataWindow”对象,可容易地对数据库中的数据进行操

作并能灵活地制作报告和商业图形。

6.D解析:当一个事物欲对某个数据对象操作,可以对该对象加锁,取

得对数据的一定控制,同时限制其他事物对该对象进行操作。

7.A

关系数据库标准语言SQL中SELECT语句的功能是查询。COUNT是

用于计数的函数;FROM说明要查询的表;WHERE说明查询条件;

DISTINCT去掉结果中的重复值。

8.A解析:SPOOLing是为解决独占设备数量少、速度慢、不能满足众多

进程的要求,而且在进程独占设备期间设备利用率又比较低的情况而提

出的一种设备管理技术。它是一种虚拟设备技术,其核心思想是在一台

共享设备(通常是高速、大容量的磁盘)上模拟独占设备的操作,把一台

低速的独占设备改造成为若干台并行操作的虚拟设备,即把独占设备变

成逻辑上的共享设备。

9.B解析:SQL语言中,建立一个表的命令是CREATE,对表进行修改

的命令是ALTER,删除一个表的命令是DROP,另外还有表中数据的插

入,删除,查询命令分别为INSERT,UPDATE和SELECT。

10.D关系模型中的关系操作的理论依据是关系代数和关系演算。关系模

型中常用的关系操作包括:选择、投影、连接、除、并、交、差、查询

等。

1L环或环路或回路或进程环路环或环路或回路或进程环路解析:死锁

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

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

必要条件是:

①互斥条件

②不可剥夺(不可抢占)

③部分分配(占有等待)

④循环等待

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

12.IP【解析】IP作为一种互联协议,运行于互联层,屏蔽各个物理网络

细节和差异。

13.GIS【解析】地理信息系统(GIS)有时又称为“地学信息系统”或“资源

与环境信息系统”。它是一种特定的十分重要的空间信息系统。它是在计

算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中

的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述

的技术系统。

14.0

15.R.A=S.AR.A=S.A解析:在SQL语言中对关系表进行查询时需要加

上条件语句where表1.索弓|=表2.索引,这样查询出的记录才是一一对

应的。

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

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

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

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

17.ADDkchar(9)ADDkchar(9)解析:ALTERTABLE语句的一般格式

如下:

ALTERTABLE〈表名〉

[ADD〈新列名〉〈数据类型〉[完整性约束]]

[DROP(完整性约束名>]

[MODIFY〈歹U名〉〈数据类型〉]

ADD子句用于增加新列和新的完整性约束条件;DROP子句用于删除

指定的完整性约束条件;MODIFY子句用于修改原有的列定义。

18.元组或记录元组或记录

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

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

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

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

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

值。

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

其中n为关键码的个数。

20.安全性安全性解析:SQL的安全控制功能由GRANT和REVOKE

语句实现。数据库管理系统保证数据安全的主要措施是进行访问控制,

即规定不同的用户对于不同数据对象所允许执行的操作,并控制各用户

只能访问他有权访问的数据。不同的用户对不同的数据应具有不同的操

作权限。

21.C

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

语句的一般格式为:

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

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

TO(用户>[,(用户…

[WITHGRANTOPTION]

所以正确的是选项A)。

23.A

24.D

25.B

26.D

27.D

28.D

29.A

30.B方框代表的是实体,属性是椭圆,联系是菱形

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

个数及平均值。

\n【解题思路】\n\田定义整型循环变量i、j,表示各位数字之和的长整

型变量he以及存储一个四位数的字符数组num[5]o

\n②循环变量i从0开始,依次递增到4,对字符数组num[5]的每个元

素赋初值0o

\n③循环变量i从0开始,依次递增到MAXNUM.1,对每个数组元素

xx[i]进行判断,如果xx用的值非零,则变量totNum加1,退出循环时,

totNm的值就是文件in.dat中存有的四位正整数的个数。

\n④循环变量i从0开始,依次递增到totNum-1,对于每个数组元素xx[i]

调用库函数sprintf以4个字符宽度形式输出到字符数组num中,用字

符数组num中的每个元素减去0的ASCII码48,就分别得到XX[i]这

个四位数每位上的数字,并把这四个数字相加赋给变量j。再对变量j对

2求余数进行判断其值是否等于0,如果等于0,则说明j是偶数,变量

totCnt加1,并把xx[i]的值累加到变量he。

\n⑤退出循环后,把变量he的类型转换成双精度型再除以totCnt得到

符合条件的数的算术平均值totPjzo

\n【参考答案】

\n

\n

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

码是奇数不变,否则替换。

\n【解题思路】

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

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

\n【参考答案】

\n

\n

33.\n[审题关键句】各位都是奇数,从大到小排序。

\n【解题思路】

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

件有所不同,即判断四位数的每一位数都为奇数,参考答案的第8条语

句,只需将每位数的判断条件改为奇数判断即可。

\n【参考答案】

\n

\n

34.\n[审题关键句】统计一个长度为2的子字符串在另一个字符串中出

现的次数。

\n【解题思路】

\n①定义字符指针p,q,并且q指向字符串str。定义计数整型变量ent,

设置其值等于0

温馨提示

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

评论

0/150

提交评论