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

下载本文档

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

文档简介

【2021年】安徽省淮北市全国计算机等级

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

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

一、1.选择题(10题)

i.共享变量是指如何访问的变量?

A.只能被系统进程B.只能被多个进程互斥C.只能被用户进程D.可被

多个进程

2.队列适用于下列哪一种应用?

A.表达式求值B.堆排序算法的实现C.树的层次次序周游算法的实现

D.二叉树对称序周游算法的实现

3.充分的Web支持是MSSQLSERVER2000的主要功能之一,下列

不是其所支持的内容。

A.XML和Internet标准支持B.方便而安全地通过Web访问数据C.简

化管理和优化D.安全的应用程序管理

4.建立Delphi程序的基本操作步骤中不包括()。

A.数据库设计B.创建一个新的项目C.设计窗体D.编译、运行程序

5.下列关于OLAP和OLTP的主要区别的表述中,错误的是()。

A.OLAP是面向客户的,OLTP是面向市场的

B.OLAP管理大量历史数据,OLTP管理当前数据

C.OLAP采用星型或雪花型设计模式,OLTP采用E-R模型设计

D.OLAP的访问大部分是只读操作,OLTP的访问主要是短的原子事务

6.选取关系中若干属性组成新关系的代数运算称为°

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

7.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)o其中S#为

学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME为课程

名。要查询选修”计算机文化”课的全体男学生姓名的SQL语句是:

SELECTSNAMEFROMS,C,SCWHERE

A.SS#=SCS#ANDSEX=,男,ANDCNAMEi计算机文化,

B.SS#=SCS#ANDCC#=SCC#ANDCNAME=,计算机文化'

C.SEX=,女,ANDCNAME=,计算机文化,

D.SS#=SCS#ANDCC#=SCC#ANDSEX='男'ANDCNAME='

计算机文化’

8.向信息系学生视图IS_STUDENT中插入一个新的学生记录,其中,

学号01028,姓名为小红,年龄为18岁,正确的SQL语句是()。

A.INSERTINTOIS_STUDENTVALUES31029?小红118)

