2021年内蒙古自治区乌兰察布市全国计算机等级考试C语言程序设计模拟考试(含答案).docx
2021年内蒙古自治区乌兰察布市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .设有以下定义struetssintinfo;struetss*link;x,y,z;且已建立如下图所示链表结构:请写出删除结点y的赋值语句【】。2 .一般来说,算法可以用顺序、选择和三种基本控制结构组合而成。3 .设有下列程序:#include<stdio.h>#include<string.h>main()i11ti;charsIOJ1t10;gets(t);for(i=0;i<2;i+)gets(s);if(strcmp(t,s)<O)strcpy(t,s);)printf(,'%snn,t);)程序运行后,从键盘上输入(<CR>代表回车符):DEF<CR>BADEF<CR>QTHRG<CR>,则程序的输出结果是O4 .下列函数从字符数组s中删除和C一样的字符,请在下面横线处填空。voiddelete(s,C)charsjc;inti,j;for(i=j=0;();i+)if(si!-c!)sU+=si;sU=0't;)5 .下面程序的输出结果是【structaaintx,*y;j*p;inta8=10,20,30,40,50,60,70,80);structaab4=100,&al,200,&a3,10,&a5,20,&a7;main()P=b;printf(%d,*+p->y);printf(,%dn,+(p->x);6 .数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和【】两个含义。7 .面向对象的模型中,最基本的概念是对象和8 .以下程序的输出结果是【】。#include<stdio.h>#defineMAX(x,y)(x)>(y)?(x):(y)main()inta=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf("%dn',l);9 .数据库存管理系统常见的灵敏据模型有层次、网状和【】三种。10 .下面程序执行后输出的结果是【】。intm=13;intfun(intx,inty)intm+3;return(x*y-m);)main()inta=7,b,5;pmtf(',%dn,fun(a,B)m);二、单选题(10题)11 .作为信息处理热点技术之一的“多媒体技术”中的媒体,强调的是()oA.存储媒体B.表现媒体C.传输媒体D.感觉媒体12 .软件需求规格说明书的作用不包括()。A.软件设计的依据B.软件可行性研究的依据C.软件验收的依据D.用户与开发人员对软件要做什么的共同理解13 .同一个关系模型的任意两个元组值()。A.可以全相同B.不能全相同C.必须全相同D.以上都不对14 .有以下程序:mainchara-a',b;printf("%c,",+a);printf("%cn",b=a+):)程序运行后的输出结果是()。A.A.b,bB.bjcC.a,bD.ajC15 .设二叉树的中序序列为BCDA,前序序列为ABCD1则后序序列为OoA.CBDAB.DCBAC.BCDAD.ACDB16 .以下定义语句中正确的是A.inta=b=0;B.charA=65+l1b=,b,;C.noata=l,*b=&a,*c=&b;D.doublea=0.0;b=l.l;17 .下列有关数据库的描述,正确的是0A.数据库是一个DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件18 .有下列程序:#include<stdk>.h>main()Iinta123456,b;while(a)Ib=a%10;a/=10;switch(b)Idefault:Printf("%d*tb÷÷);case1:break;cae2:printf("%d,'b->÷);breakicase3:printf("%dw,b÷÷);case4:Print£("%d,.b÷÷)cas»e5:Prirltf(*%d*,b÷÷);程序执行后的输出结果是0。A.654321B.65432C.65453452D.65453452119 .有以下程序:#include<stdio.h>voidexch(inttJ)tO=ts;main()intx10=l,2,3,4,5,6,7,8,9,10,i=0;while(i<=4)exch(<fexi);i+;for(i=0;i<5;i+)printf(',%d'xi);printf(n");)程序运行后输出的结果是()oA.246810B.13579C.12345D.67891020 .设有定义“inta=l,b=2,c=3;",以下语句中执行效果与其他3个不同的是()。A.if(a>b)c=a,a=b,b=c;B.if(a>b)c=a,a=b,b=c;C.if(a>b)c=a;a=b;b=c;D.if(a>b)c=a;a=b;;b=c;三、程序设计题(10题)21.请编写一个函数introc(int*s,intt,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。例如,输入如下整数:876675896101999401980431451777则输出结果为4,999o注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数ProC()的花括号中填入所编写的若干语句。试题程序:&indud<*tdlUhdindudeVC(MMah>includeVQoK>intproe<M*tnttMIt)voadnuun4>mirr0-a7S.57S.8M.1Ol.m.4OI.MO.UI.4Sl711Lky*m<CIJJe)p>c(*rr10&khPErtKdHdnh.B11iL)l22.函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,S所指串中剩余的字符形成的新串放在t所指的数组中。例如,若S所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCn码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCn码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是“BDF12345”。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio-h>#include<string.h>voidfun(char*s,chartD(main().charslOOtt100;Printf(nPleaseenterstringS:");af("%s's);fu11(s.t);PKntf("nl¾eresultis:%sntl,t);23.请编写一个函数VoidPrOC(intm,intk,intxxE3),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。例如,若输入206,则应输出232931374143。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数ProC()的花括号中填入所编写的若干语句。试题程序:$xnciu3e<*tdbKh>9include<<wwo,h>3InClUdeVNdah>Votdroc<nm*mik.miM>vodmam()mitn.n4ff(1000ay*en<*CLS)prmd(nPI<s<ECTtwotateg*ri)ttei*nft"½ti¼d4.&m.&.n)tproc<mnrr)Cor(tna0m<nm>÷)>rtatf(*Xd.a(m)rmd(n*)24.使用VC+2010打开考生文件夹析下progl中的解决方案。此解决方案的项目中包含一个源程序文件ProgLc。在此程序中,编写程序,实现矩阵(3行、3歹U)的转置(即行列互换)。例如,若输入下面的矩阵:100200300400500600700800900则程序输出:100400700200500800300600900注意:部分源程序在文件ProgLC中。请勿改动主函数main。和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:11 #include<stdio.h>2 #include<conio.h>3 #include<stdlib.h>4 voidfun(intarray33)5(67 )8 voidmain()910FILE*wf;11 inti,j;12 intarray33=100,200,300),400,500,600,700,800,900);13system(',CLS");14for(i=0;i<3;i+)15forO=0;j<3;j+)16printf(',%7d,',arrayij);17printf(',n);18 )19 fun(array);20 printf("Convertedarray:n',);21 for(i=0;i<3;i+)22forG=0;j<3;j+)23printf(',%7dn,arrayij);24 printf("n");25 )26 /*found*/27wf=fopen("out.datn,"w);28for(i=0;i<3;i+)29for(j=0;j<3;j+)30fprintf(wf,',%7dn,arrayij);31fprintf(wf,n);32 )33 fclose(wf);34 /*QUnd*/35 )25 .请编写函数ProC(),该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N).按顺序合并组成一个新的字符串。例如,若字符串数组中的M个字符串为:ABCDBCDEFGCDEFGHI则合并后的字符串内容应该是:Abcdbcdefgcdefghi0注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数ProC()的花括号中填入所编写的若干语句。试题程序:Ki>lu<kVlUdiCUb>ISHIClude<coftto.h>WdefineM3&finrN20midproc<cararrMjN.cKarb>voidtnaift<)IcUrMrMJLN-(wABC"D'.wBlDEFG,."CDEFGHr).lcharrr(l*<#9StfflffStfSSSll