2023年广东省阳江市全国计算机等级考试数据库技术预测试题(含答案).docx
《2023年广东省阳江市全国计算机等级考试数据库技术预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2023年广东省阳江市全国计算机等级考试数据库技术预测试题(含答案).docx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年广东省阳江市全国计算机等级考试数据库技术预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .对线性表,在下列哪种情况下应当采用链表表示A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.经常 需要占据一片连续的存储空间D.表中元素的个数不变2 .一般从哪两方面对数据库物理设计进行评价?A.可靠性和一致性B.一致性和完整性C.时间和空间D.安全性和完整 性3 .数据库维护阶段的故障维护工作是指A.排除设备故障B.恢复遭到破坏的数据库C修改不适当的库结构D. 修改应用程序4 .面向对象数据模型中对象可以定义为对一组信息及操作的描述,对象 之间的接口是()。A.
2、类B.消息C.实体D.变量5 .数据组织方法中的层次方法是基于哪种结构的数据操作集合、完整性 规则集合?A.二维表B.链路结构C.图结构D.树结构程序中已定义敏州3 a(200J. b(200),已定义变量,cm请勿动敷罪文件in.dat中的任何畋据、主函数main()、懊函数edDatO和写法数writcDai。的内容1 ! (Include otdio.h2 ;fdefine MAX 2003 ; int aiMAX, b(MAX)f ent - 0;A ! void writeDat();5 ; void jsVal()6 j -7 i8 j I9 ! void readDat()10
3、j 111 ; int i;12)FILE*fp:;13 ; fp - fopen(Rin.datnf rn);14 ! for (i - 0; i MAX;)*115 1 fscanf (p/&ai);26 ; fclose(fp);17 5 J I18 j void main()19;扣20 ! int i;21 ; readDat();22 1 jsVaK);23 1 prlntf (满足条件的数cnt);24 ; for(1 0; 1 ent; ii)25 J printf (tId26 printf;27 ; writeDat();28 ! 129 2 void wrlteDat()
4、30 j 31 FILE *fp;32 | int 1;33 ! fp - fopen(*out.datH, *ww);34 fprlntf(fpr %dnR, ent);35 ; for(i - 0; i ent; ii)36 ! fprintf(fprb(l)i37 fclose(fp);38 1 I34.函数ReadDat实现从文件in .dat中读取一篇英文文章,存入到字符 串数组XX中;请编制函数encryptChar,按给定的替代关系对数组XX 中的所有字符进行替代,仍存入数组xx对应的位置上,最后调用函数 WriteDat把结果XX输出到文件out . dat中。替代关系:f(p
5、)=p*l l mod 256, mod为取余运算,P是数组XX中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义 成整型变量),如果原字符的ASCII值是偶数或计算后f(p)值小于等于 32,则该字符不变,否则用f(p)替代所对应的字符。注意:部分源程序存放在test .c文件中,原始数据文件存放的格式是: 每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系 进行处理。请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。 tinclude 345678910void encrypthar()include unsigned c
6、har xx(SO)(BO); int maxline . 0; 卜 文荣的总行数/ ! int ReadDat(void);i void WriteDat(void);34567891011121314151617181920212223242526272829303132333435363738394041424344454647484950请勿改动主的敷读函数RcadDat()和,出的数WriteDatO的内格includelincludetinclude unsigned char xx(50(80);int maxline - 0;卜文章的总行数7 int ReadDat(void)
7、;void WriteDat(void);void encryptChar();void mainO 1 1;if(ReadDat()I (;printf (“数据文件 in.dat 不能打开! n007”); return;encryptChar();! WriteDat(); ;/从文件中it取一/英文文章.存入到字符吊故Mu中/ ! int ReadDat(void):I;FILE efp; int i 0; unsigned char wp;j if (fp-foperK-in.datr-r*)-NULL) return 1;while(fgets(xxlj,80f fp) !, NU
8、LL) (P - strchr(xxih fn#); if(p)p - 0;I maxline i; fclose(fp); return 0;I) ;七姑累人出国文件xaai中- void WrileDat(void) JFILE ,fp; mt 1; fp fopn (out.dat。wwH); for(i * 0; i maxline; ii)printf (Fsn. xx(i); fprintf (fp# 7- xx(i);) fclose(fp);121314151617181920212223242526272829303132333435363738394041424344454
9、647484950void main()( if(ReadDat()(管、一printf (数据文件 in.dat 不能打开! n007*1);return;encryptChar();WriteDat();)/从文件mdat中读取一ar英文文审,“入?抑市敷用H中/ int ReadDat(void)FILS wp;int i * 0;unsigned char *p;if (fp-fopcn(win.datrMrw) -NULL)return 1;while(fgets(xxil/ 80,fp) ! NULL)(p - strchr(xx(i)f#n);if(p) *p 0;:4maxli
10、ne , 1;fclose (fp);return 0;I八把站果XX 出总文件皿M中void WriteDat(void)( .:FILE efp;:- -int i;fp 口 fopen (wout .dat* Rw,r);for (i 0; i maxline;(printf(0%snwf xxi);fprintf(fpfwisnMr xx1);Jfclose(fp);35.已知数据文件in .dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVal,其功能是:从数组a 中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千 位数
11、字重新组成一个新的含有两位数字的数(新数的十位数字是原四位 数的个位数字,新数的个位数字是原四位数的千位数字),以及把百位数 字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原 四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个 新组成数:一个是奇数,另一个为偶数,并且至少有一个数能被17整 除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入 数组b中,并计算满足上述条件的四位数的个数ent,而后对数组b进 行降序排序。最后main函数调用写函数writeDat把结果ent以及数组b 中符合条件的四位数输出到out . dat文件中。例如:一个四位数为45
12、12,依题意组成的第一个新数为24,第二个新 数为51,其中51能被17整除,这两个新数的十位数字不为零,则4512 这个四位数满足题意所规定条件。注;部分源程序存在teste文件中程序中已定义敷组:a200 b200.已定义变lb ent请勿改动数据文件中的任何数据.主函数 mm()、读函数rcadIXi()和写函数writeDatO的内容.1 ! linclude 2 j * de fine MAX 2003 ; int a(MAX), bMAX, ent - 0;4 ! void writeDat();5 t void jsVal()K 6 i (7 i i 8 1 19 ! void
13、readDAt () 从in.dat文件中请取200个四位收存入数M a中 , 10 5(11 ;int i;.12: FILE.13 i fp fopen(Rin.datw, wrM);:14 ; for(i - 0; i J MAX;)| Escanf(fp,I16 j fclose(fp);如也二18 i void main ()20 ;21 !22 ;23 j24 25 26 :27 ;28 :Xnt i;readDat();jsVal (); 用效jsVal) .*理目要求的功施 printf (涓i足条件的数nqdn”. ent);for(i - 0; i ent;printf(w
14、%d *, b(i);printf(Vn*);29 !30 ;void writeDat()把计算结果cm UAttffl b中料合条件的四位数也出现outxhi文件中writeDat();31 ;32 !33 ;34 ;35 ;36 37 !38 3FILE fp;int i;fp fopen(wout.datRrwww); fprintf(fpFRidnH, ent); for(i 0; i ent; +)fprintf(pr -%dnHrfclose(fp);36.程序test . C的功能是把s字符串中的所有字符左移一个位置,串 中的弟字符移到最后。请考生编写函数chg(char*s)
15、实现程序要求, 最后调用函数readwriteDAT把结果输出到Out . dat文件中。侪如,字符串中原有内容Xh Mn.l23xyZ,则厘用该曲数后,结果为i nJ23xyZM. 注意r部分源程序存在teste文件中请勿改动数据文竹m.&i中的任何敢据.主话数tnitno和程出#数readwntcDATO的内容.finclude Include hfdefine N 81 定义史史n. XftWf 81 void readwriteDAT();void chq(char es)14161716main ()(char a f N ;prlntf (*Enter a string:*);(a
16、);printt(The original string is :puts(a);chg (a);prlntf (Ilie string after tnodified:R;puts (a);readwriteDAT();)/Utn in.dit中&入字符率*脩字符布/用/*chg(9对字符串检IK口的要求比行姓龙, out.dat 中/杵工依理姑Un入匆文件void readwriteDAT()2021222324252621Int x;char aN;FILE rf, *wf;rf fopen(ln.datHr MrH);wf fopen(Rout.daRw); tor(1 0; 1 10
17、;282930313233fscanf (rf,Hts-ra); 从文fl m.eUt 中MUK f字将中WUft/朴事. chg(d) i 同用故chg la)时字符电 UtfrttflFfprintf (wf ,a); 尼处再姑It写入列out.d匕文件中. ;I .fcloae(rf);fcloue(wf);37.已知数据文件in .dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数isVal,其功能是:把千位数 字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字 是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及
18、 把个位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十 位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数字),如果新组成的两个位数abcd, ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位 数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnto最后main函数调用写函数writeDat把结果ent以及数组b中符合条件的四位数输出到Out . dat文件中。注意:部分源程序存在teste文件中.程序中己定义数组:4200). b200b已定义变量,cm请勿改动数据文件in.dat中的任何数据、主承数ma
19、m。、读南数readDatO和写诿数writeDaU)的内容1 i finclude I2 I define MAX 2003 int a【MAX】, bMAX, ent 0;4 ! void writeDat();5 ; void jaVal()7 j8 ; )9 ! void readDat () 从in.dat文件中澹取200个四位数存入敷殂a中10 | (11 ;int i;12 j FILE fp;13 ; fp - fopen(Min.datwr14 ; for(i 0; i MAX;15 ! fscanf (fprAa(1);16 ; fclose(fp);17 ; J18 vo
20、id main()19 ; (,20 ! int i;21 i readDat();22 - jsValO; 用南数”V3C宏观目要求的功能23 ! printfL涓足条件的数,%dn* ent);24 for (i 0; i 把计算结果cm以及b中的合条件的四位数出到ouidm文件可FILE fp;int i;fp fopen(Rout.dat*,fprintf(fprR%dnR, ent);for(i - 0; i ent;fprintf (fpr Fdn”. bl); fclose(fp);38.已知在文件in .dat中存有100个产品销售记录,每个产品销售记录 由产品代码dm(字符型
21、4位),产品名称me(字符型10位),单价dj(整 型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数 量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编 制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名 称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell 中。最后mainoi函数调用函数WriteDat把结果输出到文件out .dat中。 提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解 题:产品名称比较请用函数strcmp进行解题。例如:selli=temp ; 注意:部分源程序存放
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 广东省 阳江市 全国 计算机等级考试 数据库技术 预测 试题 答案
限制150内