版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【2021年】广东省江门市全国计算机等级
考试数据库技术真题(含答案)
学校:班级:姓名:考号:
一、1.选择题(10题)
1.对有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]
2.下列不属于SYBASE产品的是
A.AdaptiveServerEnterprise
B.DB2WarehouseManager
C.AdaptiveServerReplication
D.AdaptiveServerConnect
3.CPU状态分为目态和管态两种,从目态转换到管态的惟一途径是()。
A.运行进程修改程序状态字B.中断屏蔽C.中断D.进程调度程序
4.下面关于数据库系统基于日志的恢复的叙述中,哪一种说法是正确的?
A.利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中
的改前值可以进行REDO
B.利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中
的改后值可以进行REDO
C.利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中
的改前值可以进行REDO
D.利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中
的改后值可以进行REDO
5.若事务T对数据R已加X锁,则其他事务对数据R
A.可以加S锁不能加X锁B.不能加S锁可以加X锁C.可以加S锁也
可以加X锁D.不可以加任何锁
6.由于关系模式设计不当所引起的插入异常指的是
A.两个事务并发地对同一关系进行插入而造成数据库不一致
B.由于码值的一部分为空而不能将有用的信息作为一个元组插入到关
系中
C未经授权的用户对关系进行了插入
D.插入操作因为违反完整性约束条件而遭到拒绝
7.数据字典是数据库分析阶段最重要的工具之一,其基本功能是()。
A.数据管理B.数据查询C.数据定义D.数据维护
8.游标是系统为用户开设的一个
A.内存空间B.数据缓冲B2c.外存空间D.虚拟空间
9.在TCP/IP参考模型中,不属于应用层协议的是
A.IP协议B.FTP协议C.SMTP协议D.HTTP
10.线性链表不具有的特点是
A.随机访问B.不必事先估计所需存储空间大小C.插入与删除时不必
移动元素D.所需空间与线性表长度成正比
二、填空题(10题)
11.客户机/服务器模式在实现中需要解决的主要问题有:标识一个特定
的服务、响应并发请求和服务器程序的O
12.若线性表的长度经常发生变化,那么该线性表应采用的存储结构是那
13.在关系模式R<U,F>中,如果X-Y且存在X的一个真子集X',
有X,一Y,则称Y对X的依赖为_____函数依赖。
14.在关系数据模型中,二维表的列称为属性,二维表的行称为o
15.计算机应用技术领域包括科学计算、事务处理、过程控制、辅助工程、
网络应用和多媒体的应用等七大领域。
16.在页式存储管理中,存放在高速缓冲存储器中的部分页表称为
17.设F是Tl、T2和T3三棵树组成的森林,与F对应的二叉树为B,
已知ThT2和T3的结点个数分别为nl,n2和n3,则二叉树B的根结
点左干树和右干树中结点的个数分别为【】和【】
18.概念结构设计的方法通常有自顶向下、自底向上、逐步扩张和【】。
19.在关系数据库规范化理论的研究中,在函数依赖的范畴内达
到了最高的规范化程度。
20.SQLServer数据管理系统中常用的性能工具包括和。
三、单选题(10题)
21.能够对PowerDesigner中所有模型信息只读访问的模块是()。
A.A.ProcessAnalyst
B.DataArchitect
C.Viewer
D.WarehouseArchitecture
22.逻辑文件存放在存储介质上时,采用的组织形式是与什么有关?
A.逻辑文件结构B.存储介质特性C.主存储器管理方式D.分配外设方
式
23.下列关于SQLServer数据库用户权限的说法中,错误的是_________
A.数据库用户自动具有该数据库中全部用户数据的查询权
B.通常情况下,数据库用户都来源于服务器的登录账户
C一个登录账户可以对应多个数据库中的用户
D.数据库用户都自动具有该数据库中public角色的权限
24.影响优化器的主要因素有:
A.由于现有索引不足,导致排序索引中不包括一个或几个待排序的列。
B.Groupby和orderby子句中列的次序与索引次序一致。排列的列来自
不同的表。
C.建立的索引文件太多。
D.事务处理太多
25.某数据库应用系统中,数据库管理员发现某个查询功能是用多表连接
操作实现的,此操作性能较差。在保证功能不变的前提下,若要提高该
查询的执行效率,下列方法中可行的是()
A.将此查询语句放置在视图中,使用视图实现该查询操作
B.修改实现此功能的查询语句,将连接查询改为嵌套查询
C.将此功能涉及到的表进行合并,然后对合并后的表进行查询
D.将此查询语句放置在存储过程中,通过调用存储过程实现该查询操作
26.为了考虑安全性,每个部门的领导只能存取本部门员工的档案,为此
DBA应创建相应的()o
A.视图(view)B.索引(index)C.游标(cursor)D.表(table)
27.在数据库的数据模型中有()
A.网状模型、层次模型、关系模型
B.数字型、字母型、日期型
C.数值型、字符型、逻辑型
D.数学模型、概念模型、逻辑模型
28.在登录日志文件时,应该
A.将更新数据库与登录文件两个操作同时完成
B.将更新数据库与登录文件两个操作按随机的顺序完成
C.先写数据库的更新,后登录日志文件
D.先登录日志文件,后写数据库的更新
29.某数据库应用系统使用SQLServer2008作为数据库平台。在系统运
行期间,用户反映某更新操作很慢,无法正常完成业务。系统工程师分
别在用户的客户机和数据库服务器上使用数据库管理系统自带的客户
端工具执行此更新操作语句,发现该语句执行后长时间无响应。经检查
数据库服务器CPU使用率小于1%,磁盘10也非常小。造成此现象可
能的原因是()
A.客户机到数据库服务器的网络故障
B.更新操作涉及到的表没有建立主码
C.更新的字段没有建立有效的索引
D.更新操作涉及到的数据被锁定
30.下面关于关系的性质描述正确的是
A.每列中的分量可以来自不同的域
B.一个关系中可以有相同的元组
C.每一个分量必须是不可分的数据项
D.不同列的分量必须来自相同的域
四、C语言程序设计题(10题)
31.将文件in.dat中的200个整数读至数组XX中。请编制jsValue函
数,要求:求出数组XX中的数值为奇数的个数cntl和数值为偶数的个
数cnt2以及数组XX下标为奇数的元素值的算术平均值pjo
结果cntl,cnt2,pj输出到out.dat中。注意:部分源程序存在test.c
文件中。请勿改动数据文件in.dat中的任何数据、主函数main、读函
数read_dat和输出函数writeDat的内容。
1tlnclude<stdio.h>
2,defineN200
3Intchtl«5t2rxx[NJ;
4floatpj;〃平均值
5voidwriteDat();
6voidjsValue()
7
e
9
/•ro4d_d«t(intxxlN”/敷典文ftiiutot中的200个・收0至IWlu中•/
iovoidread_dat(intxx[N])
ii(
12intirj;
13FILE*fp;
w
14fp«fopen(**in.d3t,"r");
15for(1•0;i<20;
16(
17for(j-0;j<10;
18
19fscanf(fp«"dj,^xx(i*10*jJ);//从文件n&i中it取一个整数打入敷馔元索xx【l・107】中
20printf("%d",xx[i*10*j));
21]
22printf(*\nw);
23]
24fclose(fp);
25
26voidmain()
27(
28read_dat(xx);
29;jsValue();
30?printf(w\n\ncntl-%d,cnt2・*d,p]・56.2f\n",cntl/ent2,;
iPj>
31IwriteDat();
•/•樽计算笳果end.cm2,pj■出JNouLdai中,/
33ivoidwriteDat()
34y
351FILE*fw;
36;fw-fopen("out.dat*\Hww);
w〃・讨写人到中
37!fprintf(fwr"%d\n%d\n%6.2f\n9cnt2,pj);cmlcm2,ouLdai
38ifclose(fw);
39;1
32.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat
把这些数存入数组a中,请考生编制一函数jsVal,其功能是:依次从数
组a中取出一个四位数,如果该四位数小于该四位数以后的连续五个数
且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此
条件的个数ent,并把这些四位数存入数组b中,而后对数组b进行升
序排序,最后调用写函数writeDat把结果ent以及数组b中符合条件的
四位数输出到Out.dat文件中。
注意:部分源程序存在test.c文件中。
程序中已定义数组:a[200],b[200],已定义变量:ent
请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat
和写函数writeDat的内容。
1-tinclude<stdio.h>
2(^defineMAX200〃定义定变・MAXK值*于2G0
3;inta(MAX)rb(MAXl,ent-0;〃代初始值为0.定义全局整EAIMAXI,b(MKX!»<«cnt
4!voidwriteDat();m数的说明语句
5jvoidjsVal()
6;(
8L,
J/•”adDat()从数据文件m.dat中通取200个网位数存入数组■中•/
9jvoidreadDat()
10i(
11jint1;
12jFILEefp;
w
13:fp-fopen(in.dafr
14;for(1a0;1<MAX;i++)
15ifscanf(fpr"Qd".;
16;fclose(fp);
17:»
18»voidmam0
19;(
20!inti;
21»readDat();
22:jsVal(>;〃谓阳)滴敝,实照AIH要求的功能
23\printff”满足条件的数7d\rT,:nt);
24ifor(i-0;i<ent;“♦)
25•print1(**%d",b[11);
26•printf(0\nM>;
21;writeDatO;
28i)
;/•响敢wntcIXHHe怙里mi以及数期b中衿介条件的四位敷,出到out.dai文件中•/
29;voidwrlteDat()
30!{
31;FILEafp:
32•inti;
ww
33•fp»fopen(out.datr”“);
34;fprintf(fp,7d\M,ent);
35!ford■0;1<ent;"♦)
R
361fprintf(fprid\n**rb(i]i;
37jfclose(fp);
385)
33.已知在文件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的内容。
1;llnclude<stdlo.h>
2!IInclude<string.h>
3»finclude<stdlib.h>
4!fdefineMAX100
5jtypedefstruct
6;*
7!chardm(5];八产品代码〃
8;charme(11];/•产品名林•/
9•intdj;单钞•/
10;intsi;/•ft*•/
11ilongje;/•金・•/
12!}PRO;
13jPROsell[MAX];
14;voidReadDat();
15!voidWriteDat();
16•voidSortDat()
ni<
20!voidmain(>
21[(
22'memset(sellt0,sizcof(sell));
23•ReadDat();
24iSortDatO;
25!WriteDat(”
26;1
27;voidReadDat()
28;(
29FILE#fp;
30charstr(80)9ch[1I];
31inti;
32fp,fopen("in.dat",Hrw>;
33for(l•0;1<100;1+♦)
34(
35fgets80.fp);
36memcpy(sell(1).dm,stt/4);
37metncpy(sell(i).me,atr*4f10);
38metnepy<ch.str*14.4);ch[41-0;
35sell(1।.dj■atol(cb);
40oteincpy(ch«str*18f5);ch(Sl*0;
41sell(i).91-atol(ch);
42sailfl).je•(long)sell[i]«dj•sell(i].si;
43)
44fclose(fp);
45)
46voidWritoDat0
47
48FILE*fp;
49int1;
50fp•fopen("out♦da**«**);
51fox(1•0/1<100;
52I
53fprlntf(fp,"%BIs%4d%SdH01d\n**,9«11(1].dmrsell(i),me,sell(1j.djrsell(1).slf
sellfi].je);
55fclose(fp);
56
34.函数readDat是从文件in.dat中读取20行数据存放到字符串数组
XX中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能
是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍
按行重新存入字符串数组XX中,最后调用函数writeDat把结果XX输
出到文件out.dat中。
条件:字符串从中间一分为二,左边部分按字符的ASCII值升序排序,
右边部分不变,左边经排序后再与右边部分进行交换。如果原字符串长
度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。
例如位置012345678
源字符申dcbahgfe
432198765
则处理后’7符中hgfcabcd
876591234
注意,部分源程序存在Ex文件中•
请勿改动数据文件in.dn中的任何数据.主函数mainO.选曲数retdDatO和写曲数wrisDatO的内容.
1Iinclude<stdio.h>
*include<string.h>
3jvoidreadDat();
4;voidwriteDat();
5!charxx[201[801;
6;voidjsSort()
7i(
B;
9\)
10;voidmain()
12!readDat();
13।jsSort();
14!writeDat();
15j)
!”从文件中取。"数据存放到字符市软机中•/
।w.dai92xx
16ivoidreadDat()
17;(
18»FILE,in;
19;int1■0;
20*char*p;
21;in-fopen(win.datwf"r");
22!whiled<20“fqets(xx[l),80,in)!■NULL)
23\(
24p■strchr(xx(i]r•\n*);
25jif(p)*p•0;
26•
27»)
28;(close(in);
29;}
:/•纪站果xx♦出现文件om&t中•/
30-voidwriteDat()
31;(
32-FILE•out;
33jint1;
34;out-fopen(*out.datH,**wn);
35ifor(1-0;i<20;[♦+)
36i1
37!printf("IsSn-*,xx(1]);
38»fprintf(out,w%s\nM/xx[1B;
39jJ
40;fclose(out);
35.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符
号字符串数组XX中;请编制函数encryptChar,按给定的替代关系对数
组XX中的所有字符进行替代,其替代值仍存入数组)xx的对应的位置
上,最后调用函数wmeDat把结果xX输出到文件out.dat中。
替代关系:f(p)=p*Umod256,mod为取余运算,P是数组xx中某一个
字符的ASCII值,f(p)是计算后无符号的整型值(注意:中间变量定义成
整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字
母,则该字符不变,否则用f(P)替代所对应的字符。
注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:
每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系
进行处理。
请勿改动住数main、读数据函数ReadDat和输出数据函数WriteDat的
内容。
♦include<stdio.h>
Iinclude<string.h>
3•include<ctype.h>
4unsignedcharxx[50][80];
5intntaxline-0;/•文章的总行敷♦/
6intReadDat(void);
7voidWriteDat(void);
8voidencryptChar()
9
10
11
12jvoidmain<)
13i(
14;if(ReadDat0)
15i{
16printf(”数据文件in.dat不能打开!\门\007“”
17return;
18\I
19jencryptCharO;
20•WriteDat();
21!!
j/•从文件ilL&l中读取•・英文文■・存f无符号字料删数烟U中〃
22•intReadDat(void)
23!(
24\FILE*fp;
25!inti-0;
26iunsignedchar*p;
27if((fp-fopen("in.daf,wr-))-NULL)
28return1;
29।while(fgeta(xx[i),80ffp)!•NULL)
30;
31!p-strchr(xx(i]t・\n»
32\if(p)*p*0;
33\
34J
35;maxline-i;
36!fclose(fp);
37\return0;
38I}
八圮雄果XX•出JM文件CHlLdai中•/
39;voidWriteDat(void)
401(・
41!FILE*fp;
42;inti;
wwM
43!fp-fopen("out.datrw);
44ifor(i-0;i<maxline;"♦)
«j
w
46!printtC%s\nrxx(i]);
47ifprintf(tp,7s\n",xx[ij);
向>
49•fclose(fp);
36.已知数据文件INI.DAT和IN2.DAT中分别存有100个两位十进
制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b
中,请考生编制一个函数JsVal,实现的功能是依次对数组a和b中的数
按条件重新组成一个新数并依次存入数组C中,再对数组C中的数按
从小到大的顺序进行排序,最后调用输出函数writeDat把结果C输出到
文件out.dat中。组成新数的条件:如果数组a和b中相同下标位置的
数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为新
数的个位数字,数组b中的十位数字为新数的百位数字,个位数字为新
数的十位数字,这样组成的新数并存入数组C中。
例如,at123124152115
b1324517271815
c:MSI12751155
律序后加IIS512753451
注意।部分源程序存在EC文件中.
界序中已定义;叩00卜b(ioo)和«1时・
请勿改动数期文件INI.DAT和1N2,DA丁中的任何数据,主函数设曲数readDatQ和耳啪败writeDilO的内容.
11linclude<stdio«h>
2»*defln<MAX100
3-intalMAXl.b(MAXHc(MAXJ;
4-intent-0;/•夺放制化8件数的个收•/
5;voidjsValC
/•lEftWX#IN1.DATIDN2.DAT中80100个再依十建・我存入也.b中•/
voidreadDat()
inti)
13,fp•fopen("inl"r")
14!for(1•0;1<MAX;1♦+)
15ifscanf(fp,
16!{close(fp);
17jfp•fopen("in2.dat","r**)
18-ford-0;1<KAX;
19«fscanf(fp4"Qd",6b[1]);
20;fclose<fp);
21;\
22ivoidmain()
231(
24;inti;voidwrlteDat();
25-for(1-0;i<MAX;
26jCtl]-0;
27-readDat();
28!jsVal();
29\for(i-0;1<MAX“C[i
30:prlntt(*id\n",c(i));
31iwritoDatOi
32j)
I/•纪纶最数忸c•出则文介中〃
33•voidwriteDat()
34•(
35JFILE*fp;
36!intil
fp•fopen("out.dit**,"D;
38!for(1-0/i<MAX6,c(l)>0/11♦♦)
39ifprlntf(fp,e(i)):
40\fclose(fp);
41;)
37.
函数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的内容。
4•Intmaxline-0;/•文聿的总行敷•/
5•intReadDat(void);
6;voidWriteDat(void);
!,•以后为•位忙字符串中的析科小耳学用改写成力学阳的上一个字用,如量能?用M修改写A字艰加M他字符保》不克♦/
7।voidConvertCharD(void)
8
9
10
11;voidmain()
12\I
13•if(ReadDatO)
14I(
15printf("数据文件in.dat不能打开!\n\007");
16return;
17|I
18»ConvertCharD(>;
19\WriteDatO;
20!J
;“从文件m&t中it以・英文文拿存入期字符mxx中。/
21!intReadDat(void)
I
22।(
23!FILE-fp;
24iint1-0;
25char*p;
26•if((fp-fopen("ln.dat*r*r**))-NULL)
27return1;
28•while(fget3(xx[1],80«fp)!•NULL)
29j(
30p•strcbr(xx(1],*\n•I;
31if(p)*p•0;
32!♦*;
33
34;tnaxline■i;
35!fclose(fp);
36jreturn0;
37
;/结果H■巾*文件am中•/
38\voidWriteDat(void)
39)(
40FILEefp;
41*inti;
42fp-topen(wout.dat*,"w**);
43for(1-0;1<moxllno;)
44i(
45printfxx(1|;
46fprintf(fpr"IsXn",xx(i));
47
48।fcloae(fp);
49
38.设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开
始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个
人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现
要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编写
函数Josegh(void)实现此功能,并调用函数writeDat,把结果P输出到文
件out.dat中o
设n=100,s=l,m=10o
①将1到n个人的序号存入一维数组P中;
②若第i个人报数后出圈,则将p1]置于数组的倒数第i个位置上,而原
来第i+1个至倒数第i个元素依次向前移动一个位置;
③重复第②步直至圈中只剩下p[l]为止。
注意:部分源程序已经给出。
请勿改动主函数main和输出数据函数writeDAT的内容。
Iinclude<stdio.h>
idefineN100
*defineS1
*defineM10
Sintp(100]tnrs,m;
6voidWriteDat(void);
voidJoseqh(void)
6
9
10
voidmain()
13m«M;
14nwN;
15smS;
16Josegh();
17WriteDat();
18
,・把结粤p•出到文件outdai<1»*/
19voidWriteDat(void)
(
int1;
22FILEefp;
23fp•fopen("out.dat*,;
八以史修的方式,以1。个数据为-闾把friftp【川■出到屏幕相文件ouLdat中•/
24for;i>«0;i--)
25
26printf("%4d",p(i});
27;fprintf(fp,74d",p(l]);
28if(i%10-0)〃如果i鱼被10整除,射■出一个回东换行检
29•(
30]printf(*\nM);
315fprintf(fp^"\n");
32i}
335)
34;fclose(fp);
35;1
39.已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数
ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,
其功能要求:
1.求出该文件中共有多少个正整数totNum;
2.求这些正整数右移1位二进制位后,产生的新数是奇数的数的个数
totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。
最后main函数调用函数WriteDat把所求的结果输出到文件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
40.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat
把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把一个四
位数的个位数位置上的值减去千位数位置上的值再减去百位数位置上
的值最后减去十位数位置上的值,如果得出的值大于等于零且原四位数
是偶数,则统计出满足此条件的个数ent,并把这些四位数按从小到大
的顺序存入数组b中,最后调用写函数writeDat把结果ent以及数组b
中符合条件的四位数输出到Out.dat文件中。
注意;部分厚程序存在g.C文件中.
程序中已定义数组:4200],H200].已定义变量,ent
请勿改动数据文件in-dax中的任何数据、主函效读函数nadDat()和写曲数writeDatO的内容。
1jImcludo<stdio.h>
2\IdefineMAX200
3inta(MAX],b[MAXJ/ent
4voidwriteDat();
voidjsVal()
6
7
8
9voidreadDat()
10(
11inti;
FILE*fp;
fp*fopen("in.dat",wr");
14for(i-0;i<MAX;i++l
15fscanf(fp,7d",[iI);
16fclose(fp);
17}
18voidmain()
19I
20inti;
21readDat();
22jsVal();
23prin"「涧足条件的敷。ent);
24for(i-0;i<ent;
25printf(•*%(!”,bill);
26printf(w\nw);
27writeDat();
26I
29voidwriteDat()
30
31FILEefp;
32intij
33fp-fopen("out.datw,"w");
nn
34fprintf(fp,%d\necnt);
35for(1•0;i<ent;ix)
36fprintf(fpr”d\n",b(x));
37fclose(fp);
38
五、设计与应用题(2题)
41.现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年
份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有
多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序
号。请完成以下操作:(1。分)(1)画出E-R图。(2)将E-R图转换成
关系模式,并指出每个关系模式的主键(加下划线)和外键(加波浪线)。
42.设某连锁商店数据库中有关系模式R:R(商店编号,商品编号,库
存数量,部门编号,负责人)如果规定:每个商店的每种商品只在一个
部门销售,每个商店的每个部门只有一个负责人,每个商店的每种商品
只有一个库存数量。(10分)(1)请根据上述规定,写出关系模式R的
函数依赖集;(2)请给出关系模式R的候选码;(3)请说明关系模式R
属于第几范式,并给出理由;(4)请将R分解成满足3NF的关系模式。
六、单选题口分](2题)
43.现有SQLServer2008数据库服务器,其中的一个数据库占用80GB
空间,另有一台用于备份的计算机,该机器上有4个大小均为50GB的
硬盘分区。若要将此数据库完全备份到该计算机上,则()o
A.不能实现,因为每个分区上的空间都不够80GB
B.可以先建立一个备份设备,这个设备分别在4个分区上各占用20GB
空间,然后再用此设备备份数据库
C.可以先在每个分区上分别建立一个备份设备,指定每个设备的大小均
为20GB,并建立一个包含这4个备份设备的备份媒体集,最后再用此
备份媒体集备份数据库
D.可以先在每个分区上分别建立一个不用指定大小的备份设备,然后将
数据库同时备份到这4个备份设备上
44.关于优化查询说法正确的是()。
A.避免或简化排序的目的是实现查询优化
B.在保证数据库一致性的前提下,将频繁操作的多个可以分割的处理过
程放在一个存储过程中,这样可以大大提高系统的响应速度
C.使用临时表会占用较多的系统资源,尤其对于大规模并发量的情况下,
很容易使得系统资源耗尽而崩溃
D.相关子查询的使用可以加速查询
参考答案
1.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⑹,R[2],R[4],R[3]。
2.B解析SYBASE数据库产品有:SYBASEEP,AdaptiveServerEnterprise,
AdaptiveServerReplication,AdaptiveServerConnect以及异构数据库互联
选件。注意:DB2WarehouseManager属于IBM的DB2产品,故B)选项
正确。掌握SYBASE数据库系统的功能及其特点。
3.C解析:由于计算机系统的硬件区分目态和管态,用户程序在目态运
行时不能直接使用I/O指令等特权指令,只有当用户程序执行到产生一
次中断后,使机器在原来的目态下执行用户程序变成在管态下执行操作
系统的系统调用程序。所以从目态转移到管态的惟一途径是中断。
4.B解析:UNDO:对撤销队列中的各个事务进行撤销处理,处理方法
是:反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,
即将日志记录中“更新前的值”写人数据库。
5.D解析:当一个事物欲对某个数据对象操作,可以对该对象加锁,取
得对数据的一定控制,同时限制其他事物对该对象进行操作。
6.B解析:本题考查关系数据库规范化理论的基本概念,参见4.4.1节
“关系数据库的规范化理论”。关系模式插入异常是指违反了实体完整性
约束,主码值为空而导致的元组无法插入的异常。正确答案为B。
7.C解析:数据字典是系统中各类数据描述的集合,数据字典通过对数
据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
8.B解析:SQL语言与宿主语言具有不同的数据处理方式。SQL语言是
面向集合的,一条SQL语句原则上可以产生或处理多条记录,而宿主
语言是面向记录的,一组主变量一次只能存放一条记录。所以,仅使用
宿主变量并不能完全满足SQL语句向应用程序输出数据的要求,为此,
嵌入式SQL引入了游标的概念,用游标来协调两种不同的处理方式。
游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果,
每个游标区都有一个名字。
9.A解析:TCP/IP参考模型在网络层定义了IP协议;在传输层定义了
TCP和UDP协议;在应用层定义了TELNET协议FIT协议、SMTP协
议、RIP协议、NFS协议、HTtP协议。注意:TCP/IP参考模型在网络
层定义了IP协议,故A)选项不属于应用层协议。掌握TCP/IP参考模型
以及各层的协议。
10.A解析:线性链表具有的特点是不必事先估计所需存储空间大小,插
入与删除时不必移动元素,所需空间与线性表长度成正比,但不能进行
随机访问。
H.安全问题【解析】客户机/服务器模式在实现中需要解决的主要问题
有:标识一个特定的服务、响应并发请求和服务器程序的安全问题。
12.链式存储结构在计算机中用一组任意的存储单元存储线性表的数据
元素(这组存储单元可以是连续的,也可以是不连续的).\r\n\u3000\u3000
它不要求逻辑上相邻的元素在物理位置上也相邻.因此它没有顺序存储
结构所具有的弱点,但也同时失去了顺序表可随机存取的优点"\n
13.部分部分
14.元组或记录元组或记录
15.人工智能【解析】概括起来,计算机应用技术领域包括科学计算、
事务处理、过程控制、辅助工程、人工智能、网络应用和多媒体的应用
等七大领域。
16.快表快表
17.
ni-1nz+ns
树与二叉树的转换;将森林中每棵树的根结点作为二叉树的根结点,每
个结点中的从左数第一个孩子是二叉树中的左孩子,该孩子的所有兄弟
都依次为该结点的右孩子,如此例推
18.混合策略混合策略解析设计概念结构通常有4类方法自顶向下:
即首先定义全局概念结构的框架,然后逐步细化;自底向上:即首先定
义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
逐步扩张:即首先定义最重要的核心概念,然后向外扩充,以滚雪球的
方式逐步生成其他概念结构,直至总体概念结构;混合策略:即将自顶
向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,
以它为骨架集成用白底向上策略设计的各局部概念结构。
19.BCNF
20.SQLServerProfiler数据库引擎优化顾问
21.B
【答案】B
【解析】DataArchitect是可以对PowerDesigner中所有模型信息进行
访问的只读模块。
22.B解析:用户的逻辑文件要存放到存储介质上时,文件系统要根据存
储设备的类型,用户采用的存取方式决定文件在存储介质上的组织方式。
23.A
24.A
25.C
26.A解析视图是从一个或几个基本表中根据用户需要而做成的一个虚
表。视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数
据,视图是只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展
现给用户。
27.A
28.D解析:为保证数据库是可恢复的,登记日志文件时必须遵循以下两
条原则:1、登记的次序严格按并发事务执行的时间次序;2、必须先写
日志文件,后写数据库。
29.D
30.C解析:关系的性质1、每列中的分量来自同一个域;2、不同列的分
量可以来自相同的域,但是不同列的属姓名不能相同;3、列的顺序可以
交换;4、行的顺序可以交换;5、一个关系中不能有相同的元组;6、每
一个分量必须是不可分的数据项。
31.\n【审题关键句】读入数值,奇数个数,偶数个数,数组下标为奇数
的平均值。
\n【解题思路】
\n本题类似第42套试题,通过审题可以发现仅有一个不同点,即本题
是计算数组下标为奇数的元素的平均值,参考答案的第6条语句。
\n【参考答案】
\n
\n
32.【审题关键句】小于后连续5个数,偶数,从小到大排序。
\n【解题思路】
\n①首先定义两个循环整型变量i、j和一个用于数据交换的整型变量
abo
\n②然后在for循环语句中,先指定循环变量i从0开始,依次递增到
MAX-5(到MAX.5的原因是因为从倒数第5个数开始,其后面的数都
不满5个数,与题目要求不符,因此可以省略最后5个数),接着对每个
数组元素a用判断其是否为偶数且小于其后面连续的5个数,然后把满
足此条件的数组元素a[i]赋给数组元素b[cnt],同时数组的下标变量ent
加1。③最后,用双重for循环语句对数组b中的数组元素两两比较大
小,如果前一个数组元素大于后一个数组元素,则两者进行互换,实现
对数组b进行升序或降序的排列。
\n【参考答案】
\n
\n
33.\n【审题关键句】计算金额,按金额从大到小进行排列,相同的则按
产品代码从大到小排列,结果存入结构数组。
\n【解题思路】
\n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要
求有所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026学年江西省景德镇市一年级语文期末自测思维拓展题附答案详细答案和解析
- 基站蓄电池安装工安全操作规程
- 人防地下室防水及抗渗混凝土施工方案
- 肿瘤脊髓压迫症康复时机选择共识
- 老年衰弱高血压降压方案动态调整规范共识
- PA性格测试+服务意识面试题库(含详细答案解析)
- 性早熟体重长期管控实施方案共识
- 自动化设备点检安全操作规程
- 注册安全工程师考试金属冶炼安全生产专业实务(中级)试卷与参考答案
- 大量输血方案实施指南(2025版)
- 源远流长话云南
- 养老院项目新规划设计方案
- 消毒供应室院感管理课件
- 医院常用消毒剂课件
- 中国内蒙古能源行业调查报告
- 北京市通州区2024-2025学年八年级上学期期末考试道德与法治试卷(含答案)
- 2024年设备监理师考试题库及参考答案
- 蔬菜订购协议范例
- 2019-2024年高考语文全国卷文言文翻译汇编
- 2022山东省特种设备电梯安装维修工职业技能竞赛 理论复习题及答案
- AASM睡眠分期规则-课件
评论
0/150
提交评论