二C语言等考试笔试真题及参考答案.doc

上传人:啊飒飒 文档编号:11001299 上传时间:2021-06-16 格式:DOC 页数:139 大小:3.37MB
返回 下载 相关 举报
二C语言等考试笔试真题及参考答案.doc_第1页
第1页 / 共139页
二C语言等考试笔试真题及参考答案.doc_第2页
第2页 / 共139页
二C语言等考试笔试真题及参考答案.doc_第3页
第3页 / 共139页
二C语言等考试笔试真题及参考答案.doc_第4页
第4页 / 共139页
二C语言等考试笔试真题及参考答案.doc_第5页
第5页 / 共139页
点击查看更多>>
资源描述

《二C语言等考试笔试真题及参考答案.doc》由会员分享,可在线阅读,更多相关《二C语言等考试笔试真题及参考答案.doc(139页珍藏版)》请在三一文库上搜索。

1、浙江省大学生2015年秋季二级C试卷及答案一、1、BCDC2、BABC3、DCBA4、ADDA5、ADCB6、ABCD (注:二维数组a应该定义为static a44有错误;,应该改为static a55这样不会使下标越界)二、参考答案1、2、方法2:用结构体类型执行的结果与方法1相同。2015年上半年浙江省高等学校计算机等级考试二级C程序设计试卷说明:本试卷共6页,满分100分;考试时间为90分钟;考生应将所有试题的答案填写在答卷上;程序阅读与填空全部是选择题,请在答卷上的各小题选项的对应位置上填“”;请将你的准考证号的后五位填写在答卷右下角的指定位置内。一程序阅读与填空(24小题,每小题3

2、分,共72分)1阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入2个正整数m和n(mn),输出从m到n之间所有的整数,每行输出5个数,再输出这些数的和。运行示例:Enter m and n:-3 4 -3 -2 -1 0 1 2 3 4 sum=4【程序】#include main() int i,m,n,sum; printf(Enter m and n:); scanf(%d%d,&m,&n); (1) ; for(i=m; (2) ;i+) printf(%6d,i); if( (3) ) %5 =0 ) printf(n); (4) ; prin

3、tf(nsum=%dn,sum);【供选择的答案】(1)Asum=0 Bsum=1Ci=0 Dm=0(2)Ai=nCin(3)Ai+1 BiCi-m Di-m+1(4)Asum=+i Bsum=sum+iCsum=sum+m Dsum=sum+n2阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】设已有一个10个元素的整型数组a,且按值从小到大有序。输入一个整数x,在数组中查找x,如果找到,输出相应的下标,否则,输出“Not Found”。运行示例1:Enter x:8Index is 7运行示例2:Enter x:71Not Found【程序】#includ

4、e int Bsearch(int p,int n,int x);main() int a10=1,2,3,4,5,6,7,8,9,10; int m,x; printf(Enter x:); scanf(%d,&x); (5) ; if(m=0) printf(Index is %dn,m); else printf(Not Found n,m);int Bsearch(int p,int n,int x) int high,low,mid; low=0;high=n-1; while(low=high) (6) ; if(x=pmid) break; else if(xpmid) (7)

5、; else low=mid+1; if(low=high) (8) ; else return -1;【供选择的答案】(5)ABsearch(a,10,x) Bm=Bsearch(a,10,x) Cm=Bsearch(p,n,x) DBsearch(p,n,x)(6)Amid=low/2 Bmid=high/2Cmid=(low+high)/2 Dmid=(high-low)/2(7)Amid=high-low Bhigh=mid-1Chigh=low Dlow=high(8)Areturn high Breturn lowCreturn 0 Dreturn mid3阅读下列程序说明和程序,

6、在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写字母替换,其余字符不变,输出替换后的字符串。原字母 对应字母AZBYCXDWXCYBZA运行示例:Input a string:A flag of TeamAfter replaced:Z flag of Geam【程序】#include main() int i; char ch,str80; printf(Input a string:); i=0; while( (9) ) (10) ; stri=0; for(i=0; (11) ;i+) if(

