计算机二级C真题附答案后面.docx
《计算机二级C真题附答案后面.docx》由会员分享,可在线阅读,更多相关《计算机二级C真题附答案后面.docx(173页珍藏版)》请在冰豆网上搜索。
计算机二级C真题附答案后面
二级C语言上机考试复习资料
(共60套题目)
第1套
1、程序填空题
#include
voidfun(char*s,int*t)
{inti,n;
n=0;
/**********found**********/
for(i=0;___1___!
=0;i++)
/**********found**********/
if(s[i]>='0'&&s[i]<=___2___)n++;
/**********found**********/
___3___;
}
main()
{chars[80]="abcdef35adgh3kjsdf7";
intt;
printf("\nTheoriginalstringis:
%s\n",s);
fun(s,&t);
printf("\nTheresultis:
%d\n",t);
}
2、程序修改题
#include
intfun(int*x,inty)
{
intt;
/**************found**************/
t=x;x=y;
/**************found**************/
return(y);
}
main()
{
inta=3,b=8;
printf("%d%d\n",a,b);
b=fun(&a,b);
printf("%d%d\n",a,b);
}
3、程序设计题
#include
voidfun(int*a,int*n)
{
}
main()
{intaa[1000],n,k;
fun(aa,&n);
for(k=0;kif((k+1)%10==0)printf("\n");
elseprintf("%5d",aa[k]);
}
第2套
1、程序填空题
#include
voidfun(char*s,char*p)
{inti,j,n,x,t;
n=0;
for(i=0;s[i]!
='\0';i++)n++;
for(i=1;i/**********found**********/
___1___;
/**********found**********/
for(j=___2___+2;jif(s[t]>s[j])t=j;
if(t!
=i)
{x=s[i];s[i]=s[t];s[t]=x;}
}
for(i=1,j=0;i/**********found**********/
p[j]=___3___;
}
main()
{chars[80]="baawrskjghzlicda",p[50];
printf("\nTheoriginalstringis:
%s\n",s);
fun(s,p);
printf("\nTheresultis:
%s\n",p);
}
2、程序修改题
#include
#include
floatfun(floatnum)
{ints;
floatn,t,pi;
t=1;pi=0;n=1;s=1;
/**************found**************/
while(t>=num)
{
pi=pi+t;
n=n+2;
s=-s;
/**************found**************/
t=s%n;
}
pi=pi*4;
returnpi;
}
main()
{floatn1,n2;
printf("Enterafloatnumber:
");
scanf("%f",&n1);
n2=fun(n1);
printf("%6.4f\n",n2);
}
3、程序设计题
#include
#include
#defineLEN20
voidfun(chara[],charb[],intn)
{
}
main()
{charstr1[LEN],str2[LEN];
intn;
printf("Enterthestring:
\n");
gets(str1);
printf("Entertheindexofthechardeleted:
");
scanf("%d",&n);
fun(str1,str2,n);
printf("Thenewstringis:
%s\n",str2);
}
第3套
1、程序填空题
#include
#include
#defineN5
typedefstructnode{
intdata;
structnode*next;
}NODE;
voidfun(NODE*h)
{NODE*p,*q,*r;
/**********found**********/
p=h->__1__;
/**********found**********/
if(p==__2__)return;
q=p->next;
p->next=NULL;
while(q)
{r=q->next;q->next=p;
/**********found**********/
p=q;q=__3__;
}
h->next=p;
}
NODE*creatlist(inta[])
{NODE*h,*p,*q;inti;
h=(NODE*)malloc(sizeof(NODE));
h->next=NULL;
for(i=0;i{q=(NODE*)malloc(sizeof(NODE));
q->data=a[i];
q->next=NULL;
if(h->next==NULL)h->next=p=q;
else{p->next=q;p=q;}
}
returnh;
}
voidoutlist(NODE*h)
{NODE*p;
p=h->next;
if(p==NULL)printf("ThelistisNULL!
\n");
else
{printf("\nHead");
do
{printf("->%d",p->data);p=p->next;}
while(p!
=NULL);
printf("->End\n");
}
}
main()
{NODE*head;
inta[N]={2,4,6,8,10};
head=creatlist(a);
printf("\nTheoriginallist:
\n");
outlist(head);
fun(head);
printf("\nThelistafterinverting:
\n");
outlist(head);
}
2、程序修改题
#include
#include
#defineN80
intfun(char*s,char*t)
{intn;
char*p,*r;
n=0;
while(*s)
{p=s;
/*********found**********/
r=p;
while(*r)
if(*r==*p){r++;p++;}
elsebreak;
/*********found**********/
if(*r=0)
n++;
s++;
}
returnn;
}
main()
{chara[N],b[N];intm;
printf("\nPleaseenterstringa:
");gets(a);
printf("\nPleaseentersubstringb:
");gets(b);
m=fun(a,b);
printf("\nTheresultis:
m=%d\n",m);
}
3、程序设计题
#include
#include
#defineM3
#defineN20
voidfun(chara[M][N],char*b)
{
/*以下代码仅供参考*/
inti;*b=0;
}
main()
{charw[M][N]={"AAAA","BBBBBBB","CC"},a[100];
printf("Thestring:
\n");
for(i=0;iprintf("\n");
fun(w,a);
printf("TheAstring:
\n");
printf("%s",a);printf("\n\n");
}
第4套
1、程序填空题
#include
#defineN4
voidfun(int(*t)[N])
{inti,j,x;
/**********found**********/
for(i=0;i<___1___;i++)
{
/**********found**********/
x=t[i][___2___];
for(j=N-1;j>=1;j--)
t[i][j]=t[i][j-1];
/**********found**********/
t[i][___3___]=x;
}
}
main()
{intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;
printf("Theoriginalarray:
\n");
for(i=0;i{for(j=0;jprintf("\n");
}
fun(t);
printf("\nTheresultis:
\n");
for(i=0;i{for(j=0;jprintf("\n");
}
}
2、程序修改题
#include
doublefun(doubleq)
{intn;doubles,t;
n=2;
s=2.0;
while(s<=q)
{
t=s;
/************found************/
s=s+(n+1)/n;
n++;
}
printf("n=%d\n",n);
/************found************/
returns;
}
main()
{
printf("%f\n",fun(50));
}
3、程序设计题
#include
#include
intfun(intt)
{
}
main()/*主函数*/
{intn;
n=1000;
printf("n=%d,f=%d\n",n,fun(n));
}
第5套
1、程序填空题
#include
#include
#include
intfun(char*s)
{char*lp,*rp;
/**********found**********/
lp=__1__;
rp=s+strlen(s)-1;
while((toupper(*lp)==toupper(*rp))&&(lp