1、二级 C语言笔试-60 及答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.以下程序的输出结果是_。main()char a=“programming“,b=“language“;char *p1,*p2;int i;p1=a;p2=b;for(i=0;i7;i+)if(*(p1+i)=*(p2+i)printf(“%c“,*(p1+i);(分数:2.00)A.gmB.rgC.orD.ga2.下列程序的输出结果是_。main()int a33=1,2,3,4,5,6,i,j,s=0;for(i=1;i3;i+)for(j=0;i=i;j+)s+
2、=aij;printf(“%d/n“,s);(分数:2.00)A.18B.19C.20D.213.以下程序的输出结果是_。long fun(int n)long s;if(n=1|n=2) s=2;else s=n-fun(n-1);return s;main()printf(“%ld/n“,fun(3); (分数:2.00)A.1B.2C.3D.44.设有如下定义:int x=1,y=-1;则下列语句的输出结果是_。printf(“%d/n“,(x-D.int n=5;int ann+2;12.程序运行结果为_。#define R 3.0#define PI 3.1415926#define
3、 L 2*PI*R#define S PI*R*Rmain()printf(“L=%f S=%f/n“,L,S);(分数:2.00)A.L=18.849556 S=28.274333B.18.849556=18.849556 28.274333=28.274333C.L=18.849556 28.274333=28.274333D.18.849556=18.849556 S=28.27433313.以下 C程序的运行结果为_。main()int i=1,sum=0;loop:if(i=10)sum+=i;i+;goto loop;printf(“sum=%d/n“,sum);(分数:2.00)
4、A.sum=10B.sum=55C.sum=100D.sum=8814.能正确表示逻辑关系“a10 或 a0”的 C语言表达式是_。(分数:2.00)A.a=10 or a=0B.a=0|a=10C.a=10int(*p)();int c;p=max;B.执行下列语句后,则*p 的值为 1int a=1,*p;*p=return(p-s);main()printf(“%d/n“,f(“ABCDEF“);(分数:2.00)A.3B.6C.8D.022.以下程序的运行结果为_。main()int i,f1,f2;f1=f2=1; for(i=0;i4;i+)printf(“%d %d“,f1,f2
5、);f1+=f2;f2+=f1;(分数:2.00)A.1 1 2 3 5 8 13 21B.1 1 2 2 5 5 10 10C.1 2 5 8 9 8 13 21D.0 1 1 2 4 5 15 2123.下列选项中,合法的 C语言关键字是_。(分数:2.00)A.VARB.cherC.integerD.default24.下列程序运行后,输出结果是_。func (int a,int b)static int m=0,i=2;i+=m+1;m=i+a+b;return(m);main()int k=4,m=1,p;p=func(k,m);printf(“%d,“,p);p=func(k,m)
6、;printf(“%d/n“,p);(分数:2.00)A.8,15B.8,16C.8,17D.8,825.若输入 1.5、2.5,则以下程序的运行结果为_。main()float a,b;int c;scanf(“%f,%f,“,int i,j;i=0;for (j=0;j3;j+)printf(“b%d%d=%d “,i,j,*(pbi+j);printf(“/n“);(分数:4.00)填空项 1:_38.若输入 5、9,以下程序的运行结果为 【10】 。main()int a,b,*pt1,*pt2;printf(“input a,b:“);scanf(“%d%d“,D.int n=5;i
7、nt ann+2;解析:12.程序运行结果为_。#define R 3.0#define PI 3.1415926#define L 2*PI*R#define S PI*R*Rmain()printf(“L=%f S=%f/n“,L,S);(分数:2.00)A.L=18.849556 S=28.274333 B.18.849556=18.849556 28.274333=28.274333C.L=18.849556 28.274333=28.274333D.18.849556=18.849556 S=28.274333解析:13.以下 C程序的运行结果为_。main()int i=1,sum
8、=0;loop:if(i=10)sum+=i;i+;goto loop;printf(“sum=%d/n“,sum);(分数:2.00)A.sum=10B.sum=55 C.sum=100D.sum=88解析:14.能正确表示逻辑关系“a10 或 a0”的 C语言表达式是_。(分数:2.00)A.a=10 or a=0B.a=0|a=10C.a=10int(*p)();int c;p=max;B.执行下列语句后,则*p 的值为 1int a=1,*p;*p=return(p-s);main()printf(“%d/n“,f(“ABCDEF“);(分数:2.00)A.3B.6 C.8D.0解析:
9、22.以下程序的运行结果为_。main()int i,f1,f2;f1=f2=1; for(i=0;i4;i+)printf(“%d %d“,f1,f2);f1+=f2;f2+=f1;(分数:2.00)A.1 1 2 3 5 8 13 21 B.1 1 2 2 5 5 10 10C.1 2 5 8 9 8 13 21D.0 1 1 2 4 5 15 21解析:23.下列选项中,合法的 C语言关键字是_。(分数:2.00)A.VARB.cherC.integerD.default 解析:24.下列程序运行后,输出结果是_。func (int a,int b)static int m=0,i=2;
10、i+=m+1;m=i+a+b;return(m);main()int k=4,m=1,p;p=func(k,m);printf(“%d,“,p);p=func(k,m);printf(“%d/n“,p);(分数:2.00)A.8,15B.8,16C.8,17 D.8,8解析:25.若输入 1.5、2.5,则以下程序的运行结果为_。main()float a,b;int c;scanf(“%f,%f,“,int i,j;i=0;for (j=0;j3;j+)printf(“b%d%d=%d “,i,j,*(pbi+j);printf(“/n“);(分数:4.00)填空项 1:_ (正确答案:b0
11、0=1 b01=2 b02=3)解析:38.若输入 5、9,以下程序的运行结果为 【10】 。main()int a,b,*pt1,*pt2;printf(“input a,b:“);scanf(“%d%d“,&a,&b);pt1=&a;pt2=&b;if(ab) swap(pt1,pt2);printf(“/n%d,%d/n“,*pt1,*pt2);swap(p1,p2)int *p1,*p2;int *p;p=p1;p1=p2;p2=p;(分数:4.00)填空项 1:_ (正确答案:5,9)解析:39.以下程序的运行结果为 【11】 。main()static int number6=1,
12、2,3,4,5,6;int m=4,j;move(number,6,m);for (j=0;i5;j+)printf(“%d,“,numberj);printf(“%d“,number5);move(array,n,m)int n,m,array6;int *p,array_end;array_end=*(array+n-1);for(p=array+n-1;parray;p-)*p=*(p-1);*array=array_end;m-;if(m0)move(array,n,m);(分数:4.00)填空项 1:_ (正确答案:3,4,5,6,1,2)解析:40.该程序运行的结果是 【12】 。
13、#include stdio.hmain()union EXANPLEstructint x;int y;in;int a;int b;e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf(“/n%d,%d“,e.in.x,e.in.y);printf(“%d,%d/n“,e.a,e.b);(分数:4.00)填空项 1:_ (正确答案:4,8 4,4)解析:41.计算圆的周长、面积和球体积。#define PI 3.1415926#define 【13】 L=2*PI*R; 【14】 ;V=4.0/3.0*PI*R*R*Rmain()float r,l,s,v;printf(“input a radus:“);scanf(“%f“,&r);CIRCLE(r,l,s,v);printf(“r=%2f/nl=%2f/ns=%2f/nv=%2f/n“, 【15】 );(分数:4.00)填空项 1:_ (正确答案:13CIRCLE(R,L,S,V) 14S=PI*R*R 15r,1,s,v)解析: