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

下载本文档

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

文档简介

(2023年)湖南省衡阳市全国计算机等级

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

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

一、1.选择题(10题)

i.在一个关系模型中,任意两个元组的值()。

A.不能全同B.可以全同C.必须全同D.以上都不正确

2.

从该B树中删除关键码30后,结点的子女数为

A.2B.3C.4D.5

3.在Oracle产品中,用公用网关接口实现的过程化网关是

A.OracleWebListener

B.OracleWebAgent

C.OracleWebserver

D.OracleDBA

4.一般情况下在长度为n的顺序结构线性表中,在第1个元素(0<1<

n+1)之前插入一个元素时,需要向后移动的元素个数为()。

A.n-iB.n-I-1C.n-I+1D.1

5.20世纪90年代,随着网络技术的发展,哪一种结构的数据库系统成

为主流?

A.客户/服务器B.并行C.分布式D.网络

6.数据库的逻辑结构设计任务就是把()转换为与所选用的DBMS支持

的数据模型相符合的过程。

A.逻辑结构B.存储结构C.概念结构D.物理结构

7.二维数组A[0..8,0..9],其每个元素占2个字节,从首地址400

开始,按行优先顺序存放,则元素A[8,5]的存储地址为。

A.570B.506C.410D.482

8.下列关于进程控制的叙述中,不正确的是

A.进程控制是通过原语来实现的

B.一个进程可以使用创建原语创建一个新的进程,前者称为父进程,后

者称为子进程

C.创建一个进程的主要任务是建立原语

D.撤销进程的实质是撤销PCB

9.唯一标识实体的属性集称为

A.域B.码C.联系D.主属性

10.如果允许不同用户的文件可以具有相同的文件名,通常采用哪种形

式来保证按名存取的安全?

A.重名翻译机构B.建立索引表C.建立指针D.多级目录结构

二、填空题(10题)

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

12.数据并发操作通常会带来三类问题,它们是丢失更新、[1和对未

提交更新的依赖。

13.PowerBuilder是一种深受广大用户欢迎的快速应用开发工具,它与

其他应用开发工具比较,最具有特色的是【】。

14.IEEE802.il的MAC层采用的是__________冲突避免方法。

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

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

工作组的划分与管理。

17.在关系数据库中,参照关系和被参照关系是以II相关联的两个关系。

18.RC5算法中使用了3种运算:加和循环。

19.在关系模式R(D,E,G)中,存在函数依赖关系{E-D,(D,G)

一E},则候选码为“1。

20.当两个数据表建立了关联后,通过口就有了父表、子表之分

三、单选题(10题)

21.如果两个实体之间的联系是1:M,则实现1:M联系的方法是()

A.将两个实体转换成一个关系

B.将两个实体转换的关系中,分别加入另一个关系的主码

C.将“1"端实体转换的关系的主码,放入"M"端实体转换的关系中

D.将端实体转换的关系的主码,放入"1"端实体转换的关系中

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

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

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

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

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

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

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

24.数据库的概念模型独立于()。

A.具体的机器和DBMSB.实体联系图C.信息世界D.关系模型

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

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

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

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

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

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

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

A.I和IIB.I和HIC.II、HI和IVD.全都是

27.下列叙述中,不正确的是:

A.系统软件是在应用软件基础上开发的

B.系统软件应提供友好的人机界面

C.系统软件与硬件密切相关

D.系统软件与具体应用领域无关

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

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

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

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

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

30•一个数据表10000行数据,每行3500字节,计算表需要空间()

A.20MBB.40MBC.60MBD.80MB

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

31.已知在文件in.dat中存有100个产品销售记录,每个产品销售记录

由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整

型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数

量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编

制函数SortDat,其功能要求:按产品代码从小到大进行排列,若产品代

码相同,则按金额从小大进行排列,最终排列结果仍存入结构数组sell

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

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解

题;产品代码比较请用函数stremp进行解题。例如:se川i]=temp;

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

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

1.Iinclude<stdio.h>

2:finclude〈string.h>

3jlinclude<stdlib.h>

4;IdefineMAX100

5!typedefstruct

6i(

7;chardm(5];/•产乩代•/

8!char;/•产品名尊•/

9iintdj;/•♦价•/

10-int31;/••/

11»longje;/•金・•/

12;)PRO;

13!PROsell[MAX];

14»voidReadDat();

15-voidWriteDat();

16!voidSort£>at()