7、stri= A) stri= (12) ; printf(After replaced:); for(i=0;stri!= 0;i+) putchar(stri); putchar(n);【供选择的答案】(9) Agetchar()!=n B(ch=getchar()!=nCch!=n Dch=getchar()!=n(10)Astri=ch Bstri=getchar()Cstri+=ch Dch=stri(11)Astri!=0 Bstri=0Cstri=0 Di80(12)AA-Z-stri BA+Z-striC-A+Z-stri Dstri-A-Z4阅读下列程序并回答问题,在每小题提供

8、的若干可选答案中,挑选一个正确答案。【程序】#include int f1() return 0x0b & 3;char f2(int i) char ch= a; switch(i) case 1: case 2: case 3:ch+; return ch;int f3(int x) int s; if(x0) s=-1;else if(x=0) s=0;else s=1; return s;main() printf(%dn,EOF); printf(%xn,f1(); printf(%c %cn,f2(2),f2(5); printf(%d %d %dn,f3(-1),f3(0),f3

9、(10);【问题】(13)程序运行时,第1行输出 (13) 。A-1 BNULL CEOF D1(14)程序运行时,第2行输出 (14) 。A1 B2 C3 Db(15)程序运行时,第3行输出 (15) 。Ac a Ba a Ca c Db a(16)程序运行时,第4行输出 (16) 。A1 0 -1 B-1 -1 1 C-1 1 1 D-1 0 15阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】 程序1#include int f1(int n) static int r=0; return r+;main() int i; for(i=0;i=5;i+)

10、printf(%dn,f1(i);程序2#include int f2(int n) if(n=1)return 1; else return n+f2(n-1);main() int i; for(i=5;i0;i-) printf(%dn,f2(i);【问题】(17)程序1运行时,第2行输出 (17) 。A1 B2 C3 D0(18)程序1运行时,第5行输出 (18) 。A0 B4 C3 D2(19)程序2运行时,第1行输出 (19) 。A1 B3 C10 D15(20)程序2运行时,第4行输出 (20) 。A10 B1 C6 D36阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑

11、选一个正确答案。【程序】#include main() int i,j,n=5,a1010; for(i=0;in;i+) ai0=aii=1; for(i=0;in;i+) for(j=1;ji;j+) aij=ai-1j-1+ ai-1j; for(i=0;in;i+) for(j=0;jn-1-i;j+) printf(%4d,0); for(j=0;j=i;j+) printf(%4d, aij); printf(n); 【问题】(21)程序运行时,第2行输出 (21) 。A0 0 0 1 1 B0 0 0 0 1 C0 0 0 3 4 D0 1 1 1(22)程序运行时,第3行输出

12、(22) 。A0 0 1 2 1 B1 2 1 0 1 C1 0 2 0 0 D1 0 0 1(23)程序运行时,第4行输出 (23) 。A0 1 2 3 1 B0 0 0 0 2 C2 1 2 2 3 D0 1 3 3 1(24)程序运行时,第5行输出 (24) 。A1 3 3 1 0 B0 1 4 3 1 C1 4 6 4 1 D3 0 0 3二程序编写(每题14分,共28分)1输入10个整数,将它们存入数组a中,先查找数组a中的绝对值最大的数,再将它和第一个数交换,最后输出这10个数。2按下面要求编写程序:(1)定义函数fun(x)计算x2-6.5x+2,函数返回值类型是double。(

13、2)输出一张函数表(如下表所示),x的取值范围是-3 +3,每次增加0.5,y= x2-6.5x+2。要求调用函数fun(x)计算x2-6.5x+2,。 x y -3.00 30.50 -2.50 24.50 . 2.50 -8.003.00 -8.502015年上半年计算机等级考试参考答案(二级C)一程序阅读与填空(24小题,每小题3分,共72分) A C D B B C B D B C A B A C D C A B D D (21)A (22)A (23)D (24)C二程序编写(每小题14分,共28分)1/*输入10个整数,将它们存入数组a中,先查找数组a中的绝对值最大的数,再将它和第

14、一个数交换,最后输出这10个数*/#include #include main() int i,a10,fmax,t,k; for(i=0;i10;i+) scanf(%d,&ai); fmax=abs(a0);k=0; for(i=1;i10;i+) if(fmaxabs(ai)fmax=abs(ai);k=i; if(k!=0) t=ak;ak=a0;a0=t; for(i=0;i10;i+) printf(%d ,ai);2/*按下面要求编写程序:(1)定义函数fun(x)计算x2-6.5x+2,函数返回值类型是double。(2)输出一张函数表(如下表所示),x的取值范围是-3 +3,

15、每次增加0.5,y= x2-6.5x+2。要求调用函数fun(x)计算x2-6.5x+2,。 x y -3.00 30.50 -2.50 24.50 . 2.50 -8.003.00 -8.50*/#include double fun(double x) return x*x-6.5*x+2;main() double x,y; printf( xtt yn); for(x=-3;x=3;x=x+0.5) printf(%.2ftt%.2fn,x,fun(x);2014年下半年浙江省高等学校计算机等级考试二级C程序设计试卷说明:本试卷共6页,满分100分;考试时间为90分钟;考生应将所有试题

16、的答案填写在答卷上;程序阅读与填空全部是选择题,请在答卷上的各小题选项的对应位置上填“”;请将你的准考证号的后五位填写在答卷右下角的指定位置内。一程序阅读与填空(24小题,每小题3分,共72分)1阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入一个正整数n,输出菲波那契(Fibonacci)序列的前n项,每行输出5个数。菲波那契(Fibonacci)序列:1,1,2,3,5,8,13,.,数列的前两个数都是1,从第三个数开始,每个数是前两个数之和。运行示例:Enter n:9 1 1 2 3 5 8 13 21 34【程序】#include main()

17、 int i,n,a100; printf(Enter n:); scanf(%d,&n); (1) ; for(i=2;i0;i- Bi=2;i=0;i- Di=0;in;i+(4)Ai%5=0 B(i+1)%5=0Ci/5=0 Di=52阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入一个正整数n(1n6),根据下式生成一个n*n的方阵,将该方阵转置(行列互换)后输出。aij=i*n+j+1(0in-1,0jn-1)运行示例:Enter n:3 1 4 7 2 5 8 3 6 9【程序】#include main() int i,j,n,temp,a

18、66; printf(Enter n:); scanf(%d,&n); for(i=0;in;i+) for(j=0;jn;j+) (5) ; for(i=0;in;i+) for( (6) ) (7) for(i=0;in;i+) for(j=0;jn;j+) printf(%4d,aij); (8) ; 【供选择的答案】(5)Aaij= i*n+j+1 Baij=0 Ca=1,2,3,4,5,6,7,8,9 Dscanf(%d,& aij)(6)Aj=0;jn;j+ Bi=0;ij;i+Cj=i;jn;j+ Di=0;in;i+(7)Atemp=aij; aij=aji; aji= tem

19、p; Btemp=aij; aij=aji; aji= temp;Ctemp=aij; aji= temp; aij=aji; Dtemp=aij; aji= temp; aij=aji;(8)Aputchar( ) Bprintf(0)Cgetchar() Dprintf(n)3阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入1个字符ch和1个正整数n(n80),输出由n个ch字符组成的字符串。要求定义和调用函数newstr(str,ch,n),该函数返回字符串str的基地址,str中有n个ch字符。运行示例:Enter ch:sEnter n:5st

20、ring:sssss【程序】#include char *newstr(char *str,char ch,int n) int i; for(i=0;in;i+) (9) ; (10) ; return str;main() char ch,s80; int n; printf(Enter ch:); scanf( (11) ,&ch); printf(Enter n:); scanf(%d,&n); printf(string:); puts( (12) );【供选择的答案】(9) Astri=n B(*str)+Cstri=ch D*str=+ch(10)A*str=0 Bstr=0Cs

21、tri=ch Dstri= 0(11)A%f B%cC%e D%s(12)Anewstr(str,ch,n) BstrCnewstr(s,ch,n) D04阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】#include int f1() return 0xf0 | 2;int f2(char c) int k=0; switch(c) case a:k=k+1;break; case b:k=k+2; case c:k=k+3; return k;int f3(int a,int b,int c) if(ab) if(b0)c=0; else c+; retu

22、rn c;main() printf(%dn,NULL); printf(%xn,f1(); printf(%d %dn,f2(b),f2(c); printf(%dn,f3(2,-1,2);【问题】(13)程序运行时,第1行输出 (13) 。A0 BNULL C-1 D1(14)程序运行时,第2行输出 (14) 。Af1 Bf2 Cf0 D2(15)程序运行时,第3行输出 (15) 。A1 3 B1 2 C2 3 D5 3(16)程序运行时,第4行输出 (16) 。A1 B0 C3 D25阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】 程序1#include

23、 int f1(int n) static int r=1; return r=r*n;main() int i; for(i=1;i=6;i+) printf(%dn,f1(i);程序2#include int f2(int n) if(n=1)return 1; else return n*f2(n-1);main() int i; for(i=1;i=6;i+) printf(%dn,f2(i);【问题】(17)程序1运行时,第2行输出 (17) 。A2 B1 C4 D6(18)程序1运行时,第4行输出 (18) 。A4 B24 C6 D120(19)程序2运行时,第3行输出 (19)

24、。A6 B2 C24 D1(20)程序2运行时,第5行输出 (20) 。A24 B720 C6 D1206阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】#include main() int i,j; static a44; for(i=0;i4;i+) for(j=0;j4;j+) if(j=0|j=3)aij=i; if(j=i) aij=i; if(j+i=3) aij=j; if(i=0|i=3)aij=j; printf(%d ,aij); printf(n); 【问题】(21)程序运行时,第1行输出 (21) 。A0 1 2 3 B0 0 0 0

25、C0 0 0 3 D0 0 1 1(22)程序运行时,第2行输出 (22) 。A1 1 2 1 B1 1 0 1 C0 0 0 0 D1 0 0 1(23)程序运行时,第3行输出 (23) 。A2 0 0 2 B0 0 0 0 C2 1 2 2 D2 0 2 2(24)程序运行时,第4行输出 (24) 。A0 0 0 3 B0 0 0 0 C0 1 2 3 D3 0 0 3二程序编写(每题14分,共28分)1输入100个整数,将它们存入数组a中,先查找数组a中的最大值max,再统计数组a中与max值相同的元素的个数,最后输出最大值及个数。2按下面要求编写程序:(1)定义函数fun(x)计算x3

26、+2.0x2-3.9x+8,函数返回值类型是double。(2)输出一张函数表(如下表所示),x的取值范围是-2 +2,每次增加0.5,y= x3+2.0x2-3.9x+8。要求调用函数fun(x)计算x3+2.0x2-3.9x+8。 x y -2 15.8 -1.5 14.97 . 1.5 10.03 2 16.202014年下半年计算机等级考试参考答案(二级C)一程序阅读与填空(24小题,每小题3分,共72分) B C D B A C B D C D B C A B D D A B A D (21)A (22)A (23)C (24)C二程序编写(每小题14分,共28分)1输入100个整数

27、,将它们存入数组a中,先查找数组a中的最大值max,再统计数组a中与max值相同的元素的个数,最后输出最大值及个数。2按下面要求编写程序: (1)定义函数fun(x)计算x*x*x+2.0*x*x-3.9*x+8,函数返回值类型是double。(2)输出一张函数表(如下表所示),x的取值范围是-2 +2,每次增加0.5,y=x*x*x+2.0*x*x-3.9*x+8。要求调用函数fun(x)计算x*x*x+2.0*x*x-3.9*x+8。 x y -2 15.8 -1.5 14.97 . 1.5 10.032 16.202014年上半年浙江省高等学校计算机等级考试二级C程序设计试卷说明:本试卷

28、共6页,满分100分;考试时间为90分钟;考生应将所有试题的答案填写在答卷上;程序阅读与填空全部是选择题,请在答卷上的各小题选项的对应位置上填“”;请将你的准考证号的后五位填写在答卷右下角的指定位置内。一程序阅读与填空(24小题,每小题3分,共72分)1阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入一批整数(以零或负数为结束标志),求最大值。运行示例:Enter integers:9 33 69 10 31 -1max=69【程序】#include main() int x,max; printf(Enter integers:); scanf(%d,

29、&x); (1) ; while( (2) ) if(max=0 Bx0Cx!=0 Dx0|x=0(3)Ascanf(%d,x) Bscanf(%d,&x)Cx=max Dmax=x(4)Amax B%.0fC%d D%x2阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入x,求下列算式的值,要求精确到最后一项的绝对值小于10-4。要求定义和调用函数fun(x,e)计算下列算式的值,e为精度。运行示例:Enter :1.57S=0.00【程序】#include #include main() double s,x; double fun(double x,double e); pr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1