2021年辽宁省丹东市全国计算机等级考试C语言程序设计测试卷(含答案).docx
2021年辽宁省丹东市全国计算机等级考试C语言程序设计测试卷(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .下面程序main()intij,m,n;i=5;j=o;m=+i;n=j+;printfC,%d,%d,%d,%d,i,j,m,n);)运行后,i,j,m,n的值分别是02 .函数delete(s,i,n)的作用是从字符串s中删除从第i个字符开始的n个字符,请填空。voiddelete(chars,inti,intn)intj,k,Iegth=O;while(slength);-i;户;if(1)k=i+n;if(i+n<length)while(k<length)sj+=sk÷+;sU=,O,)3 .为了列出当前盘当前目录中所有第三个字符为C的文件名的有关信息,应该使用命令【】。4 .有以下程序:#include<stdio.h>#include<string.h>main()chara=,a,b',c,d,e,f,h',';inti,j;i=sizeof(八)J=Strlen(八);printf(u%d.%d,ji,j);)程序运行后的输出结果是()。5 .数据结构分为逻辑结构和存储结构,循环队列属于结构。6 .若从键盘输入58,则以下程序的输出结果是【main()inta;SCanfr%d”,&A);if(a>50)primf%d”,A);if(a>40)printf(u%d,jA);if(a>30)printf(4%d,jA);7 .有以下程序:#include<stdio.h>intsub(intn)retum(n10+n%10);main()intx,y;seanf("%d",&x);y=sub(sub(sub(x);printf("%dn",y);)若运行时输入:1234<回车>,程序的输出结果是【】。8 .在关系模型中,把数据看成是二维表,每一个二维表称为一个【9 .函数VoidfUn(float*sn,intn)的功能是:根据以下公式计算s,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于Oo请填空。s三÷Xl2Xi+1voidfun(float*sn,intn)floats=0.0,w,f=-1.0;inti=0;for(i=0;i<=n;i+)f=】*f;w=f7(2*i+l);s+=w;【】=s;10 .诊断和改正程序中错误的工作通常称为【】。二、单选题(10题)11 .(15)以下不合法的用户标识符是()oA)r3j3B)ElseC)6aD)_612 .软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指()A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程:20)有下列程序,其中u表示按无符号整数输出。main()unsignedintX=OXFFFF;/*x的初值为十六进制数/Primfr%un",x);)程序运行后的输出结果是().A)-1B)6553513 .C)32767D)OxFFFF14 .定义int*swap()指的是oA.一个返回整型值的函数swap()B.一个返回指向整型值指针的函swap()C.一个指向函数swap。的指针,函数返回一个整型值D.以上说法均错15 .下列运算符中,运算对象必须是整型的是0。A./B.%=C=D.&16 .以下程序的输出结果是()。unionmyunstructintx,y,z;)u;intk:a;maina.u.x=4;a.u.y=5;a.u.z=6;k=0;printf(%dn,a.u.x);)A.4B.5C.6D.017 .有以下程序:#include<stdio.h>main()(charch=uvwxyz,*pc;pc=ch;Printf(“cn”,*(pc+5);)程序的运行结果是OA.zB.OC.元素ch5的地址D.字符y的地址18 .在面向对象方法中,不属于“对象”基本特点的是A.一致性B.分类性C.多态性D.标识唯一性19 .一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程()。A.较快B.较慢C.相同D.无法确定20 .有以下函数:intfun(char*x,char*y)intn=0;while(*x=*y)&&*x!=0,)Ix+;y+;n+;returnn;函数的功能是()。A.将y所指字符串赋给x所指存储空间B.查找和y所指字符串中是否有,0'C.统计X和y所指字符串中最前面连续相同的字符个数D.统计X和y所指字符串中相同的字符个数三、程序设计题(1。题)21.请编写一个函数Proc,它的功能是:求出lm(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传给m的值为70,则程序输出:7111421222833354244495556636670注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所编写的若干语句。试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#defineN100voidproc(intm,int*a,int*n)()voidmain(intarrN,n,k;system("CLS);proc(70,arr,&n);for(k=0;k<n;k+)if(k+l)%20=0)/每行输出20个数printf(',%4d",arrk);printf(nn");elseprintf("%4d",arrk):printf(,'n");22.使用VC+2010打开考生文件夹下PrOgl中的解决方案。此解决方案的项目中包含一个源程序文件ProgLc。在此程序中,请编写函数fun(),其功能是将形参s所指字符串放入形参a所指的字符数组中,使a中存放同样的字符串。说明:不得使用系统提供的字符串函数。注意:部分源程序存放在文件prog1.c中,请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()指定的部位填入所编写的若干语句。试题程序:>i!include<stdio.h>2 1defineN203 voidNONO();4 voidfun(char*a,chars)5 67 )8 main()9 charslNr*s2=nabcdefghijkw;10 fun(si,s2);11 printf(w%snnzsi);12 printf(,s11,s2);13 NONO();1516242526272829voidNONO()*本函数用于打开文件、榆入数据、调用函数、输出数据及关闭文件*/FILE*fp,wf;inti;charsl256rs225;fp=fopen(,in.datwrMrH);wf三fopen(nout.datmwh);for(i=0;i<10;i+)fgets(s2,255,fp);fun(si,s2);fprintf(wf/n%sn,si);fclose(fp);fclose(wf);23. 请编写函数fun(),其功能是计算并输出下列多项式的值:F=l+11!+1/21+1/31+1/41+.+lm!例如,若主函数从键盘给m输入5,则输出为F=2.716667o注意:m的值要求大于1但不大于100o部分源程序给出如下。请勿改动main()函数与其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。试题程序:flmcludeVMdio.h>doublefua(mim)voidimi()Imtm4ojbl*ftFILEoutrn(lutm*)canf(H4aSm)(三fn(M)n!Hf("FH(n*f>out*fopa<oclile.dat".*w")for<tn-10n<10m-÷)(pnntf(<Mt*¼(nafwn<>>fcoe(<Mrt)I24.假定输入的字符串只包含字母和“#”号,请编写函数fun(),它的功能是:删除字符串中所有的号。在编写函数时,不得使用C语言提供的字符串函数。例如,若字符串中的内容为“#w#el#COme#",删除后,字符串中的内容则应当是“welcome”。请勿改动main()函数与其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。试题程序:Sincludestdio.h>#include<conio.h>"definestrcpyvoidfun(chars)voidmain()<charstrf81JtEILEoutprintf("Enterastringna)get5(5tr)fun(s<r)Iprintf("Thestringafterddctedn"Hpus<tr>Iout(openCouifilc.dat"."w")tstrcpy(str."UsST三ES*T#力(un<5r)Ifprnt(<out."%5".Mr)closc<out>25.M名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的带头结点。请编写函数proc(),它的功能是:找出学生的最高分,由函数值返回。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数ProC()的花括号中填入所编写的若干语句。试题程序:v3eVMdio.h>ttIndMdeVUdUhh>9defineM8IltrUCtnb«tIdoubleMrwiltnrhpc<MNnaellimSTRR,doublepm<STRElah)STRECCEI(4oubk)(STREChpqIMi",0h=p*(STREC)aUoc(M«of(STREo)Iwkk(i<M)产生8个1RjSI.修分存人女中I三<STREC)omUoc<Mno(STREX?)p->-<i÷÷»p->nen-q»p*q<p>>ne三NUIreturnhi/He*RAMIM>Pdoutht<STREl*h>(STRECp.>三*hprmf<*hed,a>do!pnff(*->%2.0<".p->>p三p->fewiI出各分教wle<P->nexi!-NULL)Irintf(nn)void11Mta<)(doubletuMl*(5.B9.7S.95,91.M.75,85)maw«STR