17;1

18\

19

20voidtMin()

21

22menisoc0.slzeof<sel1));

23ReadDat();

24SortDat();

25WritoDat(1;

26!I

j/,康取W100个m侑记事并存入然符数州Hl中♦/

27;voidReadDat()

28!(

29FILE•fp;

30charstr(80]rch11”

31intI;

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

33ford•0;1<100;ID

34(

35fgets(str,80.fp);

36memcpy(sellll|str*4>;

力n>^racpy<8ell[l].me,str♦4.10);

38memepy(chfstr4-14,4);chM]-0;

39ael1(1).dj,Atoi(ch);

40

memepy(ch,str-*l8r5):chr5]«0;

41sell(1].si-atol(ch);

42sell111.je-(long)sell(1).dj•sell11).91;

43I

44{close(fp);

45

/•IE格■・出f(支付ouuhi中•/

46voidWriteDat(>

4FFILE,fp;

49inti;

50fp•fopen(*out.dat**,*wH);

51ford•0:1<100;144)

52(

S3fprintf(£p-%52s^4d*5d%101d\n",selXfi­.dm,sell(i|.me,

tsell(l).djfsell[11.sl#

sellHJ・jo)i

54I

55fcloso(fp);

56

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

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

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

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

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

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

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

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

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

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

进行处理。

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

的内容。

•include<stdio.h>

•include<string.h>

3;flnclude<ctype.h>

4Junsignedcharxx(50][80];

5\

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

6;intReadDat(void);

voidWriteDat(void);

工voidencryptChar()

9I

10»

11;

12;voidmain()

13i(

14;if(ReadDat())

15!(

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

17;return;

18!)

19;encryptChar0;

20iWriteDatO;

21;]

,•从文科ilL&t中途取・英文文章,存入我无林号字料*诙镇M中•/

22!intReadDat(void)

23;(

24;

FILE*fp;

25jinti-0;

26unsignedcharap;

ww

27if((fp-fopen("in.datr,*r))--NULL)

28return1;

29while(fgets(xxli],80,fp)!-NULL)

30(

31p-atrchr(xx(ijr*\n*);

32if(p)*p-0;

33if

34

35maxline®1;

36fclose(fp);

37return0;

38)

/•把姑梁3一出到文件WL&t中•/

39voidWriteDat(void)

40

41FILE*fp;

42inti;

43fp-fopen(wout.dat",;

44for(i-0;i<maxline;i♦4)

45(

46printfflsXn-,xx(i]);

R

47fprlntf(fp/"%s\nrxx(ij);

48

fclose(fp);

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

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

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

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

替代关系:f(p)=p*Umod256,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

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

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

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

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

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

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

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

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

存序中已定义数组:a[200|.b(200].已定义变lbent

请勿改动数据文件in.dat中的任何数据、:函数读函数rcadDal()和写的敢writeDatO的内容.

I

1।•include<stdio.h>

2itdefineMAX200

3•inta[MAX).b[MAX|rent,

4;voidwriteDat();

5•voidjsVa1()

6;(

7;

8

9voidreadDat()

10<

11inti;

12FILE*fp;

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

14for(i-0;i<MAX;

15fscant(fp>rd”.&a(1]);

16fclose(fp);

)

18voidmam()

19(

20int1;

21readDat<);

22jsVal();

23printf("满足条件的数,ed\n”,ent);

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

25printf",b[i]);

26prlntf;

27writeDat();

28I

29voidwriteDat()

30I

31FILE*fp;

32int1;

ww

33fp=fopen(out.datr"w");

34fprintf(fp,cnt);

35for(ie0;i<ent;

36fprintf(fp#nid\nw,bill”

37fclose(fp);

38

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

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

中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千

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

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

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

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

新组成数:一个是奇数,另一个为偶数,并且至少有一个数能被17整

除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入

数组b中,并计算满足上述条件的四位数的个数ent,而后对数组b进

行降序排序。最后main函数调用写函数writeDat把结果ent以及数组b

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

例如:一个四位数为4512,依题意组成的第一个新数为24,第二个新

数为51,其中51能被17整除,这两个新数的十位数字不为零,则4512

这个四位数满足题意所规定条件。

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

程序中已定义数蛆:a[200],b[200],已定义父蹴:cni

谓勿改动数据文件imdti中的任何数据.主闭数main。、曲曲数read1)叫)和写函敢writcDat()的内容.

♦include<stdio.h>

ideflneMAX200

3inta[MAX],b[MAX|,ent-0;

4voidwriteDat<);

5voidjsVal()

6

7

9voidreadDat()//从,n.dat文件中灌取20。个四位li存入敌爆a中

10(

11int1;

12FILE*fp;

fp-fopen("in.dat**,wrM):

forfi-0;i<MAX;1*♦)

fscanf(fp^7d”,[x));

fclose(fp);

voidmain()

19;

20inti;

21readDat();

22jsValO;〃*用或效实现良求的功微

23printf(“清I足条件的数"d'n".:;nt);

24for(i»0;i<ent;

25print1("%dL

26printf("Kn");

27writeDat();

28;I

29voidwriteDat()〃把计算结蹙E以及敏物b中符合条件的四位数•出到OULdBl文件中

30

31FILEefp;

32inti;

33fp•fopen(Rout.dat**,Hww);

34fprlntf(fp,wid\n",ent);

35for(i»0;i<ent;i++)

n

36fprintf(fpr%d\n"rb[1])

37fclose(fp);

38

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

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

上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数

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

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

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

例如:9123,%1・2・3Xh则读畋满足条件存入收81b中.且个数cmynt+l・

9812.%S4・2<0,副该数不满足条件忽略.

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

程序中已定义数组:a(300].b(300].已定义变量rent

i•勿改动数据文件in.dal中的任何依据、主FfijftmainO,读函数reidDaH)和写函数writeDBU)的内容.

finclude<stdio.h>

2inta(300)9b(300),cnt-0;〃定义整圈数18n1300],b【3g】和交量CM.•并且st的初值为0

voidwriteDat();

voidreadDat();

5voidjsValue()

6

7

B

9main()

10(

11int1;

12readDat();

13isValue();

14writeDatO;

w

printf("cnt-%d\nrent);

16for(i-0;i<ent;

17printf(wb(td]-td\n",1,b

181

19voidreadDat()

20

21FILE

22Lnti;

23fp-fopen(•,in.dat",Rrw);

24for(1-0;1<300;11♦♦】

25fscanf(fp,&a(l));

26fclose(fp);

voidwriteDat()

29

30FILEafp;

31int1;

w

32fp-fopon("out.datr"w");

33fprintf(tp,ent);

34for(i-0;1<ent;

35fprintf(fp**ld\n*rb(i));

36fclose(fp);

37

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的内容。

;Iinclude<stdio.h>

2!Iinclude<9trinq.h>

3;IIncludeOtdlib.h>

4:tdeflnoMAX100

5jtypudofstruct

6!(

7chardm(5);/•代码•/

8charme(1111/,产品名”•/

9intdj;•饼•/

10Intsi;/•B1•/

11longje;/•金・•/

12;jPRO;

13!PROselllMAX);

14;voidReadDat();

15JvoidWrlteDat();

16;voidSortDat()

17

18

19

20•voidmain。

21pt

22momoot(sellt0/sizeot(sell)):

23ReadDat()j

24SortDatO;

25WriteDatO;

26I

21voidReadQat()

28(

29FILE•fp;

30charatr(80)tch(ll);

31int1;

w

32fp-fopen(*in.d4t"f"r);

33ford-0;1<100;

34(

35fgetslstir80,fp);

36memepy(sell(1).dmrstrr4);

37memcpy(sell|ij.me,str♦4.10);

38meracpy(ch,str*14,4):chf4j-0;

39sell(i].dj・atoi(ch);

4memcpy(ch/Str*18r5):ch(5]-0;

41sell(l).si-atoi(cb);

42sell(i].je-(long>sellll).dj•sell(i)«sl;

43>

44fclose(fp);

45)

46voidWrlteDatO

47(

48FILE*fp;

49int1;

50fp•fopen("out*w*);

51tor(1•0;i<100;"♦)

52(

5?fprlntf(fp«"ists%4d%5dt101d\n*rsellfl).dm/sell(l].mc«sell|i).djrscll(l].91,

sellli).je)t

54;

55!fclose(fp);

56i1

38.函数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)替代所对应的字符。

注意,部分源程序存放在WSIX文件中,做始数据文件存放的格式是:母行的宽度均小于80个字符.含r标点符号和至

格.并也按此替代关系进行处理・

请勿改动主商收tnau>().该南数ReMDwOM.出的题WmeDiiO的内存.

1!Iinclude<®tdlo.h>

2।Ainclude<string.h>

3••include<ctype.h>

4»unsignedchdtxx[50][80];

5;intmaxline•0;/•文•的总打鼓,/

6*-intReadDat(void);

7ivoidWriteDat(void);

8;voidencryptCharO

9!(

10;unslqnedintval;

11

12

13voidmam()

14(

15if(ReadDat())

16(

17prtntf数据文件in.dat不加打开!\n\007");

18return;

19\

20encryptChar();

21WrlteDatO;

)

22,•从文件ULdlt中读取一■英文文拿,存入到无符号字例串故第O中•/

23intReadDat(void)

24(

25FILE・fp;

26inti*0;

27unsignedchar*p;

wR

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

29return1;

30while(fgets(xx[i]#80,fp)!-NULL)

31(

1

32p■strchr(xx[i]t\n*);

33if(p)*p-0;

34

35J

36maxline-1;

37fclose(fp);

38return0;

)

39/•把站累xx■出到文竹outdat中•/

40voidWrlteDat(void)

41(

42FILEwfp;

43int1;

44fp-fopen("out.dat*,Www);

45for(i-0;i<maxline;

46(

47printfxx(i]);

48fprintf(fp,"tsXn",xxli]);

49)

50fclose(fp);

51

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

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

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

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

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

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

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

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

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

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

进行处理。

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

♦include<stdio.h>

tinclude<string.h>

3Iinclude<ctype.h>

4unsignedcharxx(501tBO);

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9!C

10;

iii)

请勿改动主函效main(),读函数ReMDatO和输出的敷WriteD叫)的内容.

1iInclude<stdlo.h>

•include<strlng.h>

3finclude<ctype.h>

4unsignedcharxx[50][80);

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

11

12voidmain()

13<

14if(ReadDat())

15

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

17return;

18)

19encryptChar();

20WriteDat();

21}

/•从文件m.dm中罐取一・英文文章,存入到字符事收物u中•/

22intReadDat(void)

23(

24FILETp;

25inti-0;

26unsignedcharep;

Hww

27if((fp-fopen(in.datrr"))-NULL)

28return1;

29while(fgets(xx[ilv80,fp)!-NULL)

30(

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

32if(p)*p-0;

33i»;

34)

35maxline«1;

36fclose(fp);

37return0;

38)

/•北姑果XX・出现文件OUL&f中•/

39voidWrilcDat(void)

40(

41FILE#fp;

42int1;

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

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

45(

46printfxx[i]);

w

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

48)

49fclose(fp);

50

voidmain()

13

14if(ReadDat())

15(

16printf文件in.dat不能打开!\n\0071*);

17return;

18

19encryptCharO;

20WriteDat();

21)

/•从文朴ns中途取一■英文文垂.存入X?朴由敷用XX中•/

22intReadDat(void)

23

24FILE・£p;

25inti•0;

26unsignedchar,p;

www

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

28return1;

29while(fgets(xx[1]#80,fp)!-NULL)

30(

31p-strchr(xx(i]9*\n•);

32if(p)*p-0;

33i+>

34}

35maxline■i;

36fclose(fp);

37return0;

38J

八和姑.里xx・出fl文和outdat中•/

39voidWriteDat(void)

40(

41FILEefp;

42inti;

wwM

43fp°fopen(*out.datfw);

44for(i*0;i<maxline;

45(

46printf(•'%s\nR,xx[i]);

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

48)

49fclose(fp);

50

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

linclude<stdio.h>

tdefineMAX200〃定义宏登■KAXH值等于2G0

3inta(MAX),b[MAX],ent-0;〃箕初蛤S为定义全局-雄敏钮b(MAX|加堂■ent

qvoidwriteDat();J)嫉数的说明语句

5voidjsVal()

6

7

B

/•r”dD«t()从数据文付ui.dat中谟取200个网也数存入做Ifi■中♦/

9voidreadDat()

10(

11inti;

FILE*fp;

fp•fopen("in.dat*,"r")

14;for(100;1<MAX;£+♦)

15!fscanf(fp,",cT,&a[i]);

16;fclose(fp);

17

18jvoidmainO

19;(

20!inti;

215readDat();

22ijsVal();〃恻网*也实甩BUi要求的功能

231printf("满足条件的数・“\个,:nt);

24ifor(1-0;i<ent;i**)

25-printfC,%d",b(ll);

26;printf;

27;writeDat();

28J)

;/・W敢wntcDiMHC怙果e以及效组b中符介条件的四位效■由到0ut.dM文件中•/

29;voidwriteDat()

30!(

31;FILE-fp;

32;inti;

w

33\fp=fopen("out.datr"w”);

ww

34;fprintf{fprid\n,ent);

35!ford•0;i<ent;

361fprintf(fpr7d\M,b[i]);

37;fclose(fp);

38;)

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

41.已知某教务管理系统的设计人员在需求分析阶段收集到下列原始数

据表格:

教师

上级领导教师

教师号教师名职称工资

9868王文华教授8000null

9983李一斌副教授60009868

9985丁一讲师删9868

0783王润泽讲师删9868

0899欧阳丹妮讲师删9868

课程

课程号课程名学分教材号教材名出版社名任课教师号

计算机原清华大学出

C2006311计算机原理9868

理版社

计算机原计算机原理与高等教育出

C20063129868

理应用版社

清华大学出

C2004数据结构313数据结构9868

版社

数据库原清华大学出

C2010314数据库原理9868

理版社

数据库原数据库原理与高等教育出

C20103159868

理技术版社

清华大学出

S3001音乐欣赏216音乐欣赏9983

版社

已知该业务系统存在如下规则:

I.每个教师有唯一的教师号,每个教师号对应唯一的一名教师;

II.每门课程有唯一的课程号,每个课程号对应唯一的一门课程;

III.每本教材有唯一的教材号,每个教材号对应唯一的一本教材;

IV.每个教师最多只有一个上级领导,也可以没有上级领导;

V.一门课程仅由一名教师讲授;

VI.一本教材仅用于一门课程。(12分)

(1)请根据原始数据表及业务规则,给出该系统的关系模式,保证每个

关系模式满足3NF,并说明每个关系模式的主码和外码。

(2)画出该系统的ER图,ER图中需给出每个实体集的属性,主码属性

用下划线标识。

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

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

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

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

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

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

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

43.在SQLServer2008中,某用户仅具有登录到某SQLServer实例的权

限。下列关于该用户能够进行的操作的说法,正确的是()o

A.仅能够查询master,model和msdb系统数据库中的部分数据

B.能够查询和修改master,model和msdb系统数据库中的部分数据

C.仅能够查询master和msdb系统数据库中的部分数据

D.能够查询和修改master和msdb系统数据库中的部分数据

44.在SQLServer2008中,常常会发生数据库数据过大的情况,此时则

需要对表进行处理,通常可采用人工分割表的方法优化性能。下列有关

分割表的说法,错误的是()o

A.水平分割后,得到的子表结构相同

B.水平分割后,查询表中所有数据时需要使用JOIN操作

C.垂直分割后,所有表中均需保留原有表的主码

D.当查询表中所有数据时,使用分割表方法会增加查询表达式的复杂度

参考答案

1.A解析:元组对应在二维表中的一行(记录的值),数据库的关系中任

意两个元组不能全同,元组的顺序无所谓。

2.B解析按照题(13)中的分析我们可知,当从B树中删除关键码30后,

B树的形状不会改变,下还是有3个结点,只是变为,因此正确答案为

选项B。

3.B解析:本题主要考查了Oracle的Internet解决方案。在Oracle产品

中,OracleWebAgent是用公用网关接口实现的过程化网关。

4.C解析:在顺序结构的线性表中插入一个元素,在插入位置之后的所

有元素都需要往后移动一个位置,因此要移动的元素个数为n-1+l个元

素。

5.A解析:20世纪90年代,随着网络技术的发展,客户/服务器

(Client/Server,简称为(C/S))结构的数据库系统成为主流。数据库应用快

速开发工具也迅速向客户/服务器结构转移。客户/服务器结构把数据库

管理和数据库应用划分为两个部分,并分别位于服务器端和客户端。

6.C解析:数据库设计分为以下6个阶段:需求分析、概念结构设计,

逻辑结构设计、物理结构设计、数据库实施和数据库的运行和维护。逻

辑结构设计的任务是从概念模型导出特定的DBMS可以处理的数据库

的逻辑结构。

7.A解析:由题意可知,二维数组A[0..8,0..9]是按行优先顺序存放的,

而顺序存放计算结点存储位置的公式为Li=Lo+(i-l)*m,其中Lo是第一

个结点的存储位置,Li是第i个结点的存储位置,m

温馨提示

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

评论

0/150

提交评论