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

下载本文档

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

文档简介

2022年河南省商丘市全国计算机等级考试

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

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

一、1.选择题(10题)

i.并行数据库的体系结构包括共享内存结构、共享磁盘结构和

A.无共享磁盘结构B.无共享资源结构C.数据库系统结构D.无共享内

存结构

2.在TCP/IP参考模型中,不属于应用层协议的是

A.IP协议B.FTP协议C.SMTP协议D.HTTP

3.下列的SQL语句中,属于数据控制语句的是____o

I.CREATE

II.SELECT

III.UPDATE

IV.GRANT

V.DROP

VI.DELETE

Vil.ALTER

Vlll.INSERT

IX.REVOKE

A.I、V、VI和VI1B.W和IXC.H、III、VI和VU1D.I、V和VII

4.在下列关于二叉树的叙述,选出正确的一项

A.在二叉树中,任何一个结点的度都是2

B.二叉树的度为2

C.在二叉树中至少有一个结点的度是2

D.一棵二叉树的度可以小于2

5.在操作系统的各个功能组成部分中,不需要硬件支持的是

A.进程调度B.时钟管C.地址映射D.中断系统

6.下面不正确的说法是

A.关键字是关系中能够用来唯一标识元组的属性

B.在一个关系中,关键字的值不能为空

C一个关系中的所有候选关键字均可以被指定为主关键字

D.关键字只能由单个的属性组成

7.下列不属于数据库管理员(简称DBA)的职责的是

A.决定数据库中的信息内容和结构

B.决定数据库的存储结构和存取策略

C定义数据的安全性要求和完整性约束条件

D.负责数据库中的数据的确定,数据库各级模式的设计

8.在数据库逻辑设计中,当把E-R图转换为关系模式时,下面的做法

哪一个是不正确的?

A.一个实体类型可以转换为一个关系模式

B.一个联系类型可以转换为一个关系模式

C.由实体类型转换成的关系模式的主键是该实体类型的主键

D.由联系类型转换成的关系模式的属性是与该联系类型相关的诸实体

类型属性的全体

9.在下列设备中,()是计算机的输入设备。

A.显示器B.键盘C打印机D.绘图仪

10.下列关于数据存储结构的叙述中,不正确的是()o

A.数据的存储结构是逻辑结构在计算机存储器中的实现

B.数据的运算是在数据的存储结构实现的

C.数据的存储结构即是数据在计算机内的物理结构

D.数据运算是定义在数据的存储结构上的

二、填空题(10题)

H.对数据库结构的描述和定义存储在______中,它是DBMS运行的基

本依据。

12.Oracle数据库系统中快速生成报表的工具是Oracle。

13.Linux操作系统由内核、外壳和应用程序四部分组成。

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

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

15.电子邮件程序向邮件服务器发送邮件时,使用的协议是____o

16.按行优先顺序存储KA81a的“零元素,则il罚非岑比素a“(1的地址

公式为Loc(a»i)=__________i*(i-l)/2+G-l).

17.在关系模式R(A,B,C,D)中,存在函数依赖关系{A—B,A-C,

A-D,(B,C)-A},则候选码为」L

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

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

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

20.SQLServer数据管理系统中常用的性能工具包括和。

三、单选题(10题)

21.如果两个实体之间的联系是M:N,则在转换成关系模型时,()引入

第三个交叉关系。

A.需要B.不需要C.无所谓D.将两个实体合并

22.关系数据模型有许多优点,但下面所列的条目中哪一条不是它的优

点()。

A.A.结构简单

B.高度非过程化

C.有标准语言

D.可表示复杂的语义

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

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

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

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

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

A.I和IIB.I和IIIC.H、m和IVD.全都是

24.操作系统在控制和管理进程的过程中,涉及到()这一重要数据结构,

这是进程存在的惟一标志。

A.FCBB.FIFOC.FDTD.PCB

25.有两个实体集,并且它们之间存在着一个M:N联系,根据概念ER

