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

下载本文档

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

文档简介

2021年陕西省咸阳市全国计算机等级考试

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

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

一、1.选择题(10题)

1.在数据库系统阶段,数据

A.具有物理独立性,没有逻辑独立性

B.具有逻辑独立性,没有物理独立性

C.物理独立性和逻辑独立性均没有

D.具有高度的物理独立性和逻辑独立性

2.下面不属于数据模型的组成。

A.数据的组织方法B.数据操作集合C.数据完整性集合D.数据的约束

3.设顺序表中结点个数为n,向第i个结点后面插入一个新结点,设向

每个位置插入的概率相等,则在顺序表中插入一个新结点平均需要移动

的结点个数为()。

A.(n-l)/2B.n/2C.nD.(n+l)/2

4.用二维表数据来表示实体之间联系的模型叫做

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

5.对线性表进行二分法检索,其前提条件是

A.线性表以顺序方式存储,并且按关键码值排好序

B.线性表以顺序方式存储,并且按关键码的检索频率排好序

C.线性表以链接方式存储,并且按关键码值排好序

D.线性表以链接方式存储,并且按关键码的检索频率排好序

6.在多道程序系统中,每组进程中的每一个进程均无限期地等待被该组

进程中的另一个进程所占有且永远不会释放的资源,这种现象称为

A.独占B.等待C.睡眠D.死锁

7.新一代数据库应用开发工具应具备的特征有

I.支持与多种数据库连接

II,支持可视化图形用户界面

III,支持面向对象的程序设计

IV.支持开放性

V.提供完善的数据对象

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

8.在高级语言中使用嵌入式SQL语句时,所有SQL语句前必须添加前

缀()O

A.SYSSQLB.GOTOSQLC.EXECSQLD.DOSQL

9.数据独立性是指()。

A.数据依赖于程序B.数据库系统C.数据库管理系统D.数据不依赖于

程序

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

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

二、填空题(10题)

11.数据库管理系统(DBMS)提供数据定义语言(DDL)及它的翻译程序,

DDL定义数据库的模式、外模式和内模式,并通过翻译程序分别翻译成

相应的目标模式,存放在【】。

12.m阶B+树的根结点至多有个子女。

13.操作系统之所以能够找到磁盘上的文件,是因为有磁盘上的文件名与

存储位置的记录。在DOS中,它叫做o

14.若一棵二叉树中度为2的结点数为11,则该二叉树的叶结点数为

15.被认为是真正意义上的安全产品一般其安全级别应达到o

16.是用户接入Internet的入口点,一方面它为用户提供Internet

接入服务,另一方面,它也为用户提供各类信息服务。

17.用高级语言编写的程序称之为[】。

^.PowerBuilder10.0为使用.NET开发工具的用户提供了一套_口_工

具。这项专利技术是为简化应用开发而设计的,可缩短开发时间、减少

代码等。

19.SMTP的通信过程可以分成三个阶段,它们是连接阶段、

邮件传递阶段和连接关闭阶段。

20.关系数据模型包括关系数据结构、关系操作集合和3个重要

部分。

三、单选题(10题)

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

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

模式

22.进程具有并发性和()两大重要属性。

A.动态性B.静态性C.易用性D.封闭性

23.设散列函数为H(k)=kmod7,现欲将关键码23,14,9,6,30,12,

18依次散列于地址。〜6中,用线性探测法解决冲突,则在地址空间0〜

6中,得到的散列表是

A.14,6,23,9,18,30,12

B.14,18,23,9,30,12,6

C.14,12,9,23,30,18,6

D.6,23,30,14,18,12,9

24.链栈与顺序栈相比,有一个比较明显的优点是()

A.插入操作更加方便B.通常不会出现栈满的情况C.不会出现栈空的

情况D.删除操作更加方便

25.某数据库应用系统使用SQLServer2008作为数据库平台。在系统运

行期间,用户反映某更新操作很慢,无法正常完成业务。系统工程师分

别在用户的客户机和数据库服务器上使用数据库管理系统自带的客户

端工具执行此更新操作语句,发现该语句执行后长时间无响应。经检查

数据库服务器CPU使用率小于1%,磁盘10也非常小。造成此现象可

能的原因是()

A.客户机到数据库服务器的网络故障

B.更新操作涉及到的表没有建立主码

C.更新的字段没有建立有效的索引

D.更新操作涉及到的数据被锁定

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

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

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

27.在概念设计和逻辑设计之间起桥梁作用的是()

A.DFDB.E-R图C.数据结构图D.功能模块图

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

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

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

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

30.某数据库应用系统中,数据库管理员发现某个查询功能是用多表连接

操作实现的,此操作性能较差。在保证功能不变的前提下,若要提高该

查询的执行效率,下列方法中可行的是()

A.将此查询语句放置在视图中,使用视图实现该查询操作

B.修改实现此功能的查询语句,将连接查询改为嵌套查询

C.将此功能涉及到的表进行合并,然后对合并后的表进行查询

D.将此查询语句放置在存储过程中,通过调用存储过程实现该查询操作

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

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

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

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

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

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

件中。

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

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

请勿改动数据文件imdat中的任何数据.主函数maiM)、速函readDatQ和写函数writeDat()的内容.

