2022年辽宁省沈阳市全国计算机等级考试数据库技术预测试题(含答案).docx
《2022年辽宁省沈阳市全国计算机等级考试数据库技术预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2022年辽宁省沈阳市全国计算机等级考试数据库技术预测试题(含答案).docx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年辽宁省沈阳市全国计算机等级考试数据库技术预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)i.关系数据库中,下列说法不正确的是A.每一个关系模型中,属性的个数是固定的B.在关系中元组的顺序(行的顺序)是无关紧要的C在关系中属性的顺序(歹J的顺序)是无关紧要的D.关系中可以有重复的元组2.下列叙述正确的是A.同一关系内部属性之间不能存在引用关系B.外码一定要与相应的主码同名C.同一个关系中不允许出现完全相同的元组D.同一个关系中主码的值可以相同3.设有指针p指向带表头结点的单链表,现将指针P指向节点的后继节点删除(不考虑节点值及空间回收),其操作是o其中pA.next表
2、示P所指节点的链域,q是一个临时指针变量,初始值为null。A.p : =pA.nextB.q :=pnext ;pA.next : =qA.next33 .已知在文件in .dat中存有100个产品销售记录,每个产品销售记录 由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整 型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数 量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编 制函数SortDat,其功能要求:按金额从大到小进行排列,若金额相等, 则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中。 最后
3、main函数调用函数WriteDat把结果输出到文件out . dat中。提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解 题。例如:selli=temp ;注意:部分源程序存放在test . c文件中。请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。flnclude 2345 6791011121314151617Iinclude 4include (define MAX 100 typedef struct Ichar dm(5; 产晶代码/ char me (11 ; /产品名称/ int dj;/单价/int si;/ ft* /lon
4、g je; irM / PRO;PRO sell(MAXJ; void ReadDat(); void WriteDat(); void SortDat()181920212223242S26272829303132333435363738394041424344454647484950515253void mainOmcnssot (sellt 0, aizcof (sell);ReadDat();Sort Dat ();WritoDat();void ReadDat OFILE *fp;char str(80)9 ch11;int i;fp fopen(in.datf *r for(1 0
5、; 1 100; )fgeta(str, 80. fp);memepy (sell 1 9dan, str. 4);motncpy(selli) .vc9 str * 4r 10);memepy (ch4); ch40;sell(1).dj - atol(cb);metnepy (chstr*lSf 5); ch (S| -0;sell(1.31 atoi(ch);sell flje (long)aelli)dj selli.si;fclose(fp);) void WritoDat()FILE efp;int 1;tp fopen(out dat*t x) for(1 0; 1 )fprln
6、tf (fp, %b Is Md Sd 1101dn*r.me, sellJU .dj, selld) .si,sell(1).je);545556fdO5C (fp); )34 .已知在文件in .dat中存有100个产品销售记录,每个产品销售记录 由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整 型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数 量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编 制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名 称相同,则按金额从大到小进行排列,最终排列结果仍存
7、入结构数组sell中。最后mainoi函数调用函数WriteDat把结果输出到文件out .dat中。 提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解 题:产品名称比较请用函数strcrnp进行解题。例如:selli=temp ; 注意:部分源程序存放在test . c文件中。请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。2345678913tinclude * include *include define MAX 100 typedef struct (char dta(5; /产林代码/ char me(11 ; /产品名林/ int
8、/单价/int si;/B*/long je;/金9/ PRO;PRO sell(MAX);1415161718192021222324252627282930313233343536void ReadDat O;void WriteDat(); void SortDat()void main。/ memset(sell, 0, sizeof(sell);ReadDat();SortDat();WriteDat(); void ReadDat() FILE *fp;char str80r ch11;int i;fp fopenCln.dat*/ for(1 0; i 100;I fgets(s
9、tr# 80. fp); memepy(selli.dm, strr 4);373839404142434445nemcpy(sell(1)str 4. 10);memcpy(cht strL4r 4); ch40;sellfiJ.dj dtoi(ch);cnemcpy(ch str*18. 5); ch50;sell|1sl , atol(ch);sellllje (long)sell(X).d sell(1)sl;I - r . .fclose(fp);4647484950515253void WriteDatOFILE *fp; int i; fp fopen(Hout.dat, r f
10、or(i - 0; i 100;tprintf (fp ” Md h5d QlOldn”. 5ell(i| .dm* sell(1 mcr sell(i| .dj, aellli) sellfi).je);S45556fclO9(fp);35 .函数ReadDat实现从文件in .dat中读取一篇英文文章,存入到无符 号字符串数组XX中,请编制函数encryptChar,按给定的替代关系对数 组)XX中的所有字符进行替代,其替代值仍存入数组XX的对应的位置 上,最后调用函数writeDat把结果xx输出到文件out . dat中。替代关系:)=p*17mod256, mod为取余运算,p是数组
11、)xx中某一个字 符的ASCII值,f(p)是计算后的无符号整型值C主意:中间变量定义成整 型变量),如果计算后f(p)值小于等于32或f(p)是奇数时,则该字符不 变,否则用f(p)替代所对应的字符。注意,部分源程序存放在teste文件中收的数据支科存放的格式般,每行的速度均小于80个字符,含标点符号和? 格.井也按此裳代关系进行处理.:请勿改动主函畋mainO、读函数RcMDat。和出话散WmeDmO的内容I includeinclude atrin9 tInclude unsigned char xx5080;int maxline , 0; /文章的总行 1ft / int ReadD
12、at(void);void WritoDat(void); void encryptChar() :浜_-二Vf2345678910unsigned Int val;11 ;12 !13 ;14 !15 ;16 17 :18 J019 ;20 j21 ; 22 i23 24 !25 ;26 !27 ;28 ;29 :30 ; 31 ;32 :33 ;34 !35 36 ;37 38 ;39 J40 ;41 ;42 ;43 ;44 ;45 ;46 :47 ; .48 ;49 :50 i51 !void mam() ( if(ReadDat 0) . . ., . printfL数据文件in.da
13、t不能打开! n007w); return;encryptChar();WriteDat 0; ) /从文件IfLdBt中谓取一 H英文文章.存入到无符号?料申数tfl 中/ int ReadDat(void) (FILE fp; int i 0 0; unsigned char *p; if (fp-fopen Gn.dat-L) -NULL) return 1;while(fgets(xxir 80 fp) !- NULL) ( p strchr(xxi, *n*);if(p) #p 0; 工+;I maxline - 1; fclose(fp); return 0;/把站果xx 出到文件
14、outdat中/ void WriteDat(void) (FILE 育fp; int 1; fp fopen(out.datw,;for(1 - 0; i maxline; ;:; printf(w%snR/ xx(i); fprintf(fp#M%snR/ xx(i);J fclose(fp);36.程序test.c的功能是:选出1000至5 000范围内(包括1000、5 000)符合下面条件的四位自然数。条件是:千位数字与百位数字之和等于d 位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的整10倍。计算并输出这些四位自然数的个数ent以及这些数的和sumo请编
15、写函数countValue实现程序的要求。最后main函数调用函数writeDAT把结果crlt和sum输出到out . dat文件中。注意,部分源程序存放在teste文件中.请勿改动主函数main。和输出数禺函数wrheDAT。的内容.1234finclude int cntr sum; 定义整型全局受 ent和 void writeDAT();void countvalue()Bum678910111213141516171819202122void main()ent - sum = 0; 蛤全M变量cnu. ”内状加像为Q countvalue O ; 调用南敬countValue )
16、.煲现题目要求的功能 printf卜满足条件的自然数的个数二%dnr ent); printf 满足条件的自然数值的和二 %dnMr sum); writeDAT();void writeDAT()FILE wfp;fp fopen (out.daL. w); fprintf(fprn%dn%dnH, ent, sum); fclose(fp);37.已知数据文件in .dat中存有200个四位数,并已调用读函数readDat 把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把个位数 字和千位数字重新组成一个新的含有两位数字的数(新数的十位数字是 原四位数的个位数字,新数的个位数字
17、是原四位数的千位数字),以及把 百位数字和十位数字组成另个新的含有两位数字的数(新数的十位数 字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如 果两个新组成的数均是偶数并且至少有一个数能被9整除,同时两个新 数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnto最后main函 数调用写函数writeDat把结果ent以及数组b中符合条件的四位数输出到Out.dat文件中。注意,就分源程序存在1r.e文件中程序中已定义数组,a(200.耳200卜巳定义变量:cm请勿改动数据文件m.dat中的任何数据,主函数mainO、
18、读的数rcadDatO和写函数writcDaiO的内容I _include define MAX 200int alMAXh bMAXr ent。0; void jsVal()78910 1112131415161718void readDat () 从人n.dat文件中*取200个四位数存入故则a,中 ( int i;、FILE efp;.fp - fopen(wln.dat,tr *r);for(i 0; i MAX;fscanf(fp# *%dRr 6a(1); fclose(fp);writeDat () 纪计W妙果cat以及室处b中符合条件的冈付数出到outdu文件中19 ! FIL
19、E afp;2021222324252627int i;fp fopen (out .daf/ wwH);fprintf (fp, 7dn, ent);for(i - 0; i ent;fprintf(fp.b(1);fclose(fp);void main O28 129303132 !33 i34 :35 I36 37 1int 1;readDat ();jsVal (); 调用油股仆实现HJ要奴的功能 piincf(满足条件的数*dn”,znt);for(1 0; i 876594321注意:部分源程序存在teste文件中.请勿改动数据文件in.dat中的任何敷据.主函数main()读函
20、数readDtO和写函数wnieDaU)的内容.1 ! 4include I2 finclude 3 | char xx(2080;1013141516voidvoidvoidreadDat(); writeDat();jsSort ()void main()(readDat();jsSort);writeDat();/从文件mxtei中试取20打象第存放到字符事故配xx中/ void readDat()17 !(18 FILE *in;19 ; int i 0;2021222324252627282930332333435363738394041char *p;in = fopen(Min.
21、datwrnrw);while(i 20 “ fgets(xx(119 80, in) (p - strchr(xx J iJ *n1);if(p) *p 0;)fclose(in);I/纪纳XX辘出到文件outcbt中/void writeDat()FILE eout;int 1;out fopen(woutadatw#HwM);for(i 0 0; i 20;(print f Cn, xx i);fprintf(outrwisnR xxri);fclose(out);NULL)39.函数ReadDat实现从文件in .dat中读取一篇英文文章,存入到字符 串数组XX中;请编制函数enery
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 辽宁省 沈阳市 全国 计算机等级考试 数据库技术 预测 试题 答案
限制150内