模型转换成关系数据库的规则,这个ER结构转换成表的个数为()

A.lB.2C.3D.4

26.下列关于SQLServer数据库用户权限的说法中,错误的是_________

A.数据库用户自动具有该数据库中全部用户数据的查询权

B.通常情况下,数据库用户都来源于服务器的登录账户

C一个登录账户可以对应多个数据库中的用户

D.数据库用户都自动具有该数据库中public角色的权限

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

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

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

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

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

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

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

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

29.FoxProDOS是()

A.DOS下的数据库B.DOS支持下的数据库管理系统C.为DOS做的

FoxProD.DOS下的文字处理系统

30.在SQLSever中创建用户数据库,实际就是定义数据库所包含的文件

以及文件的属性。下列不属于数据库文件属性的是__________O

A.初始大小B.物理文件名C.文件结构D.最大大小

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

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

内容。

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;

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

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

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

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

注意:瓶分源程序存在tewc文件中.

请勿改动数据丈件ndst中的任何数据以及《曲敷main。和输出函数rcadwritcDAT。的内容.

1j#include<stdio.h>〃mdudc调句说噌各程序中包公械.0中的幅t•入•出程谕数》d>o.h

2!voidreadwriteDAT();〃曲效readunreDATOift明密句

3intis?(intm)〃承数laPdru皿邦斯二是否为素数,如果是崇效期返回1,告则返回0

