计算机二级C语言机试题库及答案破译版.docx
- 文档编号:29100867
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:220
- 大小:88.85KB
计算机二级C语言机试题库及答案破译版.docx
《计算机二级C语言机试题库及答案破译版.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言机试题库及答案破译版.docx(220页珍藏版)》请在冰豆网上搜索。
计算机二级C语言机试题库及答案破译版
计算机二级c语言机试题库
.第1套
填空题
longfun(intn)
{
if(___1___)
return(n*fun(___2___));
第1处填空:
n>1或1 第2处填空: n-1 第3处填空: 1或11或1L 改错题 第1处: Isprime(intn);应改为Isprime(intn) 第2处: if! (n%i)应该为if(! (n%i)) 编程题 intfun(intscore[],intm,intbelow[]) { intI,k=0,aver=0; for(i=0;i aver+=score[i]; aver/=m; for(i=0;i if(score[i] { below[k]=score[i]; k++; } returnk; } 第2套 填空题 if(___1___) return0; elseif(___2___) return1; else return___3___; } 第1处填空: n==0或0==n或! n 第2处填空: n==1或1==n 第3处填空: fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1) 改错题 第1处: intk=1应改为intk=0; 第2处: while(*p! =*q)应改为while(*p||*q) 编程题 答案是: voidfun(int*a,int*n) { inti,j=0; for(i=2;i<1000;i++) if((i%7==0||i%11==0)&&i%77! =0) a[j++]=i; *n=j; } 第3套 填空题 for(i=0;i { t=s[i]; ___2___; ___3___; } } 第1处填空: n--或--n或n-=1或n=n-1 第2处填空: s[i]=s[n]或*(s+i)=*(s+n) 第3处填空: s[n]=t或*(s+n)=t 改错题 第1处: s[j]=s[i];应改为s[j++]=s[i] 第2处: s[j]=”/0”;应改为s[j]=’\0’; 编程题 voidfun(intx,intpp[],int*n) { inti=1,j=0,k=0,*t=pp; for(i=0;i<=x;i++) if(i%2! =0) { t[j]=i; j++; } for(i=0;i if(x%t[i]==0) { pp[k]=t[i]; k++; } *n=k; } 第4套 填空题 for(i=1;___1___;i++) if(i%3==0___2___i%7==0) sum+=___3___/i; returnsum; 第1处填空: i<=n或n>=i 第2处填空: || 第3处填空: 1.0或(double)1 改错题 第1处: voidfun(char*s,inta,intb)应改为voidfun(char*s,int*a,int*b) 第2处: a++;应改为(*a)++; 第3处: b++;应改为(*b)++; 编程题 voidfun(char*tt,intpp[]) { intI; for(i=0;i<26;i++) pp[i]=0; while(*tt) {switch(*tt) { case’a’: pp[0]++;break; case’b’: pp[1]++;break; case’c’: pp[2]++;break; case’d’: pp[3]++;break; case’e’: pp[4]++;break; case’f’: pp[5]++;break; case’g’: pp[6]++;break; case’h’: pp[7]++;break; case’i’: pp[8]++;break; case’j’: pp[9]++;break; case’k’: pp[10]++;break; case’l’: pp[11]++;break; case’m’: pp[12]++;break; case’n’: pp[13]++;break; case’o’: pp[14]++;break; case’p’: pp[15]++;break; case’q’: pp[16]++;break; case’r’: pp[17]++;break; case’s’: pp[18]++;break; case’t’: pp[19]++;break; case’u’: pp[20]++;break; case’v’: pp[21]++;break; case’w’: pp[22]++;break; case’x’: pp[23]++;break; case’y’: pp[24]++;break; case’z’: pp[25]++;break; } tt++; } } 第5套 填空题 return3.14159*___1___/2.0; } main() { doublex; printf("Enterx: "); scanf("%lf",___2___); printf("s=%lf\n",fun(___3___)); } 第1处填空: r*r 第2处填空: &x 第3处填空: x 改错题 第1处: a[i+1]=a[i];应改为a[i]=a[i+1] 编程题 voidfun(intm,intk,intxx[]) { intg=0,I,j,flag=1; for(i=m+1;i { for(j=2;j { if(i%j! =0) flag=1; else { flag=0; break; } } if(flag==1&&j>=i) { if(k>=0) { xx[g++]=I; k--; } else break; } } } 第6套 填空题 while(s___1___q) { s=s+(double)(n+1)/n; ___2___; } printf("n=%d\n",n); ___3___; } main() { printf("%f\n",fun(50)); } 第1处填空: <= 第2处填空: n++或n+=1或n=n+1 第3处填空: returns或return(s) 改错题 第1处: for(i=2;i 第2处: y-=1/(i*i);应改为y-=1.0/(i*i) 编程题 voidfun(chara[],charb[],intn) { intI,j=0; for(i=0;i if(i! =n) { b[j]=a[i]; j++; } b[j]=’\0’; } 第7套 填空题 switch(___1___) { case1: c1++; ___2___; case2: c2++; ___3___; case3: c3++; } n/=10; } } main() { longn=123114350L; fun(n); printf("\nTheresult: \n"); printf("n=%ldc1=%dc2=%dc3=%d\n",n,c1,c2,c3); } 第1处填空: n%10 第2处填空: break 第3处填空: break 改错题 第1处: p=j应改为p=j; 第2处: p=i应改为p=j; 编程题 voidfun(int*s,intt,int*k) { intI,max; max=s[0]; for(i=0;i i++) if(s[i]>max) { max=s[i]; *k=I; } } 第8套 填空题 scanf("%d",___1___); max=___2___num[i]: max; }while(___3___); printf("max=%d\n",max); } 第1处填空: &num[i]或num+i 第2处填空: max 或num[i]>max? 第3处填空: num[i]! =0或0! =num[i] 改错题 第1处: voidfun(char*p);应改为voidfun(char*p) 第2处: p=q+I;应改为q=p+i; 编程题 floatfun(intn) { inti; floats=1.0,t=1.0; for(i=2;i<=n;i++) { t=t+i; s=s+1/t; } returns; } 第9套 填空题 if(*s>='A'&&*s<='Z') ___1___; if(*s>='a'&&*s<='z') ___2___; s++; } } main() { chars[100]; intupper=0,lower=0; printf("\nPleaseastring: "); gets(s); fun(s,&upper,&lower); printf("\nupper=%dlower=%d\n",___3___); } 第1处填空: (*a)++或++(*a)或*a=*a+1或*a+=1 第2处填空: (*b)++或++(*b)或*b=*b+1或*b+=1 第3处填空: upper,lower 改错题 第1处: t=s[k];应改为t+=s[k]; 第2处: *aver=&ave;应改为*aver=ave; 编程题 floatfun(intm,intn) { floatp,t=1.0; inti; for(i=1;i<=m;i++) t=t*i; p=t; for(t=1.0,i=1;i<=n;i++) t=t*i; p=p/t; for(t=1.0,i=1;i<=m-n;i++) t=t*i; p=p/t; returnp; } 第10套 填空题 mbersare: %d,%d,%d\n",a,b,c); if(a>b) ___1___; else ___2___; if(max ___3___; printf("max=%d\n",max); } 第1处填空: max=a 第2处填空: max=b 第3处填空: max=c 改错题 第1处: voidfun(char*s,*t1,*t2,*w)应改为voidfun(char*s,char*t1,char*t2,char*w) 第2处: while(r)应改为while(*r) 编程题 floatfun() { floatx1=0.0,x0; do { x0=x1; x1=cos(x0); } while(fabs(x0-x1)>=le-6); returnx1; } 第11套 填空题 k=n-___1___; else k=n-2; c=___2___; for(i=k-2;i>=1;i=i-2) s[i+2]=s[i]; s[1]=___3___; } main() { chars[80]="abcdefgh"; printf("\nTheoriginalstringis: %s\n",s); fun(s); printf("\nTheresultis: %s\n",s); } 第1处填空: 1 第2处填空: s[k]或*(s+k) 第3处填空: c 改错题 第1处: n=*p-‘o’;应改为n=*p-‘0’; 第2处: n=n*7+*p-‘o’;应改为n=n*8+*p-‘0’; 编程题 intfun(inta[][N]) { inti,j; for(i=0;i for(j=0;j<=I;j++) a[i][j]=0; } 第12套 填空题 if((tt[i]>='A')&&(___1___)) tt[i]+=___2___; } return(___3___); } main() { chartt[81]; printf("\nPleaseenterastring: "); gets(tt); printf("\nTheresultstringis: \n%s",fun(tt)); } 第1处填空: tt[i]<=’z’或’z’>=tt[i] 第2处填空: 32或’a’-‘A’ 第3处填空: tt 改错题 第1处: a=NULL;应改为a=NULL; 第2处: if(r==p)应改为if(*r==*p) 编程题 doublefun(intw[][N]) { inti,j,k=0; doubles=0.0; for(j=0;j { s+=w[0][j]; k++; } for(j=0;j { s+=w[N-1][j]; k++; } for(i=1;i<=N-2;i++) { s+=w[i][0]; k++; } for(i=1;i<=N-2;i++) { s+=w[i][N-1]; k+; } rturns/=k; } 第13套 填空题 #include ___1___ { inti,m; m=1; for(i=___2___;i if(___3___) { m=0; break; } if(m==1&&n>1) return("yes! "); else return("no! "); } main() { intk=0; printf("Input: "); scanf("%d",&k); printf("%s\n",fun(k)); } 第1处填空: char*fun(intn) 第2处填空: 2 第3处填空: n%i==或! (n%i)或0==n%i 改错题 第1处: t+=1.0/k;应改为t+=1.0/i; 第2处: 应填returnt; 编程题 vidfun(inttt[M][N],intpp[N]) { inti,j,min; for(j=0;j { min=tt[0][j]; for(i=0;i { if(tt[i][j] min=tt[i][j]; } pp[j]=min; } } 第14套 填空题 while(___1___) { if(*p>='a'&&*p<='z') { s[i]=*p; ___2___; } p++; } s[i]=___3___; } main() { charstr[80]; printf("\nEnterastring: "); gets(str); printf("\n\nThestringis: %s\n",str); fun(str); printf("\n\nThestringofchangingis: %s\n",str); } 第1处填空: *p或*p! =’\0’或*p! =0 第2处填空: i++或++i或i+=1或i=i+1 第3处填空: ’\0’或0 改错题 第1处: intr;应改为doubler; 第2处: while(fabs(n-m)<0.001)应改为while(fabs(n-m)>0.001) 编程题 intfun(inta[M][N]) { inti,j,s=0; for(j=0;j { s+=a[0][j]; s+=a[M-1][j]; } for(i=1;i<=M-2;i++) { s+=a[i][0]; s+=a[i][N-i]; } returns; } 第15套 填空题 If(*ste_1_ch) {str[0]=ch; _2_=0; } } Main() {chars[81],c; Printf(“\npleaseenterastring: \n”);gets(s); Printf(“\npleaseenterthecharactertosearch: ”); C=getchar(); Fun(_3_); Printf(“\nTheresultis%s\n”,s); } 第1处填空: ! = 第2处填空: str[1]或*(str+1) 第3处填空: s,c 改错题 第1处: voidfun(charstr,charch)应改为voidfun(char*str,charch) 第2处: if(*str==ch)应改为if(*str==’\0’) 第3处: str[1]=’0’;应改为str[1]=’\0’;或str[1]=0 编程题 unsignedfun(unsignedw) { unsignedt,s=0,s1=1,p=0; t=w; while(t>10) { if(t/10) p=t%10; s=s+p*s1; s1=s1*10; t=t/10; } returns; } 第16套 填空题 if(___1___) flag=1; if(___2___) flag=1; return___3___; } main() { intyear; printf("Inputtheyear: "); scanf("%d",&year); if(fun(year)) printf("%disaleapyear.\n",year); else printf("%disnotaleapyear.\n",year); } 第1处填空: n%100! =0或0! =n%100 第2处填空: N400==0或! (n%400)或0==n%400 第3处填空: flag 改错题 第1处: p->next=NULL;应改为p=s; 第2处: s->data=rand()%m;应改为s->data=rand()%(m-1) 第3处: returnp;应改为returnh; 编程题 floatfun(floath) { longt; floats; h=h*1000; t=(h+5)/10; s=(float)t/100.0; returns; } 第17套 填空题 for(i=0;i<___1___;i++) if(a[i]<60) b[5]++; ___2___ b[(a[i]-60)/10]++; } main() { inti,a[100]={93,85,77,68,59,43,94,75,98},b[6]; fun(___3___,9); printf("theresultis: "); for(i=0;i<6;i++) printf("%d",b[i]); printf("\n"); } 第1处填空: n 第2处填空: else 第3处填空: a,b 改错题 第1处: if((k%13=0)||(k%17=0))应改为if((k%13==0)||(k%17==0)) 第2处: 应填} 编程题 voidfun(char*s) { charch; inti,m,n; i=0; m=n=strlen(s)-1; while(i<(n+1)/2) { ch=s[i]; s[i]=s[m]; s[m]=ch; i++; m--; } } 第18套 填空题 if(___1___) ___2___; p++; i++; } return___3___; } main() { charstr[N]; charch; inti,n; printf("*******Inputtheoriginalstring*******\n"); gets(str); printf("*******TheOriginalstring*******\n"); puts(str); printf("*******Inputcharacter*******\n"); scanf("%c",&ch); n=fun(str,ch); printf("\nThenumberofcharacteris: %d\n",n); printf("*******Thesuffixofcharacter*******\n"); for(i=0;i printf("%d",bb[i]); } 第1处填空: *p==t或t==*p 第2处填空: bb[n++]=i 第3处填空: n 改错题 第1处: voidfun(inta,intb)应改为voidfun(int*a,int*b) 第2处: t=b;b=a;a=t;应改为t=*b;*b=*a;*a=t; 编程题 voidfun(intarray[3][3]) { inti,j,temp; for(i=0;i<3;i++) for(j=0;j { temp=array[i][j]; array[i][j]=array[j][i]; array[j][i]=temp; } } 第19套 填空题 below[j++]=___1___; returnj; } main() { inti,n,below[9]; intscore[9]={10,20,30,40,50,60,70,80,90};
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 试题库 答案 破译