2011年9月全国计算机二级C机试真题题库及答案精简版
去年的 亲试可用
1、int fun(___1___ *std) 填空:(1)STYPE (2)FILE (3)fp
改错: (1) for(i=0;i<=sl;i++) (2) t[2*sl]='\0'或t[sl+sl]='\0' 编程:
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); 2、void WriteText(FILE ___1___) 填空:(1) *fw (2) str (3) str
改错:(1) void fun(long s,long *t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i<N;i++) {
if(a[i].s<min) {
j=0;b[j++]=a[i];min=a[i].s; }
else if(min==a[i].s) b[j++]=a[i]; }
return j;
3、fprintf(___1___,"%d %f\n",i,sqrt((double)i)); (1)fp(2)fclose(fp)(3)myfile3.txt 改错:(1)for(i=j+1;i<n;i++) (2)p=i;
编:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10; 4、 if((fs=fopen(source, ___1___))==NULL) 填空:(1) "r" (2 )fs (3)ft 改错:(1) if (d%2==0) (2 ) s/=10; 编程:int i = 0, j = 0; while(s[i]) { if(i % 2 == 0 && s[i] % 2 == 0) t[j++] = s[i]; i++; } t[j] = 0;
5、s->data=___1___; 填空:(1)x (2)p (3)s
改错:(1)long k=1; (2)num/=10; 编程:int i; float aver=0.0;
for(i=0;i<n;i++)aver+=a[i]; aver=aver/n; return aver;
6、t=t->___1___;
填空:(1) next (2) t->data (3) t
改错:(1) void fun(char *a) (2) print("%c",*a); 编程:int i; char *p=s,*q=t; int n=0,m=0;
while(*p){n++;p++;} while(*q) {m++;q++;} if(n>=m) p=s; else
p=t;return p;
7、free(___1___);
填空:(1) q (2) next (3) next 改错:(1) 缺分号 (2) p = i; 编程:*n=0; int i; for(i=1;i<=m;i++) if(i%7==0||i%11==0) a[*n++]=i;
8、while(p!=___1___) 填空:(1)0或NULL (2)n (3)head,ch 改错: (1) for(i=0,t=0;p[i];i++) (2) c[t]='\0'; 编程:int i;
for(i=1;i<strlen(ss);i+=2) {
If( (ss[i]>='a'&&ss[i]<='z') ss[i]-=32; 9、/**********found**********/ ___1___=0;
填空:(1) *n (2) next (3) head 改错:(1) a=NULL; (2) if(*r==*p) 编程:int i,j=0;
for(i=0;i<strlen(s);i+=2) if(s[i]%2==0) t[j++]=s[i]; t[j]='\0';
10、s+= p->___1___;
填空:(1) data (2) next (3) head 改错:(1) while(*r) (2) *a=*r;a++;r++; 编程:int i,j=0;
for((i=0;i<strlen(s);i+=2) t[j++]=s[i]; t[j]='\0';
11、 for(i=0; i<___1___; i++) { len=strlen(ss[i]); 填空:(1)M (2)< (3)k
改错:(1)if(('a'<=tt[i])&&(tt[i]<='z')) (2)tt[i]-=32; 编程:int i,j; int t=0;
for(i=2;i<m;i++) {j=2; while(j<i) {if(i%j==0) {xx[t]=i; t++; break; } j++; } *k=t;
12、t2[j]=s[i]; ___1___;
填空:(1) j++ (2) s[i]=t1[i] (3) j 改错:(1) for(j = i + 1; j < 6; j++) (2) *(pstr + i) =*( pstr + j); 编程:int cnt=0; char *p=ss; while(*p) {if(*p==c) cnt++; p++;} return cnt;
13、if(s[i]>='0' ___1___ s[i]<='9') 填空:(1)&& (2)0 (3)s[j] 改错(1)for(i=2;i<=m;i++) (2)y+=1.0/(i*i); 编程题:int c[3][3]; for(i=0,i<3;i++) for(j=0;j<3;j++) {c[i][j]=a[j][i];
b[i][j]=a[i][j]+c[i][j];}
14、for(i=0; ___1___ !=0; i++) 填空:(1)s[i] (2)'9' (3) *t=n; 改错: (1) t=*x;*x=y; (2) return (t); 编程:int i; *n=0;
for(i=7;i<1000;i++)
if (((i%7)==0)||((i%11)==0)&&((i%77)!=0) a[(*n)++]=i; 15、 if(n%2==0) k=n-___1___ ; 填空:(1) 1 (2) s[k] (3) c
改错:(1) long s = 0,t = 0; (2) t = t / 10; 编程:char *p=tt; int i;
for(i=0;i<26;i++) pp[i]=0; while(*p)
{if(*p>='a' &&p<='z') pp[*p-'a']+=1; p++; }
16、/**********found**********/ ___1___;
填空:(1) t=i (2) i (3) 0
改错:(1) while(fabs(t)>=num) (2) t=s/n; 编程: int p,m=0; for(p=0;p<LEN;p++) if(p!=n)
{b[m]=a[p];m++;} b[m]='\0';
17、for(i=0; s[i]!=___1___ ; i++) 填空:(1) 0或'\0' (2) 0 (3) c
改错:(1) double sum=0.0; (2) sum/=c; 编程:int k;
float str=1.0,sum=1.0; for(k=2;k<=n;k++) {
sum=sum+k; str=str+1/sum; }
return str;
18、 for(i=0; i<N; ___1___ )
填空:(1) i++ (2) m (3) m 改错:(1) while((high>=2)&&(n<10)) (2) 缺分号 编程: float x1=0.0,x0; do {
x0=x1;
x1=cos(x0);
}while(fabs(x0-x1)>0.000001); return x1;
19、for(i=0; i<___1___; i++) 填空:(1)N (2)N-1 (3)0
改错:(1)s=s+(n+1.0)/n; (2)return t; 编程:int f0=0,f1=1,f; do
{f=f0+f1; f0=f1; f1=f;
}while(f<t); return f;
20、t[0][N-j-1]=t[j][___1___ ]; 填空:(1)0 (2)j-- (3)j 改错: (1)double f(double x) (2)缺分号 编程: double s=0.0; int i;
for(i=1;i<=m;i++) s=s+log(1.0*i); s=sqrt(s); return s;
21、n=__1__; t=100;
填空:(1) 0 (2) x (3) t++ 改错:(1) int i,s1; (2) t[i]=s[s1-1-i];
编:*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10; 22、while(t<=__1__){ 填空:(1)999 (2)t/10 (3)x
改错:(1) void fun(long s,long *t) (2)while(s>0) 编程:STREC tmp; int i,j;
for (i=0;i<N;i++) for (j=i+1;j<N;j++) if(a[i],s<a[j],s) {tmp=a[i]; a[i]=a[j]; a[j]=tmp;
23、/**********found**********/ i=__1__;
填空:(1)1 (2)s (3)i*10
改错:(1)int fun(int n,int xx[][M]) (2)printf("%d",xx[i][j]); 编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10); 24、if(t%2==__1__)
填空: (1) 0 (2) 10*x (3) n/10 改错: (1) *t=0; (2) if (d%2!=0) 编程: char *p=p1; while (*p) p++;
while(*p2) {*p++=*p2++; *p=0; }
25、{ t=*n % __1__;
填空(1) 10 (2) 0 (3) x 改错(1) if (n = = 0)(2)缺分号 编程: long s=0, t; int i=0,j,n=strlen(p),k,s1; if (p[0]==' -') i++;
for (j=i;j<=n-1;j++) {t=p[j]-'0'; s1=10;
for (k=j;k<n-1;k++) t*=s1; s+=t;}
if (p[0]=='-') return –s; else return s;
26、/**********found**********/ s=__1__; 填空:(1)0 (2)n (3) (t*t) 改错:(1)for(i=0;str[i];i++) (2) for(i=0; str[i];i++) 编程:double s; float n,t,pi;
t=1;pi=0;n=1.0;s=1.0; while((fabs(s))>=eps) {pi+=s;
t=n/(2*n+1); s*=t; n++;} pi=pi*2; return pi; 27、k=__1__;
for(i=1; i<=n; i++) { 填空:(1)1 (2) 2*i (3) (-1) 改错:(1) 缺分号 (2) if (m= =k) 编程:int i; *max=a[0]; *d=0;
for(i=0;i<n;i++) if(*max<a[i]); {*max=a[i]; *d=i;}
28、x=__1__/4; 填空:(1)3.0 (2)> (3) (2*i+1) 改错:(1)double fun (int n) (2) s=s+(double)a/b; 编程: int i,j,max=a[0][0]; for(i=0;i<2;i++) for (j=0;j<M;j++) if (max<a[i][j]) max=a[i][j]; return max; 29、s=0; i=__1__; 填空:(1)0(2)i++(3)2.0*i 改错:(1)void fun (char *s,char *t)(2)t[2*d]='\0'; 编程:int i,j=o;
for(i=1;i<strlen(s);i+=2)
if (i%2==0&&s[i]%2)t[j++]=s[i]; t[j]='\0';
30、t[j]=__1__; j++;} 填空:(1)s[i] (2)k (3)0 改错:(1)while (*w) (2)if(*r==*p) 编程:int i,j=0;
for(i=1;i<strlen(s);i+=2) if(s[i]%2)t[j++]=s[i]; t[j]='\0';
31、void fun(int (*a)[N], int __1__) 填空:(1) k (2) N (3) a[k][i]
改错:(1) for(i=strlen(t)-1;i;i--) (2) if(t[j]>t[j+1]) 编程:char *p=ss int i=0; while(*p) {
if((i%2)&&(*p>='a'&&*p<='z')) *p-=32; p++; i++; }
32、for(p=1; p<= __1__; p++) 填空:(1)k (2)N-1 (3)temp 改错:(1)void fun(int a[][M],int m)(2)a[j][k]=(k+1)*(j+1); 编程:
*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10; 33、rmax=a[i][j]; c= __1__ ; } 填空:(1)j (2)0 (3)i++
改错:(1)for(i=2;i<=m;i++) (2)y-=1.0/(i*i); 编程:float av=0.0; int i,j=0;
for(i=0;i<m;i++) av+=score[i]; av/=m;
for(i=0;i<m;i++)
if(av>score[i])below[j++]=score[i]; return j;
34、if(n>=len) strcpy(__1__); 填空:(1)t,s(2)s[i](3)0 改错:(1)if (i%k==0)(2)if(k>=i) 编程:int i=0; *n=0;
for (i=1;i<=x;i++) if((x%i==0)&&(i%2)) pp[(*n)++]=i; 35、lp= __1__ ; rp=s+strlen(s)-1; 填空:(1)s (2)— (3) return 0 改错:(1)double fun (int n) (2)c=a;a+=b;b=c;
编程: int r=0,temp,p,sign=1;
for(temp=m+1;temp<m*m;temp++) {for(p=2;p<temp;p++) {if(temp%p!=0) sign=1; else {sign=0; break; } }
if(sign= =1&&p>=temp) {if(k>=0)
{xx[r++]=temp; k- -;}
else break; } }
36、__1__ ; flag=1;} 填空:(1)n++ (2)0 (3)s++ 改错:(1)t+=s[k]; (2)*aver=ave; 编程:int i,pos=0,max=*s; for(i=1;i<t;i++) {if(max<*(s+i)) {max=*(s+i); pos=i; } }
*k=pos;
37、*(t+n)= __1__ ; n++; } 填空:(1) *s (2) s++ (3) n
改错:(1) int j,c=0; double xa=0.0; (2) if(x[j] >= xa)
编程:float result,temp=1.0; int i;
for(i=1; i<=m; i++) temp=temp*i; result=temp;
for(temp=1.0,i=1;i<=n;i++) temp=temp*i; result=result/temp;
for(temp=1.0,i=1;i<=m-n;i++) temp=temp*i; result=result/temp; return result;
38、if( isdigit(*s) ) sum+= *s- __1__ ; 填空:(1)48 (2)s++ (3)sum 改错:(1)if ((k%13= =0) || (k%17= =0)) (2)} 编程:int i;
for(i=21;i<=n;i++)
if((i%3= =0)&&(i%7 = =0)) sum=sum+i; return sprt(sum);
39、ch=tolower(__1__);
填空:(1) *s (2) 1 (3) k[n]
改错:(1) double fun(int k) (2) return s; 编程:double s=0.0; int i;
for(i=1;i<=n;i++) s=s+1.0/(i*(i+1)); return s;
40、k= __1__ ;
for(j=i+1; j<N; j++)
填空:(1) i (2) ps[j] (3) tp
改错:(1) double fun(int n) (2) return sum; 编程:int i;
double a=1,b=1,s=1; for(i=1;i<=n;i++) 41、 __1__ (*f)(); double r1, r2; 填空:(1)double (2)f1 (3) f2 改错:(1)p=h->next; (2)p=p->next; 编程:int i,n=0,fg=1; char *p=str; while(*p) {n++;p++;}
for(i=0;i<n/2;i++) if(str[i]==str[n-1-i]); else {fg=0; break;} return fg;
42、p = __1__ ; while (p) {
填空:(1)h->next (2)p->next (3)>= 改错:(1)p=h->next; (2)p=p->next; 编程:int i,j;
for(i=0;i<mm;i++) for(j=0;j<nn;j++) {b[*n]=*(*(s+i)+j); *n=*n+1;}
43、__1__ * fun(NODE *h) 填空:(1)NODE *(2)q(3)r
改错:(1)if(i%2 || s[i]%2==0)(2)t[j]=0;
编程: for(j=0;j<nn;j++) for(i=0;i<mm;i++) b[np++]=s[i][j]; 44、p = h->__1__; 填空:(1)next (2)0 (3)r 改错:(1)r=t; (2)if(*r= =0) 编程:int i,j,k=0; for(i=0;i<M;i++) {for(j=0;j<N;j++) if*(*(a+i)+j)
{b[k]=*(*(a+i)+j}; k++;} else break; b[k]=’\0’;}
45、/**********found**********/ q = __1__ ;
填空:(1)p->next (2)q (3)p->next 改错:(1)'\0' (2)s++; 编程:int b[N],i,j=0; for(i=p+1;i<n;i++) {b[j]=w[i];j++;} for(i=0;i<=p;i++) {b[j]=w[i];j++;}
for(i=0;i<n;i++) w[i]=b[i];
46、__1__ fun(int i, double x, double y) 填空:(1) double (2) f1 (3) f2
改错:(1) char *fun(char *s, char *t) (2) ss++ (3) tt++
编程:char a[N]; int i;
for(i=0;i<m;i++) a[i]=w[i]; while(w[i]) {w[i-m]=w[i];i++;} i--;m--;
for(;m>=0;m--;i--) w[i]=a[m]; 47、 __1__ fp; char ch;
填空:(1) FILE * (2) fp (3)ch 改错:(1)s[j++]=s[i]; (2) s[j]= '\0';
编程: for(j=0;j<M;j++) b[n]=s[j][i]; 48、__1__ fp;
char str[100], str1[100], str2[100];
填空; (1)File * (2) fclose(fp) (3) fp 改错; (1)t=(STU*)calloc(sizeof(STU),m); (2) t[k]=b[j]; 编程;int i,t,j=0,*p=a; t=p[0];
for(i=0;i<=n;i++) if(t==p[i]); else {a[j]=t; t=p[i]; j++; }
if(i>=n) a[j]=t; return j;
49、fp = fopen(filename, __1__); 填空:(1)"rb" (2)> (3)fwrite 改错:(1)p=s; (2) ; (缺分号) 编程:int i;
for(i=0;j<M;i++) b[i]=0; for(i=0;i<N;i++)
if(a[i]>=100)b[10]++; else b[a[i]/10]++;
50、fp = fopen(__1__, "rb+"); 填空:(1)filename (2 ) fp (3) fp 改错:(1)p=(NODE*)malloc(sizeof(NODE)); (2)return h;
编程: int i,n=0;
for(i=0;i<strlen(s);i++) {if(s[i]>=’ a’&&s[i]<=’ z’&&s[i+1]=’ ’||s[i+1]==’\0’) n++;}