B.INSERTINTOIS_STUDENTVALUES(01029,'小红118)

C.SELECTINTOIS_STUDENTVALUES(01029,小红,18)

D.SELECTINTOIS_STUDENTVALUES('0I029','小红',18)

9.数字签名与手写签名的差别是

A.数字签名是所签文件的物理部分,手写签名不是所签文件的物理部分

B.手写签名是通过和真实的手写签名比较来验证,不易于伪造

C.一个手写签名的拷贝容易与原文件区别,因此易于拷贝

D.数字签名能通过一个公开的验证算法来验证,比较安全

10.数据库设计的概念设计阶段,表示概念结构的常用方法和描述工具

是______O

A.层次分析法和层次结构图B.数据流程分析法和数据流程图C.结构

分析和模块结构图D.实体联系法和实体联系图

二、填空题(10题)

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

12.进程创建工作主要完成的是创建进程控制块(PCB),并把它挂到【】

队列中。

13.在实际的网络应用环境中,很难保证通过网桥互联的系统中不出现环

型结构。环型结构可能是网桥反复地复制和转发同一个帧,从而增加网

络不必要的通信量与降低系统性能。为了防止出现这种现象,透明网桥

使用的是一种算法。

14.严格两阶段锁协议要求对更新的封锁必须保持到事务的终点。

15.虚拟存储管理的效率与程序局部性程度有很大关系,进程运行时,

在一段时间内程序的执行呈现出高度的时间局部性和O

16.在X.800中将安全攻击分为两类:被动攻击和o

17.IPV6的128位地址按每16位划分为一个位段,每个位段被转换为一

个4位的十六进制数,并用冒号隔开,这种表示法称为表

18.SQLServer2000支持客户机/服务器体系结构,它由[]组件、服务

器端组件和通信组件三部分组成。

19.一旦CA验证了实体的身份,就产生一个证书,将这个公共密钥和身

份进行绑定。

证书中包括公共密钥和密钥所有者的全球惟一的0

20.创建一个进程的主要任务是建立该进程的o

三、单选题(10题)

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

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

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

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

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

22.在E-R图和数据流图中都使用了方框,下列说法中有错误的是()

A.在E-R图中表示实体B.在E-R图中表示属性C.在数据流图中表示起

点D.在数据流图中表示终点

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

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

24.下面哪些是参数调整中需要关注的对象。

A.内存分配B.磁盘I/OC.资源竞争D.以上全部

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

确的?

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

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

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

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

26.在定义一个关系结构时,应该说明()

A.字段、数据项及数据项的值B.属性名、属性数据类型及位数C.关系

名、关系类型及作用D.记录名、记录类型及内容

27.SQLServer2008系统数据库MASTER的主要功能是

A.控制用户数据库和SQLServer的整体运行

B.为创建新的用户数据库提供模板或原型

C.为临时表或其他临时工作区提供存储区域

D.为调度信息和作业历史提供存储区域

28.下面关于通道的叙述中,正确的是()I.通道相当于一个功能简

单的处理机H.通道完成数据输入输出工作IIL通道与CPU共

用一")内存

A.I和HB.I和HIC.II和HID.都是

29.在数据库概念设计阶段,进行局部E-R模式的设计时,为实体和联

系确定属性的原则除了()外都是。

A.属性应该是不可再分解的语义单位

B.先确定公共实体类型的属性

C.实体与属性之间的关系只能是1:N的

D.不同实体类型的属性之间应为直接关联关系

30.在数据库设计的()阶段,产生DBMS可以接受的源代码。

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

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

31.在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数

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

其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些

正整数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的

这些正整数的算术平均值totPjzo最后main函数调用函数WriteDat把

所求的结果输出到Out.dat文件中。

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

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

和输出函数WriteDat的内容。

#include<stdlo«h>

•defineMAXNUM200

intxx(MAXNUM];

inttotNum■0;〃文件xn.dat中共有多少个正

inttotCnt-0;〃料岩条件的正整数的个教

6doubletotPjz»0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain0

14(

15Inti;

16for(i-0;i<MAXNUM;"+)

XX(1]•0;

if(ReadDat())

20据文件in.dat不能打开!\007\nw);

21return;

22

23CalValue();

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

25prictf("符合条件的正核数的个数7d个\n”.totCnt);

26printfL平均(8・*.21f\n",totPjz);

27WriteDat();

28»

“读取这若干个正鳖数并存入数fli*x中”

29intReadDat(void)

30(

31FILE*fp;

32inti•0;

HwwM

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

34return1;

35while(!feof(fp))

36(

37fscanf(fp#

381

39fclose<fp);

40return0;

41}

/・忙计算蜡里存入文件。仇・&匕中•/

42voidWrlteDat(void)

43!{

44FILE*fp;

4Sfp-fopen("out.dat",

46fprlntf(fp/"%d\nid\nt.21f\n*rtotNumrtotCnt/totPjz);

47fclose(fp);

48

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

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

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

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

出到文件Out.dat中。

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

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

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

位置上。

例如位置012345678

源字符申abcdhgfe

123498765

则处理后字符串hgfcdcba

876594321

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

请勿改动数据文件in.dat中的任何敷据、主函数读函数EdDM()和写的数snieDaU)的内容.

1;linclude<stdio.h>

2jtinclude<string.h>

3;charxx[20][801;

4•voidreadDat();

5!voidwriteDat();

6;voidjsSort0

7h

B!

9;)

10;voidmainO

ni1

12JreadDatO;

13!jsSort();

14;writeDat();

15”

J/•从文件mdit中读取20行败树布放到字符小歌用«中•/

16;voidreadDat()

u

18\FILE*in;

19;inti•0;

20!char*p;

21:inqfopen(win.datn,”L);

22•whiled<20“fgets(xx(11,80,in)!-NULL)

23•(

24\p-strehr(xx(ij9*\n*);

25jif(p),p•0;

26\

27;)

281feiose(in);

29;)

•/•«!他息XX*出到文件OUUfat中•/

30•voidwriteDat()

31;(

32jFILE-out;

33«int1;

34-out-fopen(wout.dat",HwM);

35!for(i-0;i<20;

36;(

37;printf(H%s\nH,xx[l));

HRr

38!fprintf(outr%s\n,xx11);

39;)

40!fclose(out);

41!1

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

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

其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些

正整数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的

这些正整数的算术平均值totPjzo最后maini函数调用函数WriteDat把

所求的结果输出到Out.dat文件中。

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

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

和输出数据函数WriteDat的内容。

1jIinclude<stdio.h>

2ifdefmeMAXNUM200

3!intxx[MAXNUM);

4jinttotNiun-0;〃文ein.dat中共有多少个正整数

51inttotCnt-0;〃符合条件的正■家的个敢

6•doubletotPjz-0.0;〃平均值

7;intReadDat(void);

8!voidWclteDat(void);

9;voidCalValue(void)

10;(

115

12;J

13|voidmainO

14

15int1;

16ford-0;i<MAXNUM;"♦)

17xx(i]■0;

18if(ReadDat())

19(

20prlntf("数据文件ln.dat不能打开!\0。八十”

21return;

22)

23CalValue();

24print;。L文件ln.dat中共有正整数・$d个\n**・totNum);

25printf符合条件的正整数的个数-*(1个\口",totCnt);

26prlntf「平均值totPjz);

27WriteDat();

28)

,•速取这齐F个正整收并存入数燃u中•/

29intReadDat(void)

30(

31FILE*£p;

32inti•0;

33if((fp*fopen("ln.dat**,"r*"))-r<ULL)

34return1;

35while(!feof(fp)>

36(

37fscanfffp,"Qd.".txx[i**));

38)

39fclose(fp);

40return0;

41I

/・ie计算站票存入文件。M.diu中•/

42voidWriteDat(void)

43(

44FILE•fp;

45fp■fopen(**out.datw,**wH);

46fprintf(fp,"%d\ntd\nt.21f\nn,totNum,totCnt,totPjz);

47fclose(fp>;

48

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

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

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

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

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

件中。

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

程序中已定义数纽,a(200].b(200].已定义变Jt:ent

请勿改动数据文件Hdat中的任何数据、主论数main()、读的数readDatQ和写函数MitdtO的内容・

1finclude<stdio.h>

2•defineMAX200

3intalMAX),b(MAX|,ent

4voidwrlteDat(>;

5voidjsVal()

6

7

8

9voidreadDat()〃从m.dat文件中1M(200个四位数存入依ifla中

10(

11inti;

12FILE.£p;

13fp-fopen

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

15fscanf(fp,"td",[1]>;

16fclose(fp);

17J

18voidmain()

19I

20inti;

21readOat();

22jsVal();〃■川嫉敬“八,实理■HQ求的功健

23prinef("漏足条件的数ent);

24for(l-0;i<cnc;£7)

25printf("td”•bill);

26printf(*\nw);

27wrlteDat();

28I

29voidwrlteDat()〃七“节班梁cm以及数出b中科令条件的四位效■出到out.dm文件中

30(

31FILE*fp;一

32int1;

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

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

35ford-0;1<ent;

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

37fclose(fp);

38

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

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

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

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

注意:信分源程序存在tCSLC文件中.

请勿改动数据史件ndat中的任何数据以及上函数mainO和输出函数readwriteDAT。的内容.

1j#include<stdio.h>〃mdudc谓句说我善程序中包M中的标准■入■出程嫉数Md>o.h

2!voidreadwriteDAT();//西效readunxeDAT。漫明语句

3intis?(intm)〃*数isPdiu曰邦新m是杏为素数,如臬是素数则返回1.否则返回0

4(

5Int1;〃定义交量:

6for(i-2;i<tn;〃殳■1从2依次埸现到0

7if(m%1**0)return0;〃如Jim能被i■除,返回o

8,return1;〃否则施回1

9)

10voidnum(intm,intk.intxx(J)

11

12

13

14mainO

15(

16intm,n,xx(1000);〃定义受量tn,nxxllOOO]

17printf(w\nPleaseentertwointegers:w);

R・

18scanf<-%dr%d,Sm,&n);//从食读入两个我村受n

19num(m,n.xx);〃■用函HtMEinttn,tntk.tniu(D实现侪大于修数eH索森m的k个腐Uf存入敷ttiu

20for(m-0;m<n;mi)〃变■•从。依次逢培*n-1

21prxntf("Idxx(mj);〃■出我蛆兀It

22prlntf<*\nn);〃■出一个回车换行符

23readwriteDATO;用的敢Mh^tcDATOT站果■出到outdai文仲中

24)

25voidreadwriteDATO〃嫉败rgdwrLteMT()的定义讲句

26(

27intm,n.xxflOOO],i;〃定义整型受■Q.CJ,£和依铝xxIlOQG】

28FILETfe*wf;〃定义文件指叶交■「£.wf

29rf-fopenfin.daf,*rM);〃以只博的方式的打开文件HI.CUR,井用”指向这个文件

30wf-fopen(Mout.datw,、”);〃以只用的方式的打开文件。ut.&j并用“指向这个文件

31for(i-0;i<10;£♦十)〃修膝交量幺从。依次建京到9

32(

33fscanf(rftFdGm,&n);〃从文件in.&tit入角个数值*给m.n

34num(mrn.xx);〃■用lAfft洪fftnum(fn・k・u(]诙康其大于♦故mM*靠tn的k个底敏存入假10n

35for(m-0;m<n;m*+)〃除环从。依次递增列n-1

36fprintf(wf,",xx[m]);〃把数tfl元Mxx【mE入到文件out.cUt中

H

37fprintf(wfr*\n);〃妃回生侵力苻写人到文善out.dac中

38)

39fclosefrf);〃关闭■入文件£n.da匕

40fclose(wf);〃关闭•法文件。uidA匕

41

36.编写一个函数EndStr(char*str,char*substr),该函数统计一个长度为

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

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

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

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

最后把结果输出到文件。ut.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

37.已知在in.dat中存有若干个(个数<200)1四位十进制数字组成的正

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

数CalValueO,其功能要求:

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

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

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

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

中。

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

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

和输出函数WriteDatO的内容。

finclude<stdio.h>

2IdefineMAXNUM200

3intxx[MAXNUM);

4inttotNum•0;〃文件in.dot中共刊多少个正■故

5inttotCnt■0;〃符合条件的IE整家的个总

6doubletotPjz■0.0;〃平均fft

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14(

15int1;

16for(i-0;i<MAXNUM;

17xx[i]=0;

18if(ReadDat())

19

20数据文件in.dat不能打开!\00?\nn);

21return;

22)

23CalValue();

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

25printf(”符介条件的正整数的个数-"个"“,totCnt);

26printf("平均值totPjz);

27WriteDat();

28I

/•读取垃齐干个正整数弁存入数趾XX中•/

29intReadDat(void)

30I

31FILE*fp;

32;int1•0;

33if((fp-fopenCin.dat*,wr"))-NULL)

34ceturn1;〃如果,n,<Ut文代为空,附运际】

/•whileTK执行,痛邪文杵Dust的纳总遢出•/

35while(!feof(fp))

361

37fscanf(fp«Fd.4xx(i**U;〃从文件tn.dat*取个IHt存入xx[幻中,PWl・U

38I

39fclose(fp);

40return0;〃£文件,n.<Uc若干个:E♦敏・取并正■存入收皿“中第四。

41

,•总计算的最存入文件gt.dat中•/

42voidNriteDat(void)

43(

44FILE-fp;

45fp-fopen("out.dzit*r"w*);

,;,

tprintf(fp*"td\ntd\nt.2I£\n*ftocNum,totCnt«totPjx);

47fclose(fp);

48

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

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

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

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

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

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

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

中。

注意I部分源程序存在teac文件中.

程序中已定义数组;a[200].b[2OO].已定义变量,ent

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

1»*include<stdio.h>

2;tdefineMAX200〃定义宏变■MAX,H值行20。

【【】

3!inta(MAX),b(MAX)#ent-0;〃定义祭小数邦aMAX),»MAX和要■ent,并IHHI6t的初值为3

4;voidwritoDatO;

5;voidjsVal()

6•!

7j

8!

9jvoidreadDat()

10;(

11»int1;

12;FILE#fp;

13:fp•fopen("in-dat",;

14ifor(1-0;i<MAX;

15\fscanf(fp,"Qd",ia[i|);

161fclose(fp);

,

17i)

18ivoidmain()

19f

20;inti;

21:readDat();

22•jsVal();〃・用力冰也实现姿求的功能

23;printf(RJil足条件的敷ent);

24!for(1-0;1<ent;

25;printf(R%d,b(i]>;

261-printf(w\nw);

27;writeDat();

28;)

29;voidwrlteDat{)

30I(

31iFILETp;

32Iint1;

33;fp-fopen(wout.dAt**,m;

34jfprintf(fp,*%d\nw,ent);

35!for(1-0;1<ent;11♦♦)

36ifprintf(fp,b[lj);

37;fclose(fp);

38«

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

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

其功能要求:

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

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

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

最后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\(

201prlntf("数据文件In.dat不能打开!\007\n”);

21\

return;

22;J

23;CalValue();

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

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

26print—”平均值totPjz);

27WriteDat();

28)

/•提取这若干个正整数并存入最tflu中•/

29intReadDat(void)

30(

31FILE*fp;

32int1-0;

33iff(fp-fopen("in.dat*,*rw))««NULL)

34return1;

35while(!feof(fp))

36I

37fscanf(fp#7dSxx[i++]);

38)

39fclose(fp);

40return0;

41}

/•把计算姑臬存入文件iut.dat中•/

42voidWriteDat(void)

43

44FILE*fp;

45fp-fopen.dat",HwH>;

ww

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

47fclose(fp);

48

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

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

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

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

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

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

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

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

程序中已定义数组:a|200].b(200J.已定义受ent

请勿改动数据文件tn.dai中的任何数据、I函数main()x读函数rcadDai()和写函数writeDatO的内容.

1Iinclude<stdio.h>

2tdefineMAX200

3inta(MAX)#b[MAX|rent■0;

4voidwrlteDat();

5voidjsVa1()

6

7

8

9voidreadDat()

10

11inti;

12FILE*fp;

13fp=fopen("in.dat*,

14for(i-0;i<MAX;

15fscant(fptrd”.(1]);

16fclose(fp);

>

18voidmam()

19(

20int1;

21readDat();

22jsValO;

23printf("满足条件的数ent);

24for(i•0;i<ent;!>*)

25printf(**%d",b[i]);

26printf

27wrlteDat();

28I

29voidwriteDat()

30(

31FILE*fp;

32int1;

wwR

33fp=fopen(out.datrw°);

34fprintf(fprent1;

35for(i«0;1<ent;ix)

36fprintf(fp#7d\n”.b(1]);

37fclose(fp);

38

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

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

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

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

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

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

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

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

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

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

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

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

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

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

43.设有m个的用户集合US={ul,…,um},现对他们的行为数据进行

处理,使得每个用户ui对应一个n维向量Vi=[vilvin],用于表示

用户ui的特征。设有函数sim(Vi,Vj)用于判定用户ui与用户uj之

间的相似性。若有算法A,能根据用户间的相似性,将US划分成K个

子集合,并使属于同一子集合的客户间的相似性尽可能大,不属于同一

子集合的客户间的相似性尽可能小。则算法A属于一种()。

A.聚类算法B.分类算法C.关联分析算法D.回归预测法

44.下列关于索弓|的说法中,错误的是()。

A.索引是典型的空间换取时间的方法,因此在设计索引时要在空间和时

间两者之间进行权衡

B.建立聚集索引时,数据库管理系统会按照聚集索引键值对数据进行排

C.聚集索引的键值不能重复

D.当经常进行范围查询时,在范围列上建立索引可以提高该类查询的效

参考答案

1.D解析:共享变量是指可被多个进程访问的变量。

2.C解析:队列是另一种特殊的线性表,限定所有的插入都在表的一端

进行,所有的表的删除都在另一端进行,即先进先出。队列既能用顺序

方式存储,也能用链接方式存储。树的层次次序周游算法的实现是队列

的应用;而二叉树对称序周游算法的实现实际上是栈的应用。所以正确

答案为选项C。

3.C解析:充分的Web支持主要包括:1、XML和Internet标准支持;

2、方便而安全地通过Web访问数据;3、基于Web的分析功能:4、安

全的应用程序管理。

4.A建立一个Delphi程序时,用户一般只需要在一个窗体对象上放置所

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

程序设计的基本步骤如下:开始创建一个新的项目,•设计窗体:将所需

构件放入窗体中的适当位置;处理窗体,编写构件响应的事件;编译、

运行程序。

5.A解析:OLAP和OLTP二者面向的用户是不同的。OLAP面对的决

策人员和高层管理人员;OLTP面对的是操作人员和低层管理人员。

6.B

7.D解析:本题涉及3个表的连接查询,需要我们解决的是WHERE后面

的连接条件。首先连接表S与SC,连接条件为s.s#=sc.s#;然后再连接

表C和SC,连接条件为C.C#=SC.C#0这样就可以将3个表连接起来。

但是分析题意,同时还要在连接后所形成的表中满足条件'SEXT男,和

CNAME=,计算机文化"。通过以上分析,连接是同时满足的关系,故应用

'AND'连接,因此,WHERE子句内容应为S.S#=SC.S#AND

\ueOO8C.C#=SC.C#\ueOO9ANDSEX=,男,ANDCNAME=,计算机文化”。

8.A解析:插入语句的一般格式有两种:

①插入一个元组

INSERTINTO表名[(字段名L字段名kJ]

VALUES(常量[,常量]…);

②插入子查询结果

INSERTINTO表名[(字段名L字段名kJ]

子查询

第一种格式把一个新记录插入到指定的表中,第二种格式把子查询的结

果插入指定的表中。若表中有些字段在插入语句中没有出现,则这些字

段上的值取空值NULL0当然在表定义中说明了NOTNULL的字段在

插入时不能取NULL。在这道题里,学号和姓名都为字符串类型,应当

打单引号。

9.D解析:手写签名是所签文件的物理部分,数字签名不是所签文件的

物理部分。手写签名是通过和真实的手写签名比较来验证,易于伪造。

数字签名能通过一个公开的验证算法来验证,比较安全。一个手写签名

的拷贝容易与原文件区别,因此不易拷贝。

10.D

11.SQLServerProfiler数据库弓I擎优化顾问

12.就绪就绪解析:进程被创建后,它被置于就绪队列中。

13.生成树【解析】在实际的网络应用环境中,很难保证通过网桥互联

的系统中不出现环型结构。环型结构可能是网桥反复地复制和转发同一

个帧,从而增加网络不必要的通信量与降低系统性能。为防止出现这种

现象,透明网桥使用的是一种生成树算法。

14.未提交事务未提交事务

15.空间局部性空间局部性解析:虚拟存储管理是基于局部性的原理。

表现在时间和空间局部性两个方面。时间局部性是指程序中执行的某些

指令会在不久后再次被执行,程序访问的数据结构也会被再次访问。空

间局部性指程序在执行时访问的内存单元会局部在一个比较小的范围

内。

16.主动攻击【解析】在X800中将安全攻击分为两类:被动攻击和主

动攻击。被动攻击试图了解或利用系统的信息,但不影响系统资源。主

动攻击试图改变系统资源或影响系统工作。

17眉号十六进制【解析】IPv6的128位地址按每16位划分为一个位

段,每个位段被转换为一个4位的十六进制数,并用冒号隔开,这种表

示法称为冒号十六进制表示法。

18.客户机端或客户机SQLServer2000的组成,一般包括客户机组件,

服务器端组件,通信组件三部分组成。

19.标识信息【解析】一旦CA验证了实体的身份,就产生一个证书,

将这个公共密钥和身份进行绑定。证书中包括公共密钥和密钥所有者的

全球惟一的标识信息。这个证书由认证中心进行数字签名。

20.PCB或进程控制块PCB或进程控制块

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

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

日志文件,后写数据库。

22.B方框代表的是实体,属性是椭圆,联系是菱形

23.B

24.D

25.B

26.B

27.A

28.D解析:通道相当于一个功能简单的处理器,具有自己的指令系统,

并与主机共享同一个内存,以保存通道程序和交换数据,通道的功能就

是在CPU的控制下完成数据的输入输出工作。

29.B

30.D

31.\n【审题关键句]读取正数,统计个数,各位数字之和为偶数的数的

个数及平均值。

\n【解题思路】\n\t\t定义整型循环变量i、j,表示各位数字之和的长整

型变量he以及存储一个四位数的字符数组num[5]o

\n②循环变量i从0开始,依次递增到4,对字符数组num⑸的每个元

素赋初值0。

\n③循环变量i从0开始,依次递增到MAXNUM.1,对每个数组元素

xx[i]进行判断,如果xx[i]的值非零,则变量totNum加1,退出循环时,

totNm的值就是文件in.dat中存有的四位正整数的个数。

\n④循环变量i从0开始,依次递增到totNum-1,对于每个数组元素xx[i]

调用库函数sprintf以4

温馨提示

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

评论

0/150

提交评论