1;finclude<stdio.h>

2!IdefineMAX200

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

4•voidwriteDat();

5•voidjsVal()

9;voidreadDat()〃从Arudat文件中博取200个四位数存入依姻a中

10!(

11jinti;

12jFILE*fp;

13•fp-fopen(*in.datw,*rH);

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

15jfscanf(fp/&a[i]>;

16•fclose(fp);

**I)

18!voidmain()

21|readDat();

221jsVal()•〃・川嫉值jsv.i,实现♦求的功能

23•print/「满足条件的数・Qd\n”,entI;

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

25;printf("%ci”•b[i));

writeDat()〃把ilWM梨cm以及数也b中将什条外的四位效•也到om.dM更件中

int1;

wM

fp■fopen("out.dat#w*);

fprintf(fp/7d\n".ent);

for(i-0;i<ent;

fprintf(fp,Fd\n",b(i])/

fclose(fp);

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如:位置012345678

源字符串abcdhgfe

123498765

则处理后字符串hgfedcba

876594321

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

请勿改动数据文件in.dat中的任何敷据、主函数main()、读曲数rcadD叫)和写的数writcD&U)的内容.

1Jlinclude<stdio.h>

2j*include<string.h>

3;charxx[201f80);

4voidreadDat();

5voidwrlteDat();

6voidjsSort()

7

8

9

10voidmain()

11

12readDat();

13jsSort();

14wrlteDat("

15

/•从文件indii中注取20打数究存放到字符率依蛆xx中•/

16voidreadDat()

17!(

18•FILE-in;

19•inti-0;

20char*p;

nw

21in=fopen(in.dat,"D;

22while(i<20“fgets(xx{i]v80.in)NULL)

23

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

25if(p)*p•0;

26

27]

28fclose(in);

29;)

\/,史州Rxx*出到文件outt中•/

30jvoidwriteDat()

31

32FILE*out;

33int1;

34out•fopen(*out.datw/**wM);

35for(i»0;1<20;if)

36(

37printfxx[i));

38fprintf(out,xxri!);

39)

40fclose(out);

41

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

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

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

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

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

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

Out.dat文件中。

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

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

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

和写函数writeDat的内容。

linclude<stdio.h>

^defineMAX200

inta(MAX)<b[MAX],ent

4voidwriteDat;

5voidjsValO

8

/•readDat()从数界文件in.dii中读取2W个四位数存人数组■中・/

voidreadDat()

FILEefp;

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

14for(i-0;i<MAX;if

15fscanf(fp,;

16fclose(fp);

17

18voidmain()

19

20,int1;

21!readDat();

22;jsValO;〃调用”Vah)曲故,实现KH要求的功能

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

24•for(i■0;i<ent;1+♦)

25;printf(0%d”,b(i]);

261printf;

27'writeDat():

28;|

•函数writeD叫)和端聚cm以及数赳b中符合条件的四位数■出到oul4at文件中♦/

29;voidwriteDat()

30

31FILEefp;

32inti;

33fp=»fopen("out.dat",Ww");

34fprintf(fp#ent);

35for(1=0;i<ent;

36fprintf(fp/"$d\n”,b[i1)

37fclose(fp);

38

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

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

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

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

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

位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数

字),如果新组成的两个数ab-cd>=0且ab.cd<=10且两个数均是奇数,

同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到

小的顺序存入数组b中,并要计算满足上述条件的四位数的个数ent。

最后main函数调用写函数writeDat把结果ent以及数组b中符合条件

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

注意J部分源程序存在testx文件中.

程序中已定义数ftba(200bb(200J.已定义变ent

请勿改动数据文件iftdal中的任何数据.FA®main()«读函数neadDatO和写函数writeDatQ的内容.

1!Iinclude<stdio.h>

2\»defineMAX200〃定义宏支fltMAX,N值等于zoo

3!inta[MAX),b【MAX],ent-0;〃定义全局整整TB数蛆alMAX).biHAX?和支■st,其初值等于o

4\voidwriteDat();

5;voidjsVal()

6i1

e\)

9\voidreadDat()〃从in・dat文件中灌取200个四位*t存入数ifl■中

10

11inti;

12FILEefp;

13fp-fopon("in.dat","r");

14for(1•0;i<MAX;1>*♦)

ISfscant(fp,;

16fcloae(fp);

17

18;voidmain()

19j(

20jint1;

21readDatO;

22jsValO;〃四用”v・M)的也实现・目要求的功健

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

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

25printf(ntd-,b(i]);

26printf;

27writeDat()s

28)

29voidwriteDatO〃化计算姑果国以及敷蜗b中符合条件的四位敏■出到OULW文件中

30»{

31FILE・fp;

32inti;

w

33fp-fopen(out.dat",",");

34fprintf(fp,fd\n",ent);

35ford»0;1<ent;I**)

36fprintf(fpr"%d\n"rb(iD;

37fclose(fp);

38

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

内谷。

•include<stdio.h>

tinclude<strlng.h>

3•include<ctype.h>

unsignedcharxx[50][80];

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

6intReadDat(void);

7!voidWriteDat(void);

8«voidencryptChar()

10!

11j)

12JvoidmainO

13•(

14iif(ReadDat0)

15\1

161printf(-数据文件in.daw不能打开!\n\007"”

17return;

18

19encryptCharO;

WriteDat();

21

/•从文件ndu中谟取・英文文存人■无M号字折席敏烟«中•/

22intReadDat(void)

23

FILE*fp;

25int1-0;

26unsignedchar*p;

27if((fp*fopen(win.datw,^r"))«-NULL)

28return1;

29while(fgeta(xx[i],80<fp)!"NULL)

30

31p-strchr(xx[1]t*\n*);

32If(p)*p■0;

33

34J

35maxline-i;

36fclose(fp);

37return0;

38)

八把雄果XX•出到文件OULdtf中•/

39voidWriteDat(void)

40

41FILE*fp;

42inti;

M

43fp-fopen("out.datr"w");

44for(i*0;i<maxline;11♦♦)

45(

w

46printfC%s\nrxx[1]);

47fprintf(fp,7s\n",xx[i));

48)

49fclose(fp);

50

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

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

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

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

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

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

例如:位置01234567

源字符串hgfedcba

则处理后字符串hafcdebR

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

请勿改动数据文件Hdat中的任何数据、主函数main。、读函数re«n>at()和耳函败writeDat()的内容.

■include<stdio.h>

yllnclude<string.h>

3voidreadDat();

4voidwriteDat();

5charxx(20J(80]:

6voidjsSort()

e

9

10jvoidmain()

11;(

12•readDat();

13jsSort();

14writeDat();

15i)

;“从文件iadtf中谟取20打数据存放到字柯串数蛆xx中•/

16!voidreadDat()

17•(

18•FILE•in;

19!inti■0;

20;char*p;

21!in•fopen("in.dat"/°r");

22{while(i<20&&fgets(xx[1],80,in)!-NULL)

j

23j(

2Ap•strchr(xx[i]**\n*);

25if(p)*p•0;

26if

27i)

28;fdose(in);

29!)

•/♦把懦果出到OUt<fal文件中•/

30;voidwriteDat()

31\(

32FILE*OUt;

33•int1;

w

34out-fopen("out.date;

35for(1•0;i<20;

36

37printfxx[1]);

wH

3Bfprintf(out,%s\n,xx[1]);

39

40fclose(out);

41

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中巳定义数ALa|200].b(200],巳定义变量:ent

请勿改动数据文件m.dat中的任何数据、主函数nwunO、读的数rvadDatO和写曲数writeDUO的内容.

1

1.•include<stdio.h>

2J•defineMAX200

3!inta|MAX]#ent-0;

4-voidjsVal()

5!!

6।

8;voidreadDat()〃从xn・必e文件中虐取200个四位效存入fHSA中

w

12;fp-fopen(in.dat",

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

14jfscanf(fp<6a(1]

15;fclose(fp>;

16;十

17;writeDat()/把计算能果cnl以及我耻b中料含条件的内付数♦出到outdai文件中

18

D;

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!)

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

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

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

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

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

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

out.dat中。

例如:

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

00000111,加上原来"2"的ASCII值01111010得至【J10000001结果。

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

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

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

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

linclude<stdio.h>

iinclude<string.h>

3charxx(501(801;

4intmaxline=0;/•文豪的总行数,/

5intReadDat(void);

6voidWriteDat(void);

7voidStrCharJR(void)

8

9

10

11voidmain()

12I

13if(ReadDat())

14

15printf数据文件in.dat不能打开!\n\007*1

16return;

17I

18StrCharJRO;

19WriteDat{);

20

八从文件m&u中谈取篇英文文章存入J1字符申敛但MI中•/

21intReadDat(void)

22

23FILE*fp;

24inti*0;

25charep;

www

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

27return1;

whlle(fgets(xx(i]r80,fp);•NULL)

(

::p»strchr(xx[i)#

if(p)*p,0;

32•£♦+;

33j)

34;maxline•i;

35!fclose(fp);

36ireturn0;

37i)

i/果xx・出到文依ouutai中•/

38JvoidWriteDat(void)

39j(

40-FILE*fp;

41»inti;

www

42;fp«fopen("out.dat#w);

43!for(i■0;i<maxline;i4+)

44;(

R

45jprintf(%s\n"rxx[i]);

46jfprintf(fp,w%s\nM,xxI1));

47j)

48{fclose(fp);

49;)

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

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

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

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

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

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

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

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

程序中已定义数组:限00],b(200],已定义变量Ient

请勿改动数据文件in.dat中的任何数据、主函数读函数readDat()和写函®twriteDatO的内容。

1jixncludG<stdio.h>

2\IdefineMAX200

3inta(MAX],b[MAXbent

4voidwriteDat();

5voidjsVal()

6

7

8

9voidreadDat()

10

11

12FILE*fp;

wR

13fp,fopen(in.dat/"

14ford-0;i<MAX;

15fscanf(fp,"Rd",J

16fclose(fp);

17

18voidmain0

19

int1;

readDat();

jsVal();

printf("满足条件的数7d\rT.cn

for(i-0;i<ent;

printf(0%d",b(i]);

printf「\n”);

writeDat();

28J

29voidwriteDat()

30

31FILE#fp;

32inti;

33fp-fopen("out.datw,;

wn

34fprintf(fp,%d\necnt);

35for(1-0;i<ent;[♦+)

36fprintf(fprbl:】);

37fclose(fp);

38

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

finclude<stdio.h>

Iinclude<string.h>

3•finclude<ctype.h>

4unsignedcharxx[50][80];

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

6;intReadDat(void);

7•voidWriteDat(void);

8;voidencryptCharO

9J(

10;

unsignedintval;

11;

12;

13;voidmam()

14;(

15!if(ReadDatO)

16i(

:;iprintf("数据文件m.dat不能打开!\n\007");

return;

19;

20jencryptChar();

21;WriteDat();

22jI

/•从文件tiLdm中谕取一篇英文文IL存人勃字符中数批1*中•/

23;intReadDat(void)

24!I

25JFILE*fp;

26\inti-0;

27!unsignedchar*p;

28\

if((fp-fopenLin.daL,)-NULL)

29-return1;

1

30•while(fgets(xx(i)#80,fp)«NULL)

31((

32j

p-strchr(xx[ih*\n*);

33iif(p),P-0;

34\if

35:

36;maxiine«i;

37;fclose(fp);

38!return0;

39;»

/•£结果MX■出到文件outdai中•/

40-voidWriteDat(void)

41

42FILE*fp;

43inti;

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

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

46(

H

47printf("ls\nrxx[i]);

48fprintf(fp,Fs\n”,xx[ij);

49)

50fclose(fp);

51

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

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

学生信息、学生选课信息进行管理。已知系(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分)

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

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

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

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

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

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

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

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

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

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

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

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

43.在SQLServer2008中,建立索引视图的目的是为了提高数据查询的

效率。下列关于索引视图的说法,错误的是()o

A.当很少对基表数据进行更改操作时,适合建立索引视图

B.索引视图的数据被物理地保存在数据库中,因此建立索引视图会占用

更多的存储空间

C.对于经常执行连接和聚合操作的查询,不适合建立索引视图

D.如果GroupBy列具有高基数度的数据聚合,则不适合建立索弓【视图

44.下列关于SQLServer2008身份验证模式的说法,错误的是()。

A.在“Windows身份验证模式”下,不允许sa登录到SQLServer服务器

B.在“Windows身份验证模式”下,所有Windows用户都自动具有登录到

SQLServer服务器的权限

C.不管是哪种身份验证模式,Windows中的Administrator无需授权就可

登录到SQLServer服务器

D.安装好SQLServer之后,可以根据需要随时更改身份验证模式

参考答案

LD解析:数据独立性是指应用程序与数据之间相互独立、互不影响,

数据独立性包括物理独立性和逻辑独立性。在数据库系统阶段,数据具

有较高的物理独立性和逻辑独立性。

2.D解析数据模型数据的组织方法+数据操作集合+数据完整性集合。

3.B解析:若顺序表中结点个数为n,且往每个位置插入的概率相等,则

插入一个结点平均需要移动的结点个数为n/2o

4.C解析:在数据库系统中,有3种数据模型:网状模型使用网状结构

来表示实体之间的联系;层次模型使用层次(树型)结构来表示实体之间

的联系;关系模型用二维表数据来表示实体之间联系。

5.A在进行二分法查找时,线性表节点必须按关键码值排序,而且线性

表是按顺序存储方式存储的

6.D解析:在多道程序系统中,每组进程中的每一个进程均无限期地等

待被该组进程中的另一个进程所占有且永远不会释放的资源,这种现象

称为系统处于死锁状态。掌握如何解除死锁,以及睡眠、等待、独占的

概念。

7.D解析:新一代数据库应用开发工具应具备的特征有:支持与多种数

据库连接,支持可视化图形用户界面,支持面向对象的程序设计,支持

开放性,提供完善的数据对象等。掌握数据库应用开发工具的发展趋势

和目前存在的问题。

8.C解析:在嵌入式SQL,中,为了区分SQL语句与宿主语句,所有

SQL语句前必须加上前缀标识“EXECSQL”,并以“END-EXEC”作为语

句结束标志,结束标志在不同的宿主语言中是不同的。

9.D解析:数据独立性是数据库领域的一个常用术语,包括数据的物理

独立性和数据库逻辑独立性。数据的物理独立性是指用户的应用程序与

存储在磁盘上的数据库中的数据是相互独立的。也就是说,数据在磁盘

上的数据库中是怎样存储的,是由DBMS管理的,用户程序不需要了

解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改

变时,应用程序不用改变。数据的逻辑独立性是指用户的应用程序与数

据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用

户程序也可以不变。

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

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

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

可为各种用户所共享。

11.系统目录/数据字典/DD系统目录/数据字典/DD

12.m

13.FAT【解析】操作系统之所以能够找到磁盘上的文件,是因为有磁盘

上的文件名与存储位置的记录。在DOS里,它称为文件表(FAT);在

Windows里,称为虚拟文件表(VFAT);在mM的操作系统OS/2里,称

为高性能文件系统(HPFS)。

14.12

15.B1B1解析:根据计算机系统对各项指标的技术情况,TCSEC将系

统划分为4组7个安全级别,按系统可靠性或可信程度逐渐增高依次

为:D、ChC2、Bl、B2、B3、AloBl级别的产品才被认为是真正意

义上的安全产品,达到此级别的产品其名称中多冠以“安全”或“可信”字

样,作为区别于普通产品的安全产品出售。

16.ISPISP解析Internet服务提供商(ISP)是用户接入Internet的入口点。

一方面它为用户提供Internet接入服务;另一方面,它也为用户提供种

类信息服务。

17.源程序源程序解析:在计算机语言中,把用高级语言和汇编语言写

的程序称为源程序,对应的机器语言程序称为目标程序。

18.DataWindow.NETPowerBuilder美国Sybase公司研制的一种新型、快

速开发工具,是客户机/服务器结构下,基于Windows3.x、Windows95和

WindowsNT的一个集成化开发工具。它包含一个直观的图形界面和可

扩展的面向对象的编程语言PowerScript,提供与当前流行的大型数据库

的接口,并通过ODBC与单机数据库相连。PowerBuilder的主要特色是

DataWindow(数据窗口),通过DataWindow可以方便地对数据库进行

各种操作,也可以处理各种报表,而无需编写SQL语句,可以直接与

SybasesSQLServersInformixsOracle等大型数据库连接。

19健立【解析】SMTP的通信过程可以分成三个阶段:连接建立阶段、

邮件传递阶段和连接关闭阶段。

20.关系完整性约束关系完整性约束

21.A

22.A

23.B解析:将23,14,9,6,30,12,18依次按散列函数K(k)=kmod7计算,

并按线性探测法解决冲突,得到的散列结果是14,18,23,9,30,12,6O

24.B

25.D

26.C

对应于外模式的数据库称为用户级数据库。它是用户可以看到并准许

使用的数据库。模式也叫做概念模式,它是全局逻辑级的,是数据库

的整体逻辑结构。内模式对应于数据库的存储结构,是为了提高模式

对存储设备的独立性而设立的。

27.B

28.D

29.A解析:概念模型用于信息世界的建模,是将现实世界的客观对象抽

象为某种信息结构。这种结构不依赖于具体的计算机系统,不是某一个

DBMS支持的数据模型。实际上是现实世界到机器世界的一个中间层次。

30.C

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

\n【解题思路】

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

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

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

\n【参考答案】

\n

\n

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

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

符不参加处理。

\n【解题思路】

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

\n【参考答案】

\n

\n

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

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

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

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

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

\n【参考答案】

\n

\n

34.【审题关键句】千位+十位组合与个位+百位组合,都是奇数,两数相

减结果大于等于0小于等于10,从大到小排序。

\n【解题思路】

\n①首先,本题要定义多个变量,包括两仑循环变量循环isj;用来存

放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和gw(个

位);两个用来存放重新组合数字的变量newVl和newV2。

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

位数,根据题目要求,对其各位数进行重新组合,形成两个新的十位数,

组合条件分别是原四位数的千位和十位组成一个十位数,个位和百位组

成一个十位数,并将两个新的十位数分别赋给变量newVI和newV2o

\n③数字重组完毕之后,再根据题目要求筛选满足条件的四位数,本题

需要考虑多个筛选条件:一是新组合的十位数中,其十位数不能为0,

即原四位数的千位和个位数字不能为0;二是两个新组合的十位数之差

必须大于等于。小于等于10;三是两个新组合的数字均为奇数。

\n④将同时满足以上3个条件的四位数赋给数组b[cnt],同时数组下标

值加1,当for循环执行完毕后,则将所有满足条件的四位数全部存放

到数组b[cnt]qbo

\n⑤最后通过两个for循环,对数组b[cnt]中的元素按从大到小的顺序排

序,排序过程中,可用newVl或newV2作为数据交换的中间变量。

\n【参考答案】

\n

\n

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

温馨提示

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

评论

0/150

提交评论