《(2021年)安徽省合肥市全国计算机等级考试数据库技术预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《(2021年)安徽省合肥市全国计算机等级考试数据库技术预测试题(含答案).docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、(2021年)安徽省合肥市全国计算机等级 考试数据库技术预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .下列关于关系数据模型的术语中,哪一个术语所表达的概念与二维表中的“行”的概念最接近?()A.属性B.关系C.域D.元组2 .下面所列各项,哪些属于数据库技术的研究领域?()数据库管理系统软件的研究数据库设计数据库管理操作系统A.和B.和C.、和D.全部3 .关于概念模型的描述正确的是 oA.概念模型是描述概念世界一机器世界的数据模型B.概念模型是按用户的观点对数据和信息建模,也称为信息模型C.概念模型涉及信息在计算机中的表示D.概念模型语义表达能力较弱4 .下列关于并
2、行数据库系统的体系结构概括较全面的是()。20212223242526272829303132333435363738int 1;readDat();jsValO ; 调网曲故,实现雷日裳求的功健printf(满足条件的数=Qdn”,ent);for(i - 0; i ent; 1+)printf(M%d , b(i);prlntf;writeDat O;/,哈故WT械Datoie姑聚cm以及数爆b中箝合条件的四位败出到outdat文科中/ void writeDat()(FILE #fp;int i;fp - fopen(*out.dat, Mw); fprintf (p, H%dn*, e
3、nt); for(1 0; i ent; i+)fprintf (fp,bib ;fclose(fp);33.已知数据文件in .dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVal,其功能是:如果四位 数各位上的数字均是奇数,则统计出满足此条件的个数ent并把这些四 位数按从大到小的顺序存入数组b中。最后main函数调用写函数 writeDat把结果ent以及数组b中符合条件的四位数输出到Out . dat文 件中。1234567 i891011121314 I151617181920212223242526272829303132333
4、43536373834.注意:部分源程序存在test e文件中.程序中已定义数4200, b200,已定义变量工ait请勿改动数据文件irucht中的任何数据、主曲数读函数rcadDatO和耳函数writeDat()的内容.include define MAX 200mt a (MAX), b(MAX|, ent - 0; void writeDat();void jsVal()void readDat () 从n.dat文件中it取200个凶位我存入依蜴a中 (int 1;FILE fp;fp - fopen(win.datw, ;for(i * 0; 1 ;fclos(fp);void m
5、ain() I int i;readDat():jsvl () ; /JDflfAB)”八八,实现题119求的功能prinef L满足条件的数-Rdn, ent);for(i 0; i ent; i*)prlntf(%d H. bi);printf(nH): writeDat();)void writeDat () 祀”节妨索cm以及数出b中栉合条件的四位依明到皿.而文件中 (FILE -fp;int i;fp - fopen(out.dat*t w);fprintf(fp/ent);ford - 0; i ent;fprintf(fp,b(i);fclose(fp);已知在文件in .dat
6、中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整 型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数 量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名 称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell 中。最后mainoi函数调用函数WriteDat把结果输出到文件out .dat中。 提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解 题:产品名称比较请用函数strcr
7、np进行解题。例如:selli=temp ; 注意:部分源程序存放在test . c文件中。请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。1 ! linclude 2 i include string.h3 - linclude 4 tdefine MAX 1006789101112typedef struct (char dm5; /产品代码,/char me(11 ; /,产品名好/ int dj5/价/int si;/,tt* /long je;/金0 / PRO;13 ; PRO sellMAX;1516void ReadDat。; void Write
8、Dat(); void SortDat()18192021222324252627282930313233void main()memset(sell, 0, sizeof(sell);ReadDat();SortDat 0;WriteDat();void ReadDat() FILE fp;char str(80), ch11;int 1;fp fopen*rR);for(1 0; i 100;343536fgets(str, 80, fp);meraepy(sell(i.dm, str, 4);37 ;nemcpy(sell(1).nc, str 4. 10):38 I memcpy(ch
9、 str*14,4); ch4)-0j39 BellfiJ.dj - atol(ch);40 nencpychf str*18,5); ch5-0;41 ! sell 111.si atol(ch);42 J sellli).je (long)sell(i).d sell(1).81;43 I44 ;fclO30(fp);45 ;)46 ! void WriteDat()47 j 48 FILE ,fp;49 j ine i;SO i fp - fopen(out.dat, w):51 ! ford - 0; 1 iS4 :55 fcl09cd, ab必须是偶数且能被5整除,cd必 须是奇数,
10、同时两个新数的十位数字均不为零,则将满足此条件的四位 数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的 个数cnto最后main函数调用写函数writeDat把结果ent以及数组b中 符合条件的四位数输出到Out . dat文件中。注意:部分源界序存在lestc文件中.程序中已定义数馆:a200, b200b已定义变量:ent请勿改动数据文件in.dat中的任何数据、主函数mam。、读法敷readDitO和写诿数writeDaU)的内容234567891011121314151617finclude define MAX 200int a【MAX, b(MAX, ent - 0;
11、void writeDat 0;void jsVal()void readDat () 从in.dat文件中it取200个四位数存入JMfi a中 I int ;FILE *fp; fp - fopen (Hin.datw, wr*); for(i - 0; i MAX; i+) fscanf(fpr Id, 4a(l);18void main()fclose(fp);192021222324252627 2829 3031 3233 343S 36 3738int i;readDat();jsVal () ; /用数“val案观求的功能 printfLiR足条件的数7dn, ent);for
12、(i - 0; 1 圮计K焰果cm以及效爆b中箝台条件的四位数愉出到oulW文忖中 (FILE -fp;int i;fp fopen(out.dat, w);fprintf(fp, *ldn, ent);for(1 - 0; i ent;fprlntf(fprb(i);fclose(fp);36.程序test . c的功能是:将大于整数m且紧靠m的k个素数存入数组 XX。请考生编写函数num(intm, intk, intxx)实现程序的要求,最后调 用函数readwriteDATO把结果输出到Out . dat文件中。1234567891011121314151617181920212223
13、24252627282930313233343536373839404137.例如,若输入17, 5,则应输出:19, 23, 29, 31, 370注意:源分源程序存在teste文件中.请勿改动数据文件ndal中的任何数据以及I函数main()和输出函数readwnteDAT。的内容.include /mclude语句说明各程序中色台川6.0中的标方入出泮或敏Mdio.h void readwriteDAT(); /曲敷readvnteDATO说现语句int isP(int tn) 融数spkiu suXIRg是否为如果是it数则返回1,否则返回o (int i; 定义变量3for (i *
14、 2; i m; 1) 殳 i从2依次域埔到!1 if (m % 1 * 0) return 0; 如里 m 能被人除,返回 0 return 1; /杏财返回I)void num(int m, int k, int xx()mainO (int m, n, xx|1000); 定义受盘m, xx(1000printf (XnPieiise enter two integers:*);scanf (M%dr%dHr &m, &n ); 从鱼读入冏个数M给受侵m, nnum (m, n, xx); 用嫉融nunxoitm. nt k. 01 for (m - 0; m n? m+) 殳量从。依次
15、逢熠网n-1prinef (%d *, xx(m); 出我图元It xxfoprintf Cn); 2出一个回京换行衿readwriteDAT (); 用曲数 ZtcDATO兄站果出到ut.bi文仲卜 ) void readwriteDAT() 喻数 readwrisMTC的定义诵句 int m, n. xx1000, i; 定义整 1V变 a.n, 如数组 xx1000FILE Tfr *wf; 定义文件推升受, wfrf - fopen(Min.datH, wr-; 以只读的方式的打开文件in.daj并用指向这个文件wf - f open C, out. datHz,”): 以只写的方式的
16、打开文件。ut.daj并用描向这个文件 ford - 0; i 10; 1+) 储耳5HU从。依次逢堵到9( fscanf (rf, R%d %d, &m, &n); 从文件 m.&tiJt入两个攻给 m.n num(mr n, xx) ;用嫉数ku)实现将大于。般m H窜81n的k个索数存入数Iflu for (m - 0; m n; m,+)储环盘从0依次地帚* n-1fprintf (wf, %d , xxm); 把数相元案 xx【mE入到文H out.dae 中 fprintf (wf, wnM); 牝回*犊行桥写入到文科ouc.dat中 ) fclose(rf); 关闭入文件 in.
17、dat fclose(wf); 关闭出文件 out.Ut已知在in . dat中存有若干个(个数200)1四位十进制数字组成的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。请编制函 数CalValueO,其功能要求:1 .求出该文件中共有多少个正整数totNum ;2 .求这些正整数右移1位二进制位后,产生的新数是偶数的数的个数 totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。 最后main函数调用函数WriteDat把所求的结果输出至ij out . dat文件 中。注意:部分源程序存放在test . C文件中。请勿改动数据文件in .dat中
18、的任何数据,主函数main,读函数ReadDat 和输出函数WriteDatO的内容。32 ;33 ;34 ;35 36 ;37 !38 139 ;40 !41 ;42 43 ;44 j45 i46 ;47 :48 2345678910111213141516171819202122232425262728293031Iinclude tdefine MAXNUM 200 int xx(MAXNUM;int totNum 0; /文件in.3t中共有多少个正 int totCnt - 0; 符合条竹的正整敢的个数 double totPjz 0.0; 平均值 int ReadDat(void)
19、;void WriteDat(void); void CalValue(void)void main()(int X;for(i - 0; i MAXNUM; +) xxi - 0;if(ReadDat()(printf (故据文件in.dat不能打开! 007n); return;)CalValue();prints (文件 in.dat 中共有正整数7d 个n”,totNum);printf (符合条件的正整数的个数7d个n”,totCnt);print”平均值totPjz);WriteDat();I,读取这不干个正整数并存入敏坦XX中/int ReadDat(void)FILE efp;
20、int 1-0;if (fp-fopen (in.dat, r) NULL) return 1; /toM in.dat MSR1/ while 一宣执行,KN文舛Ln.St的触达通出/ while(!feof(fp)(f scant tpt -Id,4xx(i * *J);从文件,n.ge存入 xx)中MlJfclose(fp); return 0; IE文件*n.dac若干个壬数取井正存入敷Cl u中端网0/更计算的整存入文件gt.dat中“ void WriteDat(void) (FILE -fp;fp - fopen(out.dat, w);fprintf(fp, -%dn%dn%.
21、21fnM, totNum, totCnt, totPjz); fclose(fp);38 .函数ReadDat实现从文件in . dat中读取一篇英文文章存入到字符串 数组XX中;请编制函数SortCharD,其函数的功能是:以行为单位对 字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存 入字符串数组XX中。最后main函数调用函数WriteDat把结果XX输 出到文件out . dat中。例:原文:dAe, BfC .CCbbAA结果:fedCBAbbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序存放在test . C文件
22、中。请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat 的内容。234567891011121314151617181920212223include include char xx50)(80);unsigned int maxline - 0; /文章的总行数,/ int ReadDat(void);void WriteDat(void); void SortCharD(void) void main() (if(ReadDat() (printf (数第文件in.dat不能打开! n007”); return;ISortCharDO;WriteDat(); )
23、 /从文件mdBi中读取一英文文今存入型学制中IMfl xx中/ int ReadDat(void) (FILE *fp;2425262728293031323334353637383940414243444546474849int i 0;char ep;if (fp-fopen(in.dat, r)-NULL) return 1; 如果文件in.内存为攵.1/当从文件in.dit中谴取79个字符存入x*【“没育WIm发单执行勒环像中的诵句 while(fgets(xxi/80,fp) ! NULL)P - strchr(xx(i)# Sn*); 在字衿* xx【u中介找回车换行符U一个西配
24、的位置 if (p) *p - 0; 如果p的值不为零,射元箕值设置为0 1+;行受加】)maxline - i; 把文的2行数或蛤交量 naxllne(close(fp);return 0;/!蜡果xx 出到文ouLdw中”void WriteDat(void)(FILE *fp;unsigned int 1;fp fopen(*out.datM, w); for(i 0; X maxlino; 1) (prlntf(tsXn, xxi);fprintf(fp, %sn, xxi); fclose(fp);39 .已知在文件in .dat中存有100个产品销售记录,每个产品销售记录 由产品代
25、码dm(字符型4位),产品名称me(字符型10位),单价dj(整 型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数 量。函数RcadDat读取这100个销售记录并存入结构数组sell中。请编 制函数SortDat,其功能要求:按金额从小到大进行排列,若金额相等, 则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中。 最后main函数调用函数WriteDat把结果输出到文件out . dat中。提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解题。共享内存结构共享磁盘结构无共享资源结构A.、BaC.、D.、5 .若让元素1, 2, 3依
26、次进栈,则出栈次序不可能出现哪一种情况? A.3, 2, 1 B.2, 1, 3C.3, 1, 2D.1, 3, 26 .如下所示三个关系中,关系T是由关系R和S经过哪一种操作得到 的A.S-R B.R-S C.RAS D.RUS7 .哪一个可以更好地支持企业或组织的决策分析处理的、面向主题的、 集成的、相对稳定的、体现历史变化的数据集合?A.数据库系统B.数据库管理系统C.数据仓库D.数据集成8 .有一个初始为空的栈和输入序列A, B, C, D, E, F, G,现经过如 下操作:push, push, pop, push, push, pop, push, pop, popo所有 操作结
27、束后栈中的元素列表(从底到顶)是()。A.AC B.A C.ABCE D.ABCDE9 . Oracle系统不仅具有高性能的RDBMS,而且提供全过程的应用开发 工具。如果要进行数据库建模,使用的是A.SQL*ConnectB.Oracle Designer 2000C.Oracle Developer 2000D.Oracle Financials24567891011121314151617 ie1920212223242526212829303132333435363738394041424344454647484950515253例如:selli=temp ; 注意:部分源程序存放在t
28、est . C文件中。请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。4Include includestring.h include tdefino MAX 100 typed。f struct( char dn(5); l*产8代码,/ char mc(U|) /,产丛名伯/ int dj;侪/int si;/ /long j。;/,/) PRO;PRO sell(MAX); void ReadDat(); void WriteDat(I: void SortDat Ovoid main() tnocvoot sell( 0, sLieof (soil);Re
29、adDat ();SortDat (); WriteDatO;1 void ReadDat() ( FILE tp;char stt(80), ch(ll); int 1;fp - fopenCln.dat, rw); for(i 0; 1 100: ) ( fgetslstc, 80, fp);mencpy(selll. (FILE *fp; int i; fp - fopen(out .dat*, w* ; for (1 0; 1 100; tw) (fprintf (fp, %s %4d %5d %10Ldnr sell fl .dm, selll .roc, sellUJ .dj,.3
30、1,;sellll)je);54 ;)55 ! fclose(fp);56 ; 40.已知数据文件in .dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVal,其功能是:从数组a 中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千 位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位 数的个位数字,新数的个位数字是原四位数的千位数字),以及把百位数 字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原 四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个 新组成数:一个是奇数,另一个为偶数,并且至
31、少有一个数能被17整 除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入 数组b中,并计算满足上述条件的四位数的个数ent,而后对数组b进 行降序排序。最后main函数调用写函数writeDat把结果ent以及数组b 中符合条件的四位数输出到out . dat文件中。例如:一个四位数为4512,依题意组成的第一个新数为24,第二个新 数为51,其中51能被17整除,这两个新数的十位数字不为零,则4512 这个四位数满足题意所规定条件。注意i部分源程序存在test e文件中.程序中已定义数纲:a200, b(200,已定义交量:cni请勿改动数据文件in.dat中的任何数据、主的数m
32、un()、淀函数rcadDat()和+;的数writcDat()的内容.5678910111213141516171819include fdefme MAX 200 int aMAX, b(MAX, ent - 0; void writeDat();void jsVal()void readDatO 从xn.dac文件中灌取20。个四粒攻存人数M a中 (int 1;FILE *fp;fp - fopen(in.dat, *rH);for(i - 0; i MAX;fscanf(fp, Id, &a(l);fclose(fp);)void main()2021222324252627int
33、i; readDat();JsValO; 用福lk“va】n,突班日襄求的功彼 printf (满足条件的数n*dn。ent); for(i - 0; i ent;printf(*%d , b(i);printf(-Xn); writeDat();2829void writeDat () 把计算结e以及UriHb中符合条件的四位数险出到out&t文件中303132333435363738FILE *fp; int i; fp - fopen(out.dat, w); fprintf(fp, %dn, ent); for(i 0; i 2 ; rnu3000u30002. 根结点的儿子数为2 M ; rnu3000u30003.除根结点以外的非叶子结 点的儿子数为; rnu3000u30004.每个结点存放至少M/2J (取 上整)和至多M-1个关键字;(至少2个关键字,根节点至少一个关键字 rn15 .Grant Insert On Table SC_TO STU With Grant OptionGrant Insert On Tab