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

下载本文档

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

文档简介

2022年辽宁省朝阳市全国计算机等级考试

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

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

一、1.选择题(10题)

1.计算机病毒对于操作计算机的人()

A.只会感染、不会致病B.会感染致病,但无严重危害C.不会感染D.产

生的作用尚不清楚

2.建立Delphi程序的基本操作步骤中不包括

A.需求分析B.创建一个新的项目C.设计窗体D.编写构件响应的事件

3.对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关

键码等于给定值,此时元素比较顺序依次为

A.R[0],R[l],R[2],R[3]

B.R[0],R[13],R[2],R[3]

C.R[6],R[2],R[4],R[3]

D.R[6],R[4],R[2],R[3]

4.对于下列三种中断:a.系统调用中断、b.溢出中断、c.调页失误

中断,它们的中断优先级从高到低应是。

A.abcB.acbC.bcaD.bac

5.对于下面的两张表,从表一到表二的分析过程称为

*-博侦:万加

X04#ms*

的二粗三”测三"EtB.

20ISn2514

*1225515IS20!82)12

20151)27IS3)1725

卜碟岫山

二”三打晒

in勘J,加I*2m2m20t»l|20Ml

ini2012s»2S15

网122)35"ll15aIJ12

即»11uu力25

A.上卷B.下钻C.切片D.转轴

6.关于数据库系统三级模式结构,下列论述中正确的是

A.三级模式结构是数据库惟一的一种分级模式结构

B.外模式/概念模式映像为数据的物理独立性提供支持

C内模式与物理数据库等价,概念模式与逻辑数据库等价

D.外模式是概念模式的一个逻辑子集,且外模式的某些描述可以与概念

模式不同

7.系统软件是随计算机出厂并具有通用功能的软件。下列不属于系统软

件的是

A.操作系统B.信息管理系统C.数据库管理系统D.服务性程序

8.由于页面淘汰算法不合理或其他原因,使得可能出现刚被淘汰的一页,

又要访问,因而又被调入内存,如此反复,使系统出现页面的频繁调入

调出的情况,这种现象称为()。

A.抖动B.缺页C.死锁D.循环

9.设散列表的地址空间为0到10,散列函数为h(k户kmodll,用线性探

查法解决碰撞。现从空的散列表开始,依次插入关键码值95,14,27,

68,82,则最后一个关键码82的地址为:

A.4B.5C.6D.7

10.编译程序和解释程序都是O

A.目标程序B.语言编辑程序C.语言处理程序D.语言连接程序

二、填空题(10题)

H.系统中有N个进程,则进程就绪队列中最多有【】个进程。

12.“报表向导”中设置字段排序时,一次最多能设置【】个字段

13.一个算法的时间复杂性通常用数量级形式表示,当一个算法的时间复杂性与问题的规模

n无关时,则表示为【】

14.在SQL语言中,若要删除一个表,应使用的语句是TABLEO

15.设根结点的层次为0,则高度为k的二叉树的最大结点数为o

16.如果关系模式R的属性之间不存在非平凡且非函数依赖的多值依赖,

则R的规范化程序达到了。

17.在一棵二叉树中,度为0的结点个数为No,度为2的结点个数为瓯则有No=[]

18.在稀疏矩阵所对应的三元组线性表中,每个三元组元素按【】为主

序排列。

19.传输层的主要任务是向用户提供可靠的服务,透明地传

送报文。

20.在关系数据库标准语言SQL中,实现数据检索的语句(命令)是【】。

三、单选题(10题)

21.下列关于SQLServer数据库管理系统权限的叙述中,哪一条是不正

确的?

A.SQLServer数据库管理系统的权限分为服务器权限和数据库权限两

B.数据库管理员执行数据库管理任务。这是属于数据库权限

C数据库权限又可以分为数据库对象权限和数据库语句权限两种

D.数据库语句权限授予用户以允许他们创建数据库对象

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

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

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

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

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

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

25.下列不是TCP/IP参考模型中的应用层协议()。

A.A.电子邮件协议SMTPB.网络文件系统NFSC.简单网络管理协议

SNMPD.文件传输协议FTP

26.采用SPOOLing技术的主要目的是()。

A.提供内存和磁盘的接口B.减轻用户编程负担C.提高CPU和设备交

换信息的速度D.提高独占设备的利用率

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

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

28.ODBC是()

A.客户机与服务器之间的接口标准B.数据库查询语言标准C数据库

应用开发工具标准D.数据安全性标准

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

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

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

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

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

30.概念模型()

A.依赖于DBMS和硬件B.独立于DBMS和硬件C依赖于DBMSD.独

立于DBMS

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

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

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

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

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

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

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

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

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

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

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

进行处理。

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

••include

;tinclude

3finclude<ctype.h>

Aunsignedcharxx(50](80);

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

6intReadDat(void);

7voidWritoDat(void);

8voidencryptChar()

9

10

11

请勿改动主函敷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

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

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

其功能要求:

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

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

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

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

中。

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

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

和输出函数WriteDat的内容。

1;linclude<stdlo.h>

2IIdeflneMAXNUM200

3;intxxlMAXNUM];

