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

下载本文档

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

文档简介

[2021年】吉林省通化市全国计算机等级

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

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

一、1.选择题(10题)

1.由权值分别为3,8,6,2,5的叶子节点生成一棵哈夫曼树,它的带

权路径长度为

A.24B.48C.72D.53

2.操作系统中,进程在下列情况下从执行状态转为就绪状态。

A.进程被调度选中B.时间片用完C.等待某一事件D.等待的事件发生

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

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

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

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

的结点个数为()。

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

5.若用如下的SQL语句创建表S:CREATETABLES(S#

CHAR(6)PRIMARYKEY,SNAMECHAR(8)NOTNULL,SEXCHAR(2),

AGEINTEGER)

s#SNAMESEXAGE

922345021876李明芳张为王小女男2332

005321伟男34

上列各元组可插入S表的是

I.C0223451'袁鸣明‘,'男',25)

II.(620746,,杨云,,NULL,NULL)

III.(D2072r,张为二'女[21)

A.全部B.i和iic.i和mD.II和m

6.9.数据库管理系统通常提供授权功能来控制不同用户访问数据的权

限,这主要是为了实现数据库的()

A.可靠性B.一致性C.完整性D.安全性

7.在虚拟页式存储管理系统中,地址越界中断属于()。

A.输入输出中断B.程序性中断C.时钟中断D.自愿性中断

8.DB是

A.数据库B.数据库管理系统C.数据处理D.数据库系统

9.计算机的内存储器比外存储器

A.便宜B.储存更多信息C.存取速度快D.虽贵,但能储存更多信息

10.在关系SC(student_id,student_name,course_id,grade)中,有

student_id,course_id—gradestudentid—>student_name关系SC最高达至1J

范式。

A.不满足B.1NFC.2NFD.3NF

二、填空题(10题)

11.在操作系统的存储管理中,存储共享的两个目的是_口_和实现进程

通信。

12.

设哈希函数h(k)=kmod7,哈希表的地址空间为。〜6,对关键字序列(32,

13,49,55,22,38,12)按线性探测法解决冲突,关键字12应存

放在散列表中的地址是【】,

查找关键字12需比较的次数为【】

13.在多道程序设计中,为了保证系统的安全,将指令系统中的指令分为」]_和非一两部分。

14.计算机应用技术领域包括科学计算、事务处理、过程控制、辅助工程、

网络应用和多媒体的应用等七大领域。

15.用户检索POP3邮件服务器的过程可以分成3个阶段:

事务处理阶段、更新阶段。

16.按网络覆盖范围分类,用于实现几十公里范围内大量局

域网的互联。

17.使用PowerDesigner的DataArchitect,可以对已有的数据库生成物

理模型(PDM),这种功能通常称为o

18.SQLServer中一"数据页的大小是__________KBO

19.在数据仓库建立过程中,对数据进行纠正和预处理的过程称为数据

20.在因特网中,域名解析通常借助于一组既独立又协作的

完成。

三、单选题(10题)

21.在登录日志文件时,应该

A.将更新数据库与登录文件两个操作同时完成

B.将更新数据库与登录文件两个操作按随机的顺序完成

C先写数据库的更新,后登录日志文件

D.先登录日志文件,后写数据库的更新

22.下面说法中错误的是()

A.子类具有继承性

B.子类的键是其超类的键

C.子类继承超类上定义的全部属性,其本身不可包含其他另外的属性

D.同一实体类型的若干子类之间可相交也可不相交

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

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

24.消息认证是指接收者能够检验收到消息真实性的方法,下列不属于

消息认证的检验内容?

A.A.证实消息的源和宿B.消息的内容是否保持其完整性C.消息

的序号和时间性D.消息是否被窃取

25.以下关于因特网中的电子邮件的说法,错误的是()。

A.A.电子邮件是有固定格式的,它由邮件头和邮件体两部分组

B.电子邮件应用程序的最基本的功能是:创建和发送,接收、阅读和管

理邮件的功能

C.密码是对邮件的一个最基本的保护。目前,保证电子邮件安全性的主

要手段是使用大写字母、小写字母、数字和符号混用的密码

D.利用电子邮件可以传送多媒体信息

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

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

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

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

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

27.下列SQLServer提供的系统角色中,具有数据库服务器上全部操作

权限的角色是__________O

A.db_ownerB.dbcreatorC.db_datawriterD.sysadmin

28.下列关于数据的逻辑结构的叙述中,哪一个是正确的?()。

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

B.数据的逻辑结构反映了数据在计算机中的存储方式

C.数据的逻辑结构分为顺序结构和链式结构

D.数据的逻辑结构分为静态结构和动态结构

29.逻辑文件存放在存储介质上时,采用的组织形式是与什么有关?

A.逻辑文件结构B.存储介质特性C.主存储器管理方式D.分配外设方

30.在建立表结构时定义关系完整性规则()

A.使DBS能够自动维护数据完整性约束条件B.还需要编程实现数据完

整性约束条件C.没有必要定义D.将使系统操作复杂

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注部分源程序存在tesl.c文件中・

程序中已定义敷蛆$a[200].b[200],已定义变*:ent

请勿改动数据文件in.dat中的任何数据、主函数漆函数rcadDatQ和写函数writeDat()的内容.

1!Iinclude<stdio.h>

2iIdefineMAX200

3;inta[MAXhb(MAX],ent-0;

4!voidwriteDat();

5ivoidjsVal()

6\(

e;i

9!voidrcadDat()〃从in.dac■文件中灌取20。个四位或〃入数Ma中

10.(

11;inti;

12•FILEwfp;

13ifp-fopen("in.datw;

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

w

15jfscant(fp,"%dr[1]);

16ifclose{fp);

17!)

18«voidmain()

Jft

32.函数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

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

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

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

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

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

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

例如,9123.9-I-2-3X),则读数满足条件存入败组b中.且个数cnmi+1.

9812.9-8-1-20,则该政不满足条件忽略.

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

程序中已定义1!(组:a(300),b(300),已定义变量卜cm

请勿改动数据文件in.dat中的任何数据.主函敷mainO、波函数readDatO和写函数writeDat()的内容.

tlnclude<stdio.h>

2inta(300J,b(3001#cnt-O;〃定义整型Idfi△【300],和攵并且6t的初值为0

3voidwriteDat();

4voidreadDat();

5voidjsVa1ue()

6

7

8

9main()

10

11inti;

12readDat():

13•isValue();

14;writeDat();

R,

15!printf(cnt-%d\n'rent);

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

17\printf(wb(%dl-W\n",“b[:

18I)

19;voidreadDat()

20!(

21•FILE*fp;

22-int1;

wM

23jfp-fopen(in.dat*r*r);

24;ford-0;1<300;if)

25|fscanf(fp,

26jfclose(fp):

AT>I

28!voidwriteDAt()

29;1

30■FILEwfp;

31!int1;

32ifpnfopen(wout.dat","w");

33Jfprintf(tp,"%d\n"fent);

34•for(i-0;1<ent;if

35;fprintf(fp,Fd\n",b(iH;

36?fclose(fp);

37I}

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

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

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

第一个新的值,存入数组单元xx用⑼中(其中: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

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中已定义数ifl:a[200),b[200),巳定义变lbent

请勿改动数据文件in.dat中的任何数据、I函数main。、读函数0(10&4)和^^函故wrileDatO的内容.

1♦*include<stdlo.h>

2|fdefineMAX200

3•inta(MAX],“MAXI,ent-0;

4;voidwriteDat();

5'voidisVal()

9«voidreadDat()〃从In.da。文件中迷取200个四位数存入敷a中

10;(

11!xnt£;

RnRH

13•fp■fopen(in.datrr);

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

15;fscant(fp9

16!fclose(fp);

17:)

18;voidmain()

19!(

20iint1;

readDat();

22•isVai();〃谓用曲数WV&U),虬现■目■求的功雏

23jprint—”满足条件的数,%d\n**/ent);

24!for(i•0;1<ent;

25;printf("%dIb(i]);

26jprintf(H\nw);

27•writeDat();

28;J

29voidwriteDat()〃把计簿的IEent以及数能b中希合条件的四位数・出舞Mdii文件中

30(

31FILE*fp;

32inti;

33fp-fopen("out.datM,Hww);

34fprintf(fp/ent);

35for(i-0;i<ent;

36fprintf(fp,w%d\n**/b[i]);

37fclose(fp);

38

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

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

其功能要求:

1.求出该文件中共有多少个正整数totNum;

2.求这些正整数右移1位二进制位后,产生的新数是奇数的数的个数

totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjzo

最后main函数调用函数WriteDat把所求的结果输出至1J文件out.dat

中。

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

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

和输出函数WriteDat的内容。

•include<stdio.h>

2!IdefineMAXNUM200

3\intxx[MAXNUM|;

4;inttotNum-0;〃文件In.dau中年有名少个正整数

5;mttotCnt■0;〃符合条件的正整数的个被

6;doubletotPjt-0.0;〃平

7;intReadDat(void);

6;voidWriteDat(void);

voidCalValue(void)

11;

12!

13;voidmalnO

14;

inti;

16for(i-0;i<MAXNUM;if

17xx(1]-0;

18if(ReadDat())

19

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

21return;

22

23CalValue();

24printsL文件in.dat中共有正整数7d个\n",totNum);

25print。L符合条件的正整数的个数-、d个\n,tocCnt);

26printf平均值=$・21f\n・,totPjz);

27WriteDatO;

28

八源取这若干个正■敏并存入室ifiix中〃

29IntReadDat(void)

30

31FILE*fp;

32inti-0;

33if((fp-fopen(-In.dat-,-r-D-NULL)

34return1;

35while(!feof(fp))

",

37fscanf(fp,7d.e.&xx(i+>]);

38

39fclose(fp);

40return0;

41

/♦把计翼站累存入文件iut.dat中〃

42voidWriteDat(void)

43

44FILE*fp;

45fp-fopen(**out.dat",**w0>;

w

46fprintf(fp,*%d\n%d\ni.21f\n,totNum,totCnt,totPji);

47fclose(fp);

48

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

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

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

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

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

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

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

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

程序中已定义敬蜗:a[200].b(200].已定义变■,ent

请勿改动数据文件im&t中的任何畋据、主的1smm()、读南敬edDatO和写崩数*期加()的内容.

1•linclude<stdio.h>

2\IdefineMAX200

3\intalMAXI,b[MAX],ent-0;

4jvoidwriteDat():

5;voidjsVal()

6\<

7i

8j}

9!voidreadDat()

10;1

11•int1;

12{FILE*fp;

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

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

15ifscanf(fp,

26•fclose(fp);

17!|

18♦voidmain()

19•I

20!inti;

21;readDat();

22:jsVal();

23;phntfL满足条件的故,,小n**.cnt);

24;for(1•0;i<ent;ii)

25!printf(w%d”,b[i]>;

26;prlntf(0\nH>;

27;writeDat();

28!J

29;voidwriteDat<)

30\(

31•FILEefp;

32;inti;

33!fp-fopen(wout.dat*,"w");

34jfprlntf(fp«"%d\n"rent);

35•for(i■■0;i<ent;ii)

36•fprintf(fpr*td\n*rb(i));

37।fclose(fp);

38j1

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

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

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

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

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

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

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

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

题:产品名称比较请用函数strcrnp进行解题。例如:sell[i]=temp;

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

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

linclude<stdio.h>

Iinclude<strln9.h>

linclude<stdlib.h>

4tdefineMAX100

6;(

7jchardm(5];/•产品代码•/

8;charme(111;/•产品名称•/

9!intdjv/•单价•/

10jintsi;/••/

11Jlongje;/•金81•/

12j}PRO;

13;PROsell(MAX);

14*voidReadDat();

15»voidWriteDat();

16;voidSortDat()

17!(

20•voidmain()

21j1

221memset(sell,0,sizeof(sell));

23»ReadDat();

24;SortDat0;

WxiteDat();

26}

27voidReadDat()

28(

29FILE

30charstr[B0]9ch[11];

31int1;

32fp-fopen*r*);

for(1«0;i<100;

34

35fgets(str>80.fp);

36memepy(sell[i]str,4);

37jmemcpy(sell(1].mc«str♦4.10);

38•tnamcpy(ch*4);ch[4]w0;

39isei1(1)«dj•atol(ch);

40।memcpylchf8tr*18*5);uh[51・0,

41jsell|i]<si-atoi(ch);

42;s4lltl].je•(lon9)sell(1).dj,sell(1)

431)

44♦fclose(fp);

45;)

46ivoidWrlteDatO

47j<

48[FIIX*fp;

49•inti;

50)fp•fopen(wout.datM»-3**);

51!for(1•0;1<100;)

52j|

53|fprintf(fp#"Is%s14dI5dtl01d\n*»sell(i|.dm(sell[ij.mcrsell(i|.dj,aellfl].slr

!sellI1J.je);

54i}

55\fclose(fp);

39.函数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•strehr(xx[i],\n*);

25if(p)*p•0;

26if

27i)

28;fdose(in);

29!)

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

30;voidwriteDat()

31\(

32FILEeOUt;

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

40.已知在又件in.dat中存有100个产品销售记录,母个产品销售记录

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

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

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

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

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

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

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

题;产品代码比较请用函数strcmp进行解题。例如:sell[i]=temp;

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

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

Iinclude<stdio.h>

2*tinclude<string.h>

3•tinclude<stdlib.h>

4;♦defineMAX100

5typedefstruct

7chardm(5);八产豆代码•/

charme(11];/•产易名算*/

intdj;/•总价•/

10;intsi;/•收••/

11ilongje;/•金・•/

12;PRO;

13!PROsell[MAX);

14»voidReadDat();

15;voidWriteDat();

16!voidSortDatO

17;(

18

19

20voidm41nO

men15Gt.(eel1.0,slzeof(sell));

ReadDatO;

SortDa匕0;

WriteDatO:

/•试取B100个帆2记景先俘人削I种a》HI中♦/

voidReadDat()

28(

29FILEafp;

30charatr(80)#ch111);

31

32fp■fopen(*in.datw,"r")?

33for(i•0;i<100;

34(

35fgets(str,80.tp);

36memepy(sell{l|atr«4>j

nveincpy<sell(U.me,str♦4.10):

38memepy(chrstr*14,4);ch|4]«0;

39sei1(1].dj*Atoi(ch);

40memepy(ch,str«18«5);ch(5]»0;

41sell[1].si•atoi(ch)/

42sellfi].je•(long)sell(i].dj•sell

43I

44fclose(fp);

45)

八把络果■出男兑付gt&t中•/

46!voidWriteDat(>

dm.aelldl.me,sellUI.dj,sellli]

五、设计与应用题(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,并说明每个关系模式的主码和外码。

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

用下划线标识。

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

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

43.以下哪个设计内容不属于数据库应用系统总体设计范畴()o

A.数据库应用系统体系结构设计B.软硬件选型和配置设计C数据库

软件总体设计D.关系模式设计

44.设有关系模式R(A,B,C,D),存在函数依赖集:{A-B,C-D},

则R最高可属于()o

A.1NFB.2NFC.3NFD.BCNF

参考答案

1.D解析:根据哈夫曼树的构造原理,可得到这5个节点对应的哈大曼

树如图所示”因此其带权路径长度为:(2+3)X3+(5+6+8)X2=53。

2.B解析:进程被调度选中时进程就会进入运行状态;等待某一事件的

进程应该是处于等待状态。如果等待的事件发生,则该进程就由等待状

态进入就绪状态。进程在执行过程中时间片用完则转为就绪状态。

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

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

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

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

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

5.C

6.D解析:在计算机的安全性控制中,包括用户标识和鉴别、DBMS存

取控制、操作系统安全保护及数据密码存储。对于数据库的安全性主要

是DBMS的存取控制机制,这样可以确保只授权给有资格的用户访问

数据库的权限,同时令未被授权的人员无法接近数据。

7.B解析:中断机制是现在计算机设施中的基本设施之一。它在系统中

起着通信联络的作用,以协调系统对各种外部资源的相应和处理.一般

将中断源分为两类:即强迫性中断和自愿性中断。自愿性中断是正在运

行程序时有意识安排的,通常由程序员在编制程序时,因要求操作系统

提供服务而有意识使用访管指令或系统调用,从而导致中断的。而强迫

性中断是正在运行的程序所不期望的,它们是否发生,何时发生都无法

预料。这类中断大致有以下几种:①输入/输出中断是来自通道或各种外

部设备的中断,用以反馈通道或设备的工作状况;②硬件故障中断是机

器发生错误时的中断,用以反馈硬件在执行过程中出现的故障;③时钟

中断是硬件或软件时钟到时引起的中断;④程序性中断是因运行过程中

的问题所引起的中断,用于反馈程序执行过程中出现的意外情况,如目

态下执行特权指令、地址越界、虚拟存储中的缺页等。因此地址越界中

断属于强制中断中的程序性中断,本题正确选项为B。

8.A解析:DB是数据库(DataBase)的英文缩写。

9.C解析:主存储器简称主存或内存,是计算机中用来存放指令和数据

并能由中央处理器直接存取的存储器。计算机工作时,整个处理过程中

用到的数据和指令都存放在内存中。辅助存储器简称辅存或外存,是不

直接向中央处理器提供指令和数据的各种存储设备。它主要用来存放内

存中难以容纳,但为程序执行所需要的数据信息。内存存储速度快,但

存储成本高且容量小;外存的存储容量大,存储成本低,但存取速度慢。

10.B

1L节省内存空间存储共享是指两个或多个进程共用内存中相同的区域,

目的是节省内存空间,实现进程间通信,提高内存空间的利用效率

12.

56次

h(k)=kmod7,所以地址为:12mod7=5.分别于关键字进行比较,从而得

出比较次数为6.

13.特权指令

特权指令是指具有特殊权限的指令,在多用户,多任务的计算机系统中,

特权指令却是不可缺少的。它主要用于系统资源的分配和管理,包括改

变系统的工作方式,检测用户的访问权限,修改虚拟存储器管理的段表,

页表和完成任务的创建和切换等

14.人工智能【解析】概括起来,计算机应用技术领域包括科学计算、

事务处理、过程控制、辅助工程、人工智能、网络应用和多媒体的应用

等七大领域。

15.认证阶段【解析】用户检索POP3邮件服务器的过程可以分成3个

阶段:认证阶段、事务处理阶段、更新阶段。

16.城域网【解析】城域网是介于广域网和局域网之接的一种高速网络。

城域网的设计目标是满足几十千米范围内的大量企业、机关、公司的多

个局域网的互联需求,以实现大量用户之间的数据、语音、图形与视频

等多种信息传输。

17.逆向工程逆向工程

18.8KB

19.清理清理

20.域名服务器【解析】主机名与IP地址的映射是借助一组既独立又协

作的域名服务器完成的。因特网中存在大量的域名服务器,每台服务器

保存它所管辖区域内的主机名与IP地址的对照表。域名服务器是域名

解析系统的核心。

2LD解析:为保证数据库是可恢复的,登记日志文件时必须遵循以下两

条原则:1、登记的次序严格按并发事务执行的时间次序;2、必须先写

日志文件,后写数据库。

22.C

23.C

24.D

消息认证是指接收者能够检验收到消息真实性的方法,检验的内容包

括:

①证实消息的源和宿

②消息的内容是否保持其完整性、即未篡改

③消息的序号和时间性

25.C选项A),电子邮件是有固定格式,它由邮件头和邮件体两部分组

成;选项B),电子邮件应用程序的最基本的功能是:创建和发送,接收、

阅读和管理邮件的功能;选项C),每个邮箱都有密码保护,这是最基本

的保护,目前,保证重要邮件的安全性的主要手段是使用数字证书,数

字证书可以证明用户的身份。加密电子邮件,保证不被修改;选项D),

利用电子邮件可以传送多媒体信息,MIME协议支持多媒体信息的发送。

26.C

27.D

28.A解析:按照逻辑结构的定义数据的逻辑结构是数据间关系的描述,

只抽象地反映数据元素之间的逻辑关系,不管其存储方式。顺序结构、

链式结构、静态结构和动态结构都是指存储结构。因此A是正确的。

29.B解析:用户的逻辑文件要存放到存储介质上时,文件系统要根据存

储设备的类型,用户采用的存取方式决定文件在存储介质上的组织方式。

30.A

31.\n【审题关键句】个位+于位与百位+十位,奇数,偶数,整除,从大

到小排序。

\n【解题思路】

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

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

参考答案的第8、9

温馨提示

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

评论

0/150

提交评论