4{

5Inti;〃定义变量£

6for(i-2;i<m;〃殳■士从2依次埸城到加•】

7if(m%i•*0)return0;〃如襄m位被[♦除,返回o

8return1;〃否则她回1

9)

10voidnum(intm.intk,intxx(])

11

12

13

14main()

15(

16intm,n,xx[1000);〃定又受量tn,和故Mxxliooo】

17printf(w\nPleaseentertwointegers:");

18scanf<-%dr%d",&n);〃从读入两个我3受n

19numn,xx);〃耀用嫉散nsmtE,mtk.mixxU)实现将大于•fkm且重Itm的k个KQ存入敷出xx

20fcr(m-0;m<n;tni)〃克量4从。依次逢・如n-l

21printf("Id”,xx(m));〃•出ftlfl兀拿

22prlntf(*\n0);〃■出一个旧车按行将

23readwriteDATO;用的畋MtwriteDAT(HE结粤■出刊out.dai文件中

24)

25voidreadwriteDATO〃咱数mdwrtteMT(i的定义附句

26<

27inte,n.xx[1000Li;〃定义整型变■e.c,t加敏蛆xxll。。。】

28FILE・rf.*wf;〃定义文件惜计交量r£・wf

29rf-fopenCin.daf,Hr*U;〃以只像的方式的〃开文件in.da匕井用”指向这个文件

30wf-fopenCout.dat-,wwM);〃以只写的方式的打开文件。uu.da匕•并用”指向这个文件

31for(i-0;i<10;〃谓膝交量士从。依次展用到9

32(

w

33fscanf(rft%d+cT,Gm,&n);〃从文件in.&tit人角个数值*给m.n

34num(mrn,xx);〃■用(A收帚也口皿-k.u(])实姬特大于■数m靠tn的k个底敏存入敛ISn

35for(m-0;ra<n;m,+)〃俯环交ItBI从。依次遍增JIn-l

36fprintf(wfr7d",xx(m]);〃把数但元*xx【mE入到文的out.dat中

H

37fprintf(wfr*\n);〃纪科*投行桥写入到文件out.dat中

38)

39fclose(rf);〃关闭•入文件lc.dat

40fclose(wf);//关闭■出文件out.cte匕

41

33.编写一个函数findStr(char*str,char*substr),该函数统计一"f'长度为

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

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

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

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

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

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

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

填入你编写的若干语句。

♦include<stdio.h>

tinclude<string.h>

3voidReadWrlte();

4intfindStr(char*3trrchar•substr)

5

6

7

8mainO

9

10charstr(81|,substr[3];

intn;

pr'ntfL输入原字符中:”);

13gets(str);

14pr—入「字符申:");

15gets(substr);

16puts(str);

17puts(substr);

18n-findStr(str,substr);

,

19prlntf(**n*%d\n"rn);

20ReadWrite();

21I

/•从文件huht中it取两个字符中,并•用雄依findSwO,■后钻果■出到文件out&t中•/

22voidReadWrite()

23(

24charstr(81),substr(3],ch;

25intnrlenri•0;

26FILE•rf,*wf;

27rf-fopenLLn.dat","r");

wwHM

28wf-fopen(out.datrw):

29whiled<5)

30i

31fgets(strr80,rf);〃从文件!ndu中建取长度为R的字符中存入到半构小

32fgets(substr,10,rf);〃从文件Edit中涛取长授为9的子字符中存入到字符率“uxtr

33len*strlen(substr)-1;,/尼f字符麽substr的长度凌)的{ft跳绘

34ch-substrtlenI;〃把子字符删的•存f字相的侬*捺字符ch

,•如臬于字符中的量后一个字构是网等投行符或是文件的或符•副纪子?籽卑的♦后一个多籽的值&宣为。•/

35if(ch。'\n'IIch~Oxla)

36subatr[len]•0;

/•用的Ikflndfitrsubstrl返⑼子字符串・ub,s在字符申atr中出现的次数•/

37n-findStr(strrsubstr);

38fprintf(wf,"d\n".n);//无诂年触Un耳人父女ftout.cUu中

391*4;〃■环登

40I

41fclose(rf);

42fclose(wf);

43

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

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

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

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

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

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

成整型变量),如果计算后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

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

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

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

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

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

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

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

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

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

例仙a123124152115

bt3245172718IS

c:MSI12751155

抻序后c,115512753451

注意i部分源程序存在E工文件中・

程序中已定义,叩00卜b(IOO)和«181・

请勿改动数据文件INI.DAT和IN2.DAT中的任何数施・主读数mamO、读函IkreadD峨)如"啪散5归口献。的内霖,

11(include<stdio«h>

2i»defin«MAX100

3;inta(MAX)«b[MAX},c(MAXJ;

4»intent-0;/•符6条m*的个©•/

5;voidjsVdl()

6\]

8!I

;/・|E0•文件(MlDAT司M.DAT中的18个附位十4入It燃・国b中•'

9•voidreadDat()

10”

11Iintit

12jFILE*fp;

13:fp-fopen("lnl.dat*e*r");

14!for(i-0;1<MAX;[

15;(scant<fp,"Id","[*]);

16-fclose(fp);

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

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

19•fscanf(fp4"VT・«b(lD;

20;Ccloseffp):

21ji

22ivoidmain()

23!(

24।int1;voidwriteDat();

25jford-0;1<MAX;

26•C(l]-0;

27-readDat();

29ijsVal();

29jfor(i-0;i<MAXncfll>0;

30!prlntf("td\n",c(i));

31iwritoDat()i

32!)

;,•把彷果aufic♦出到支“5M3中•/

33•voidwriceDat()

34•(

35;FILEafp;

36!int1;

37|fp-fopen("out.dit*,*w*);

38tford-0;i<MM,“c(l)>0jiz)

39।fprlntf(fp,"ld\n*tC(1H:

40:fclose(fp)J

36.

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

组XX中,请编制函数ConvertCharD,其函数的功能是:以行为单位把

字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,

则改写成字母Z,其他字符保持不变。把已处理的字符串仍按行重新存

入字符串数组XX中。最后main函数调用函数WriteDat把结果xx输出

到文件out.dat中。例:原文:Adb.Bcdza

abck.LLhj结果:Aca.Bbcyzzabj.LLgi原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格。

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

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

1­•include<stdio.h>

2•iincludc<string.h>

3;charxx[50)1801i

intmaxiIne•0;/•文审的总行ft•/

intReadDat(void);

voidWrlteDat(void);

八以行为•位把字符串中的所有小耳字理改写及方平出的上f字用,如量型字母M用改写A?纣却1(胞字符保持不交•/

7voidConvertCharD(void)

8

9

10

11voidmain”

12I

13if(ReadDatO)

14[

15printf("数图文件in.dat不脆打可\n\007");

16return;

17

18ConvertCharD(>;

19WriteDat();

20)

/•族文介血中&以・英文文・存入剜字村比教幽u中〃

21intReodDat(void)

22(

23FILE*fp;

24int1*0;

25char*p;

26if((fp-fopenLin.dat".-r"))-NULL)

27return1;

28while(fget3(xx[i]r80«fp)!•NULL)

29(

30p-atrcbr(xx(i]9,\n*>;

31if(p)*p-0;

32

33)

34tnaxllne,1;

35fclose(fp);

36return0;

37)

,♦七由果u■出*文nOUtM中・,

38voidWriteDat(void)

39(

40FILEafp;

41int1;

42fp-fopen(*out.dat*«-w*);

43for(1•0;i<maxline;

44(

0

45printf("%s\nrxxf1));

46fprintf(fpr"%s\n",xx[i]);

47>

48fcloae(fp);

49

37.在文件in.dat中已存有200个正整数,且每个数均在1000至9999

之间。函数readDat是读取这200个数存放到数组aa中。请编制函数

jsSort,其函数的功能是:要求按每个数的后三位的大小进行降序排列,

如果出现后三位相等的数值,则对这些数值按原始4位数据进行升序排

列,将排序后的前10个数存入数组bb中。

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

例,处理前90)2509960127025808X

处理后50998088702560129012

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

请勿改动数据文件in.dai中的任何数据、才由数nuiin。、读函数readDai。和号函散writeDat。的内容.

1iImclude<stdio.h>

2-linclude<string.h>

3!voidreadDat();

4;voidwriteDatO:

5Jintaa(200]tbb[10);

6»voidjsSort()

?\«

8\

9•)

10•voidmain()

11!(

12;readDat();

13­jsSort();

14?writeDat();

15;)

16!voidreadDatO

17•(

18;FILE•in;

19?intX;

20।in•fopen(**in.datw,wrw);

21;ford•0;1<200;

22•fscanf(in,Fd,”,&aa{i|);

23।fclose(in);

24;)

25*voidwriteDat()

26;(

27!FILEeout;

281inti:

29Joutafopen("out.dat",;

30*,for(1■0;i<10;

31;I

32iprintf("i・8d,¥d\n",i♦1#bb(i]);

33«fprlntf(out,"Ad\n",bb(11);

34;|

35!fclose(out);

36;J

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

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

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

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

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

件out.dat中。

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

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

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

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

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

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

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

1Iinclude<stdlo.h>

2♦defin。N100

3*defineS1

4•defineM10

Sintp[100)9n,s,m;

6voidWriteDat(void);

7voidJosegh(void)

6

9

10

11voidmain()

12

13m«M;

14n•N;

15smS;

16Josegh();

17WriteDat();

18

,・把帖果p■出国文件outdm中•/

19voidWriteDat(void)

20

21int1;

22FILE*fp;

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

/•以电■的方式.以10个融务为一Ifi把融彷p【il•出列解幕和文件outdm中•/

24for1>««0;i-)

25

26printf("%4d",

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

28if(i%10—0)〃如果i■被10蒙除.射,出一个回东换行符

29(

30printf("Xn**);

31fprintf(fp#"\n");

32}

33)

34fclose(fp);

35

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

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

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

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

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

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

例如:9123,%1.2-AO.则读数满足条件存入敷81b中.且个数cmym+1・

9812.央心1・2<0,则读数不满足条件忽略.

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

程序中已定义数ftba(100],b{300].已定义变量。ent

请勿改动数据文件in.dai中的任何数据、主函UtmiinO,读函数rcadDaH)和写函JRwriteDotO的内容.

♦include<stdio.h>

2inta(300),b(3001,cnt-0;〃定义整型依Ifia(300).b138】和交量ent,并且ent的初值为0

3voidwriteDat();

4voidreadDat();

5voidjsValue()

6

7

B

9main()

10(

11inti;

12readDat();

13isValue();

14writeDat();

w

15printf("cnt«%d\n,ent);

16for(i*0;i<ent;

17printf("bltdl-tdXn",i,bli]

18)

19voidreadDatO

20(

21FILE*fp;

22inti;

23fp-fopen(wln.datH,HrM);

24foe(1•0i1<300;

25fscanf(fp,Fd.",[1));

26fclose(fp);

27I

28voidwriteDAt()

29(

30FILEefp;

31int1;

32fpnfopon(**out.datw,;

33fprintf(tpr"%d\n"rent);

34for(1-0;1<ent;!♦*)

35fprintf(fp,Fd\n”,b[i!);

36fclose(fp);

37

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

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

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

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

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

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

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

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

程序中已定义敏坍,”200].b(200),已定义变量,art

请勿芭动数据文件in.&t中的任何畋据.主话数nuinO、读的敬ZDatO和写函数wriicDu。的内容•

1•llncludeotdio.h>

2;fdefineMAX200

3-intd(MAXhb[MAX)rent-01

4!voidwriteDat()i

5;voidjsVal()

6\<

7•

e;I

9!voidreadDat()

10;|

11jint1;

12!FILE*£p;

13\fp•fopen("in.dat*,•rn):

14:for(i-0;i<MAX;"♦)

15•fscanf(fp,"Id",&&[1]);

16•fclose(fp);

171)

18;voidmain()

19h

20;int1;

21;readDat();

22;jaValO;

231pr,ntf(“满足条件的数=2'。",ent);

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

25jprintf(w%d-,bti]>;

26jprintf

27;writeDat();

28!)

29;voidwriteDat<)

30-(

31•FILE*fp;

32;int1;

33*fp-(open(*out.dat*,*ww);

34•fprintf(fp*ent);

35;forCi-0;1<ent;ij)

36!fprintf(fpr*td\n*rb[lD;

37[fclose(fp);

38;1

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

41.设在采用SQLServer2008数据库的图书馆应用系统中有三个基本表,

表结构如下所示,请用SQL语句完成下列两个查询:BORROWER:借

书证号姓名系名班级12011106蒋辉文计算机系12-112011107王丽计算

机系12-112012113范园园信息系12-2LOANS:借书证号图书馆登记号

借书日期12011106T0010012012.01.0212012113

TOO10262013.02.O6BOOKS:索书号书名作者图书登记号出版社价格

TP311.1数据库系统李明T001001科学19.00TP311.2二级C语言王

珊丁001026人民32.00(1)检索至少借了5本书的同学的借书证号、

姓名、系名和借书数量。(5分)(2)检索借书和王丽同学所借图书中的

任意一本相同的学生姓名、系名、书名和借书日期。(5分)

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

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

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

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

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

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

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

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

个物理磁盘上

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

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

文件中

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

44.数据库运行过程中,对数据库空间使用情况进行管理是一项非常重要

的工作。下列有关数据库空间管理的说法,错误的是()o

A.不同的数据库管理系统,由于使用逻辑存储结构屏蔽了物理存储结构,

因此数据库空间管理的方法基本相同

B.数据库管理员需要通过历史数据分析并根据应用系统情况,对数据库

所使用的空间情况进行预测

C.应重点监控空间增长比较快的表,当数据量超过存储能力前及时增加

存储空间

D.当硬件存储空间无法满足数据库需求时,可以考虑将部分不使用的历

史数据转移到其他廉价存储中

参考答案

1.B解析:数据库的并行处理是提高数据库系统对事务快速响应能力的

有效手段。并行数据库系统的体系结构主要有3种:共享内存结构、共

享磁盘结构和无共享资源结构。

2.A解析:TCP/IP参考模型在网络层定义了IP协议;在传输层定义了

TCP和UDP协议;在应用层定义了TELNET协议FIT协议、SMTP协

议、RIP协议、NFS协议、HTtP协议。注意:TCP/IP参考模型在网络

层定义了IP协议,故A)选项不属于应用层协议。掌握TCP/IP参考模型

以及各层的协议。

3.B

4.D解析:根据二叉树的定义、度的定义和树的度的定义,可以看出,在上

述4个关于二叉树的叙述中,只有选项D)是正确的。

5.A解析:进程调度即处理机调度。在多道程序设计环境中,进程数往

往多于处理机数,这将导致多个进程互相争夺处理机。进程调度的任务

是控制、协调进程对CPU的竞争,按照一定的调度算法,使某一就绪

进程获得CPU的控制权,转换成运行状态。进程调度也叫低级调度。

实际上进程调度完成一台物理的CPU转变成多台虚拟的(或逻辑

的)CPU的工作。

6.D解析:在关系的诸属性中,能够用来唯一表示元组的属性(或属性组

合)称为关键字或码。因此,关键字既可以是单个属性,也可以是属性组。

7.D解析:数据库系统中的人员包括:数据库管理员,系统分析员和数

据库设计人员,应用程序员和最终用户。不同的人员涉及不同的数据抽

象级别,具有不同的职责。其中,数据库管理员(DataBaseAdministrator,

简称DBA)的具体职责包括:决定数据库中的信息内容和结构;决定数

据库的存储结构和存取策略;定义数据的安全性要求和完整性约束条件;

监视数据库的使用和运行;数据库的改进和重组重构;定期对数据库进

行重组织,以提高系统的性能。

8.D解析:E-R图转换为关系模式时遵循如下原则:一个实体类型转换

为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键;

一个联系类型转换为一个关系模式,参与该联系类型的各实体的键以及

联系的属性转换成关系的属性。

9.B解析:以存储程序原理为基础的冯.诺依曼结构的计算机,一般由五

大功能部件组成,它们是:运算器、控制器、存储器、输入设备和输出

设备.其中的计算机输入设备的功能是:将数据、程序或其他信息从人

们熟知的形式转化为计算机能够接受的信息,输入到计算机内部。在所

列设备中,只有键盘是输入设备。键盘是计算机中最常用的输入设备,

用户的程序和数据都是通过键盘输入到计算机中的。因此正确选项为Bo

10.DDo【解析】数据的存储结构是逻辑结构在计算机存储器中的实现,

又称为物理结构。数据运算是定义在数据的逻辑结构上的,在存储结构

上实现。

11.数据字典数据字典

12.Reports

13.文件系统【解析】Linux操作系统由四部分组成:内核,外壳,文件

系统和应用程序。

14.逆向工程逆向工程解析:PowerDesignerDataArchitect用于两层的即

概念层和物理层的数据库设计和数据库构造。DataArchitect提供概念数

据模型设计,自动的物理数据模型生成,针对多种数据库管理系统

(DBMS)的数据库生成,开发工具的支持和高质量的文档特性。使用其

逆向工程能力,设计人员可以得到一个数据库结构的“蓝图”,可用于文

档和维护数据库或移植到一个不同的DBMS0

15.简单邮件传输协议或SMTP简单邮件传输协议或SMTP解析:在电

子邮件程序向邮件服务器发送邮件时,使用的是简单邮件传输协议

(SMTP),•而在电子邮件程序从邮件服务器读取邮件时,可以使用邮局协

议(POP3)或交互式邮件存取协议(IMAP),它取决于邮件服务器支持的协

议类型。

16.Loc(all)【解析】计算非零元索aij(lSjSiWn)的地址的公式为:Loc(aij)

=Loc(an)十i*(i-1)/2+(j-l)o

17.A,(B,C)A-B,A-C,A-D,A可以作为关系的候选码,因为(B,

C)-A,所以同样(B,C)可以作为候选码。

18.4NF4NF解析:若关系模式RW1NF,且对于每一个非平凡的多值依

赖X一一Y(Y不属于X),都有X包含码,则R£4NF。4NF就是限制关

系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。

19.关系数据模型关系数据模型解析:根据关系数据模型的定义,实体

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

20.SQLServerProfiler数据库引擎优化顾问

21.A

22.D

关系模型由关系数据结构、关系操作集合和关系完整性约束3大要素

组成。关系模型的数据结构单一,在关系模型中,现实世界的实体以

及实体间的各种联系均用关系来表示。关系操作的特点是集合操作方

式,即操作的对象和结果都是集合。关系代数、元组关系演算和域关

系演算均是抽象的查询语言,这些抽象的语言与具体的DBMS中实现

的实际语言并不完全一样,但它们能用作评估实际系统中查询语言能

力的标准或基础。关系模型的一个优点是高度非过程化。

23.D解析:PowerBuilder是由美国著名的数据库应用开发工具厂商

PowerSoft公司(于1991年6月推出的完全按照客户机/服务器体系结构

设计的快速应用开发系统,是一个客户机前端开发工具。它除了具有题

中选项中的特点,其特点还有可同时支持与多种数据库的连接,支持动

态数据交换(DDE)、动态链接库(DLL)、对象链接与嵌入(OLE)强大的调

试器和多种调试方式等。

24.D解析FCB(文件控制块)是系统为管理文件而设置的一个数据结构,

是文件存在的标志,记录了系统管理文件所需要的全部信息;FIFO是

先进先出,一般表示某些算法(队列操作、存储页面淘汰等);PCB是进

程控制块,描述进程的基本情况以及进程的运行变化过程。

25.C

26.A

27.D

28.C

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

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

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

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

29.B

30.C

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

写字母不变,否则替换。

\n【解题思路】

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

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

\n【参考答案】

\n

\n

32.【审题关键句】将大于整数m且紧靠m的k个素数存入数组。

\n【解题思路】

\n①首先定义一个计数变量ent并赋初值为0o

\n②利用while循环统计大于整数m且紧靠m的k个素数,当计数变量

ent的值与变量k的值相等的时候,则退出while循环。每执行一次循环

时,变量m的值加1,然后调用函数isP判断当前的m值是否为素数,

如果是素数,则将m的值赋给数组xx[cntl,同时计算变量ent的值加

1,即当数组XX⑼中保存了一个素数之后,在T一次素数判断成立时将

保存到xx[l]的位置上,依次类推。

\n【参考答案】

\n

\n

33An【审题关键句】统计一个长度为2的子字符串在另一个字符串中出

现的次数。

\n【解题思路】

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

设置其值等于0。

\n②在while循环中调用C语言的字符串库函数strstr,返回子字符串

substr在字符串q第一次出现的位置,赋给变量P。用if语句判断,如

果P的值为空,则说明在字符串str没有找到子字符串,退出循环。否

则,变量ent加1,再把P的值加2(因为子字符串substr的长度为2)赋

给变量q,执行下一次循环。直到字符串中不存在子字符串时,退出循

环结束。

\n③最后,返回子字符串substr在字符串str中出现的次数。

\n【参考答案】

\n

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

写字母不变,否则替换。

\n【解题思路】

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

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

在源程序中已经定义了一个无符号变量val,因此,在编写答案程序时,

不需要再重新定义。

\n【参考答案】

\n

\n

35.\n【审题关键句】数组相同下标位置上的奇数,数组a中十位数等于

新数的千位数字,个位等于新数个位数字,数组b中的十位等于新数的

百位数字,个位数字等于新数的十位数字,存入数组,从小到大排序。

\n【解题思路】

\n①定义整型循环变量i、j和局部变量trap。

\n②在for循环语句中,循环变量i从。开始,依次递增直到其值等于或

大于MAX,用if条件语句判断

温馨提示

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

评论

0/150

提交评论