4!inttotNum-0;〃文件In.dec中共有名少个正餐数

5iinttotCnt-0;〃符合条件的正整数的个数

6doubletotPjz•0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

voidmain()

15!int1;

16;ford-0;i<KAXNUM;i*4)

17|xx[i]-0;

18•if(ReadDat())

19\(

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

21\

return;

22;J

23;CalValue();

24iprintf("文件in.dat中共有正整数个\n*totNum);

25•printfL符合条件的正整数的个数个tocCnt);

26printf("平均值\n“,totPjz);

27WriteDat();

28)

/・提取达若F个正整数并存入u中•/

29intReadDat(void)

30(

31FILE*fp;

32int1-0;

33if((fp-fopen(wln.dat*,*r*))-NULL)

34return1;

35while(!feof(fp))

36I

37

fscanf(fp#7dJ.&xx(i+*]);

38)

39fclose(fp);

40return0;

41)

〃把计算站累存入文件,ut.dat中•/

42voidWriteDat(void)

43(

44FILE*fp;

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

ww

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

47fclose(fp);

48

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

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

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

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

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

请”改动数据文件indat中的任何数据以及上函数main。和输出函数rcadwritcDATO的内容.

1-#include<stdio.h>〃mdudc调句说明鲁程片中包含vc6.0中的标港■人■出"语数Mdx>.h

2!voidreadwriteDAT();//fififtrekHmeDATOift明野句

3intisP(intm)〃京数isPHnt皿以新m是否为素数,如果是素效则返出1,否则返回o

4(

5Inti;〃定义变*:

6for(i-2;i<m;〃父**从2依次焉增到土】

7if(m%1-0)return0;〃如瞿m便被1■除,返回o

8return1;〃否射烟回1

9}

10voidnum(intm,intk.intxx(])

11

12

13

14main()

15(

16intm,n,xxflOOO);〃定又受Itm,c能敷配xxliooo】

17printf(n\nPleaseentertwointegers:**);

18scanf(Fd,*d。Mn,&n);〃从便负读入两个败受■m,n

19num(m,n,xx);〃&网函IknuEnntn,mtk.mtu[D实理将大于靴数m的k个虐效标入

20for(m-0;m<n;mi)〃空从0依次逢增到nT

21prmef("%dxx(m));〃■出我如兀虞xxi。]

22prlntf("\nw);〃■出一个网车按If符

23readwriteDAT<);用函畋ZunteDATOie储鬓■出到omdai文件中

24)

25voidreadwriteDATO”也敷rgdwrtsMT(i的定义附句

26<

27inte,n.xx(1000)«i;〃定义整型变■o.c,£知敏铝xx[100。]

28FILETf,*wf;〃定义文件指什攵wf

29rf-fopen(win.dac",*rw»;〃以只愧的方式的,升文件s.ut,并用”指向这个文件

wM

30wf-fopenCout.dat*rw);〃以只用的方式的打开文件。ut.da匕•并用wf指向这个文ft

31for(i-0;i<10;£♦+),/谓跖交量幺从。依次通用到9

32(

H

33fscanf(rftFd%d,3n,&n);〃从文件in&i深入唐个数(ftM绐m.n

34nuw(mrn.xx);〃用•收威1fcmlm(m・k.u[])实现特大于♦鼓mtn的k个IHft存入数tgxx

35for(m-0;m<n;m*+)〃1!环土■«!从。依次

36fprintf(wf,"%d”,xx[m));〃把数但元*xx[m]耳入到文flota.gu中

wSRH

37fprintf(wfr*\n);〃纪国车快打杼写人剑文件.&:中

38}

39fclose(r£);〃关闭•入文件in.da匕

40fclosefwf);〃关闭•法文件out.5匕

41

34.设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开

始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个

人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现

要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编写

函数Josegh(void)实现此功能,并调用函数writeDat,把结果P输出到文

件out.dat中°

设n=100,s=l,m=10o

①将1到n个人的序号存入一维数组P中;

②若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原

来第i+1个至倒数第i个元素依次向前移动一个位置;

③重复第②步直至圈中只剩下p[l]为止。

注意:部分源程序已经给出。

请勿改动主函数main和输出数据函数writeDAT的内容。

!<include<stdio.h>

2♦defineN100

3IdefineS1

4•defineM10

5intp[100]9n,s,m;

6voidWriteDat(void);

7voidJosegh(void)

e

9

10

11voidmain()

12(

13m«M;

14N;

15

16Josegh();

17WriteDat();

18}

,♦把姑祟p■出到文件ouutet中•/

19voidWriteDac(void)

20(

21int1;

22FILEefp;,

23fp■fopen("out.dat*,"ww);

,•以电♦的方式,以10个败掘为一ttt把Ihaai]■出利脚幕和文件曲.如中•/

24for(i-N-1;1>»0;i-T

25(

26printf(R%4d”,

27fprintf(fp,"i4dR>p(i]);

28if(i410—0)〃如果i・被10■除.出一个回车换行符

29(

30prlntf(**\nw);

31fprintf(fp,"\n*);

32}

331

34fclose(fp);

35

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

fInclude<stdio.h>

2•include<strlng.h>

3*include<stdlib.h>

4IdefineMAX100

5typedefstruct

6(

7chardm{5];/•产品代利•/

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

9intdj;/•华优•/

10intsi;/•**•/

11longje;/••/

12}PRO;

13PROsell(MAX];

14voidReadDatO;

ISvoidWriteDat();

16voidSortDat()

17

18

19;

20;void

21;(

22;momset(sellt0,sixeof(sell));

23jReadDat();

24;SortDat();

25!WritoDat();

26)

27;voidReadDat()

28!I

291FILE♦“>;

30\charstr(80],ch[111;

31Jinti;

325

fp•fopen("in.dat"r*r">/

33!for(1•0;1<100;£♦♦)

34;(

35;fgets(str,80,fp>;

36!memepy(sell(1)stt,4);

37;nioroepy(sellli).me,str♦4,10);

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

39isellfl].dj-atol(cb);

40;memepy(ch,str*18,5);ch(5)-0;

41;8ell(i].si•atoi(ch);

42•scllID.je-(lon^>sell(i).dj・sellfi].si;

43;>

44;fclose(fp);

45;)

46•;voidWriteDat0

47;(

48;FILE*fp;

49jint1;

50•fp-fopen("out,datw,;

51\ford•0;1<100;

52!(

53;fprlntf(fp,"%8IsUd*SdH01d\n*r3011(1].dm,5ell(ibincrsell(lj.djrsellli).si,

:seXHU.jeH

541)

55Jfclose(fp);

563

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

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

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

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

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

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

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

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

注意,部分源程序存放在teste文件中,原始数据文件在放的格式品*每行的宽度均小于8。个字符.台标点杼号相至

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

谪如改动主国数miinO、RedD«0和■出的依WmeDmO的内容.

11!include<etdio.h>

2itinclude<string.h>

3••Include<ctype.h>

4»unsignedcharxx[50)[80];

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

61xntReadDat(void);

7ivoidWriteDat(void);

8;voidencryptChar()

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■strehr(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

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

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

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

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

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

件中。

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

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

请勿改动数据文件irtdat中的任何数据、主的数皿加0、读函数readDatO和写函数writeDatO的内容.

tinclude<stdio.h>

IdefineMAX200

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

voidwriteDat();

voidJSVAI()

6

7

8

9voidreadDat()〃从xc.dat文件中S取200个四位敷存入数忸a中

10(

11inti;

12FILEefp;

13fp-fopenLin.daL.*r*>;

14for(i«0;1<MAX;ii)

w

15fscanf(fp,•*%d/&a[1]);

16fclose(fp);

17)

18voidmain()

19(

20inti;

21readDat();

22javal();〃■用嫉数)avalO,实闻IH要求的功健

23prinef("满足条件的数,Qd'n”,ent);

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

25prlntf("%d”•b[i]);

26printf("\n**);

27writeDat();

28»

29voidwriteDat()〃祖计%防果cm以及数也b中整合条外的四位依■用到ourdu文件中

30(

31FILE*fp;

32int1;

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

34fprintf(fp/rd\n",ent);

35for(i-0;i<ent;

36fprintf(fp,"・d\n".b(i]);

37fclose(fp);

38

38.已知数据文件INI.DAT和IN2.DAT中分别存有100个两位十进

制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b

中,请考生编制一个函数jsVal,实现的功能是依次对数组a和b中的

数按条件重新组成一个新数并依次存入数组C中,再对数组C中的数

按从小到大的顺序进行排序,最后调用输出函数writeDat把结果C输出

到文件out.dat中。组成新数的条件:如果数组a和b中相同下标位置

的数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为

新数的个位数字,数组b中的十位数字为新数的百位数字,个位数字为

新数的十位数字,这样组成的新数并存入数组C中。

例如,ai123124152115

b*3245172718IS

ciMSI12751155

播序IIS512753451

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

程序中已定义8叩00卜b(100)和班001・

请勿改动数拐文件IN1.DAT和IN2,DAT中的任何依据・主函数nuun().读函ItreadD叫)小与#数wnteDatO的内*.

1'•include<ttdio.h>

2itdeflneMAX100

3\inta(MAXltbfMAXJ,c[MAX]/

4»intent•0;/•卷■符含餐件数的个我•/

5;voidJsVal<)

6!I

1;

•>

j,•纪”据文件INIDATf0N2.DAT中的100个一粒十〃入驻•国b中〃

9-voidreadDat<)

10»(

11-int1)

12•FILE・fp;

13:fp-fopenClnl.daCM»*r*);

14!ford-0;1<MAX;…)

15\tacanf<fp,Fd-.(afUH

16-fcloaelfp);

17jfp•fopen("in2.d4t","r*J;

18\for(i-0;1<MAX;!♦*>

19»fscanf(fp<"W・5bH1);

20;fclose(fp):

21j)

22IvoidmainO

23!(

24jintitvoidwriteDat();

25jford-0;1<MMU

26jc(l)-0;

27-readDat();

28■jsVal<);

29;for(i-0;1<MAX“efil>0;

30!prlntf(wtd\n*,c(l)):

31iwritoDat()i

32j)

;/•纪恰果数期c•由到文传wufat中•/

33-voidwriteDat()

34•(

35;FILE*fp;

36!int1;

37;fp«fopen("out.dtt*,3);

38Jford-0;1<MAX“c(i)>0Jiz)

391fprlntf(fp,*ld\n*tc(ll)/

40\fclose(fp);

41!)

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

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

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

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

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

字符的ASCH值,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;

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

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

的数减千位数上的数减百位数上的数减十位数上的数大于零的个数ent,

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

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

数组b中的数输出到文件Out.dato

例如।1239.9.!-2-3>O,则该数满足条件存入数组b中・且个数cn*cnt+1.

8129.9-8-l-2<0,则该数不满足条件忽略・

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

程序中已定义数组:a[300J,W300].已定义受lbent

请勿改动数据文件in.dat中的任何数据.主函数main()、读语数readDaH)和写话数writeDwO的内容.

tinclude<stdio.h>

2inta(300],b[300)tcnfO;

3voidreadDat();

voidwriteDat(>;

voidjsValue()

7

8

9mainO

10;(

11!int1;

12readDat();

13jsValue();

14writeDat();

15printf(Hcnt-%d\n**/ent);

16for(i*0;i<cot;t♦十)

printf(*b(%d]wW\n*,1#b(il);

181

19•voidreadDat()

20\(

21;FILE*fp;

22•int1;

23;fp=foperH"in.daL,**L);

24!for(1■0;i<300;"♦)

25«fscanf(£p,&a(1))

26-fclose(fp);

27•1

28;voidwrlteDat()

29\(

30•FILEefp;

31iinti;

HHM

32!fp-fopen(out.dat**rw);

H

33jfprintf(fp,*%d\nrent);

34;for(1-0;i<ent;i—)

HR

35;fprlntf(fp,%d\n,b[i]);

36»fclose(fp);

37;1

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

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

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

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

性。(10分)

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

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

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

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

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

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

43.设在SQLServer2008中,某关系表需要存储职工的工资信息,工资

的范围为2000〜10000,设用整型类型存储。下列数据类型中最合适的

是()。

A.intB.smallintC.tinyintD.bigint

44.设有如下所示ER图:

下列能够正确表示该ER图的UML类图是()。

•A.

I职:-----3^4部门

1•

下属领导

Iy

・B.

・C.

D.

职|LUL)——3[部门

1•

下属领导

<-/___

参考答案

1.C

2.A解析:建立一个Delphi程序时,用户二般只,需在一个窗体对象上

放置所需要的各种构件,然后对其特征赋值,并编写代码以控制事件。

Delphi程序设计的基本步骤为:开始创建一个新的项目一设计窗体一将

所需构件放入窗体中的适当位置一处理窗体、编写构件响应的事件一编

译、运行程序。需求分析不是Delphi程序设计的基本步骤,因此本题的

答案为A。

3.C解析:折半查找是一种效率较高的查找方法,要求线性表是有序表。

基本思想是:首先将待查的K值和有序表R[0]到R[n-1]的中间位置mid

上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mid].key>K,

则说明待查找的结点只可能在左子表R⑼到R[mid-1]中,我们只要在左

子表中继续进行折半查找,若R[mid].key<K,则说明待查找的结点只可能

在右子表R[mid+1]到R[n-1]中,我们只要在右子表中继续进行折半查找。

这样,经过一次关键字比较就缩小一半的查找空间。如此进行下去,直到

找到关键字为K的结点,或者当前的查找区间为空(表示查找失败)。根

据这个思想渣找的顺序即为R[6],R[2],R[4],R[3]。

4.C

5.D解析:根据转轴的定义:改变一个报告或页面显示的维的方向,将

一个三维立方体转变成一系列的二维平面等。题目中的年度维与季度维

进行转轴,改变了维的方向。

6.D解析:三级模式结构并不是数据库惟一的一种分级模式,所以A不

正确;内模式/概念模式映像为数据的物理独立性提供支持,外模式/概

念模式映像为数据的逻辑独立性提供支持,所以B不正确;外模式是用

户观念下的数据结构的逻辑描述,在数据库中某个用户一般只会刚到概

念模式中的一部分记录集,因此,外模式是概念模式的一个逻辑子集,

外模式允许某些描述与概念模式不同,所以D正确。

7.B解析:系统软件是随计算机出厂并具有通用功能的软件,它包括操

作系统、语言处理程序、数据库管理系统和服务性程序。注意:因为系

统软件包括操作系统、语言处理程序,数据库管理系统和服务性程序,

所以信息管理系统不属于系统软件,故选B)。掌握系统软件的概念和用

户软件的概念,以及二者的区别。

8.A解析:在虚拟存储技术中,利用程序执行的局部性原理,程序的一

次执行不必将所有的数据全部调入内存,而只调入用到的部分,当需要

外存中的数据时再调入,此时需要根据页面淘汰算法将页面中某些页面

调出内存,这样就可能会因为页面淘汰算法的不恰当引起抖动现象。

9.C解析:本题是对散列表存储问题的考查。散列表的基本思想是:由

结点的关键码值决定结点的存储地址,即以关键码值k为自变量,通过

一定的函数关系h(称为散列函数),计算出对应的函数值h(k)来,把这个

值解释为结点的存储地址,将结点存入该地址中。在散列表中,不同的

关键码值可能对应到同一存储地址,这种现象叫碰撞,处理碰撞基本有

两种方法:拉链法和线性探索法。在本题中,所采用的散列函数为

h(k)=kmodll,用线性探查法解决碰撞。计算顺序如下:①

h(95)=95modll=7,存在地址为7的位置;②坂9尸14mo祖1=3,存在地址

为3的位置;③h(27尸27moe111=5,存在地址为5的位置;④

h(68)=68modll=2,存在地址为2的位置;⑤h(82)=82modll=5,与关键码

为27的存储位置发生碰撞,采用线性探索的方法解决,即将82存在5

以后的首个开放位置,在本题中即为6,所以82存在地址为6的位置。

因此本题正确答案为选项C。

10.C解析:语言处理程序分为两大类:解释程序和翻译程序,翻译程序

也称编译程序。解释程序是指对输入的用程序语言(源语言)书写的程序

(源程序)直接解释执行源程序的语言处理程序;编译程序是指将源程序

改造成另一种语言程序(目标语言程序)的语言处理程序。改造前后二者

在逻辑上是等价的。

11.N-1

12.4利用报表向导来建立报表,在设置字段排序时,一次最多不超过4

13.0(1)一个算法花费的时间与算法中语句的执行次数成正比例,哪个

算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数

称为语句频度或时间频度。当一个算法的时间复杂性与问题的规模n无

关时,则表示为0(1)

14.DR0P

15.2k+l-

温馨提示

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

评论

0/150

提交评论