2021年内蒙古自治区通辽市全国计算机等级考试C语言程序设计测试卷(含答案).docx
《2021年内蒙古自治区通辽市全国计算机等级考试C语言程序设计测试卷(含答案).docx》由会员分享,可在线阅读,更多相关《2021年内蒙古自治区通辽市全国计算机等级考试C语言程序设计测试卷(含答案).docx(43页珍藏版)》请在课桌文档上搜索。
1、2021年内蒙古自治区通辽市全国计算机等级考试C语言程序设计测试卷(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .下列程序的运行结果是O#includelongfunc(intx)longp;if(x=0Ilx=1)return(l);p=x*func(x-l);return(p);)main()printf(%dn,func(4);2 .以下程序的输出结果是【#includevoidswap(int*a,int*b)int*t;t=a;a=b;b=t;)main()inti=3,j=5,*p=&i,*q=&j;swap(p,q);printf(%d%dN,*p,*q)3 .有
2、以下程序intf(intn)if(n=l)return1;elsereturnf(n-l)+l;main()inti,j=0;for(i=l;i3;i+)j+=f(i);printf(,%dn,j);)程序运行后的输出结果是O4 .有以下程序,其功能是:以二进制“写”方式打开文件dl.dat,写入1100这100个整数后关闭文件。再以二进制“读”方式打开文件dl.dat,将这100个整数读入到另一个数组b中,并打印输出。请填空。#includemain()FILE*fp;inti,a100,b100;fp=fopen(dl.dat,nwb);for(i=0;i100;i+)ai=i+l;fwr
3、ite(a,sizeof(int),1OO,fp);fclose(fp);fp=fopen(dl.dat,);fread(b,sizeof(int),100,fp);fclose(fp);for(i=0;ic,a+cb,b+ca。请填空。main()floata,b,c;scanf(%f%f%,&a,&b,&C);if()printf(lYESn,);*axb、C能构成三角形*/elseprintf(NOn,)*axb、C不能构成三角形*/)6 .函数fun的功能是计算xnodoublefun(doublex,intn)inti;doubley=l;fbr(i=l;i=n;i+)y=y*x;r
4、eturny;)主函数中已正确定义m、a、b变量并赋值,并调用fun函数计算m=a4+b4-(ab)3o实现这一计算的函数调用语句为【】。7 .以下程序的功能是计算:s=l+12+123+1234+123450请填空。#includemain()intt=O.s=0,i:fbr(i=l;ib)t=a;b=t;)printf(,%5.2f,%5.2n,a,b);)9 .函数Pi的功能是根据以下公式近似求得的:pi*pi6=l+l(2*2)+l(3*3)+.+l(n*n)请在下面的函数中填空,完成求Pi的功能。#includedoublepi(longn)doubles=0.0,longi;for
5、(i=l;i=n;i+)s=s+oretum(sqrt(6*s);)10.mystrlen函数的功能是计算Str所指字符串的长度,并作为函数值返回。请填空。intmystden(char*str)i11ti;fo,(i=0;!=,0,;i+);return(i);二、单选题(10题)11 .需求分析的主要任务是()。A.确定软件系统的功能B.确定软件开发方法C.确定软件开发工具D.确定软件开发入员12 .以下关于C语言的叙述中正确的是()。A.C语言中的注释不可以夹在变量名或关键字的中间B.C语言中的变量可以在使用之前的任何位置进行定义C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须
6、一致D.C语言的数值常量中夹带空格不影响常量值的正确表示13 .以下叙述中正确的是()。A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构C.循环队列中的队尾指针一定大于队头指针D.循环队列中的队尾指针一定小于队头指针14.在n个结点的顺序表中,算法的时间复杂度是O(I)的操作是()。A.访问第i个结点(l=i=n)和求第i个结点的直接前驱(2=i=n)B.在第i个结点之后插入一个新结点(l=iv=n)C.删除第i个结点(l=i=n)D.将n个结点从小到大排序15 .关于排序算法的以下说法,错误的是()A.归并排序的平均时间复杂度O(Mogn),最坏时间复杂度O(M2)B
7、.堆排序平均时间复杂度O(Mogn),最坏时间复杂度O(nlogn)C.冒泡排序平均时间复杂度0(22),最坏时间复杂度0(n2)D.快速排序的平均时间复杂度O(Mogn),最坏时间复杂度0(n2)16 .(34)已知Chal*s,下面正确的语句是(A)S=oABCDEFm;B)*s=ABCDEFm;C)*s=ABCDEF;D)s=,A,;17 .对序线性表23,29,34,55,60,70,78用二分法查找值为60的元素时,需要比较次数为()A.lB.2C.3D.418 .有以下程序:#includetypedefstructintnum;charname10;intscore;PER;vo
8、idfun(PERx)i11tt;if(xO.scorex1.score)t=xO.score;x0.score=xl.score;xl.score=t;)main()PERs2=1001,zhang,621,1002,“Wang”,585;inti;fun(s);for(i=0;i2;i+)printf(t%d,%s,%d,si.num,si.name,si.score);程序的运行结果是OOA. 1001,zhang,585,1002,wang,621,B. 1001,zhang,621,1002,wang,585,C.l002,wang,585,1001,zhang,621,D.l002
9、,wang,621,1001,zhang,585,19.某二叉树结点的中序序列为A、B、C、D、E、FsGj后序序列为B、D、C、A、F、G、E,该二叉树对应的层次遍历序列为()A.E、G、FsA、CsD、BB.E、A、CsB、DxGsFC.ExA、G、C、FsB、DD.EsG、A、C、D、F、B20 .二维数组A的元素都是6个字符组成的串,行下标i的范围从0到8,列下标j的范圈从1到10,则存放A至少需要()个字节。A.90B.180C.240D.270三、程序设计题(10题)21 .请编写函数Pn)C(),其功能是:将Str所指字符串中除了下标为奇数、同时ASCn值为偶数的字符外,其余的全
10、部删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若StI所指字符串中的内容为edB2A4Dsdg,其中字符A的ASCH码值为奇数,因此应当删除;其中字符B的ASCn码值为偶数,但在数组中的下标为偶数,因此也应当删除;而字符2的ASCn码值为偶数,所在数组中的下标为奇数,因此不应当删除。依此类推,最后t所指的数组中的内容应是d24。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数ProC()的花括号中填入所编写的若干语句。试题程序:tncldc*mcldr9includemcludevoidprocipnnt(aproc(r.hrt(EUhHt22
11、 .编写函数proc,它的功能是:计算和输出下列级数的和。S=I/(12)+1/(23)+.+1/(n(n+l)例如,当n=20时,函数值为0.952381。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:sndudt*ttfIndUdeSndudNd)LhCkMIblprodinfn)vodmatn()QViUreiLCLS*)1PrmMLn*proc(0)彳23 .编写函数fun()1其功能是:求出11000中能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些
12、数的个数。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。试题程序:Sinclude,mcludcidfuninamtwoidmain()tntal00.ky*tcm(unfor(*Ok(kDMIO-0)(pntf(*H”*卜Ipff(f个flleUeprwM(aSSdaCk)pnntf24 .使用vc+2010打开文件夹下PrOgl中的解决方案。此解决方案的项目中包含一个源程序文件PrOgI.c在此程序中,请编写函数fm(),其功能是在一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回该值。函数形参
13、a指向存放得分的数组,形参n中存放得分个数(n2)例如,若输入9.98.57.68.59.39.58.97.88.68.4共10个得分,则输出结果为8.687500。注意:部分源程序存放在文件prog1.c,请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。试题程序:1 1include2 voidNONOO;3 doublefun(doublea,intn)IBI56 7 mainO8 doubleblrr;inti;9 Printf(输入10个分数放入b数组中:10 for(i三0;i10;i+)Ilscanf(n%lf,bi);Bprin
14、tf(”榆入的10个分数是:;13 for(i三0;i10;i+)14 printf(m%4.Ilf,rbi);15 printf(nn);16 r三fun(br10);17 Printf(去掉最高分和最低分后的平均分:%fn,rr);18 NONO();202223242526272829303132333435voidNONO()(/本函效用于打开文件、输入数据、调用的数、输出数据及关闭文件/FILE*fpzwf;intifj;doubleb(10rr;fp三foen(Min.dat,rwrn);wf=fopen(wout.dat,nwM);for(i三0;i10;i+)for(j-0;j
15、10;j+)fscanf(fpr*,%lfn,&bj);r=fun(b,10);frintf(wfr%fn”,r);)fclose(fp);fclose(wf);)25.下列程序定义了MXM的二维数组,并在主函数中赋值。请编写函数PrOC0,函数的功能是求出数组周边元素的平方和并作为函数值返回给主函数中的s。例如,若a数组中的值为127g1672093s25IB34199a72S4I41则返回主程序后S的值应为310o注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数ProC()的花括号中填入所编写的若干语句。试题程序:SndwieVaffMlUdrVemio.
16、h3includeVwtdhbih丹(U4m*MS*tpror(ntwfMvoidfMia(tntMjM-IOI.2.7.9J.672025231B.W98t7254l.4.”iiaijtint*um)r*tctncpf*Th(r(i三0IorjO.yMj+)prmdpnntf(nprocirr)prat(i26.请编一个函数voidproc(intttEMN,intppN),tt指向一个M行N列的二维数组,求出二维数组每行中最大元素,并依次放入PP所指的一维数组中。二维数组中的数己在主函数中给出。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中
17、填入所编写的若干语句。试题程序:#include#include#include#defineM3#defineN4voidproc(intttrM3rNointppN)()voidmain(intstrMN=34,56,84,78,23,84,93,12),28,38,39,93;intpN,i,j,k;System(nCLSn);printf(Theriginaldatais:n);for(i=0;iM;i+)(for(j=0;jN;j+)printf(%6d,strij);printfCn);)proc(str,p);printf(nTheresultis:n);for(k=0:kM;k
18、+)printf(,%4d,pk);printf(un);27.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数,其功能是:求出该学生的平均分,并放入记录的ave成员中。例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78875o注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。试题程序:#include<stdio.h>#defineN8typedefstruct(charnum10;doublesN;doubleave;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2021 年内 蒙古 自治区 通辽市 全国 计算机等级考试 语言程序设计 测试 答案

链接地址:https://www.desk33.com/p-964860.html