四川省计算机二级考试历年真题C语言答案.docx
《四川省计算机二级考试历年真题C语言答案.docx》由会员分享,可在线阅读,更多相关《四川省计算机二级考试历年真题C语言答案.docx(25页珍藏版)》请在冰豆网上搜索。
四川省计算机二级考试历年真题C语言答案
@第三部分:
笔试、机试答案
笔试真题答案
▶▶真题一第十九次等级考试
第一部分软件技术基础
一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)
1~10:
AAABA、BBAAB
二、单项选择题:
(每小题1分,共5分)
1~5:
CBDDA
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、B2、A3、D4、D5、A
6、C7、D8、B9、A10、B
二、读程序题(每个选择3分,共45分)
1、
(1)D
(2)B2、
(1)C
(2)D3、
(1)A
(2)D
4、
(1)C
(2)C5、B6、
(1)C
(2)D
7、
(1)B
(2)C8、B9、D
三、程序填空题(每空2分,共30分)
1、①TotalSum(a,5)②Total③sum+=array[i]
2、①ch=='1'②power(2,i)③val=val*x
3、①s+n-1②*p1!
='\0'③p2--
4、①&num[i][j]②num[i][j]!
=num[j][i]③flag==1
5、①while(!
feof(fp))②if(strcmp(str,string)==0)③fopen(argv[1],"r")
▶▶真题二第二十次等级考试
第一部分软件技术基础
一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)
1~10:
ABABB ABABB
二、单项选择题:
(每小题1分,共5分)
1~5:
DACDC
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、A2、B3、C4、C5、A
6、D7、A8、C9、C10、D
二、读程序题(每个选择3分,共45分)
1、
(1)B
(2)D2、
(1)A
(2)C3、
(1)C
(2)A(3)D
4、
(1)A
(2)D5、D6、
(1)C
(2)B
7、
(1)A
(2)B8、B
三、程序填空题(每空2分,共30分)
1、①num=0②i2、①symm(m)&&symm(m*m)&&symm(m*m*m)
②i!
=0③m=m*10+i%10
3、①head②p->data③p->next
4、①(fp=fopen("data.txt","r"))==NULL
②ch=fgetc(fp)③ch-'A'
5、①while(*s++=*t++)②*t='\0'③elsep=NULL
▶▶真题三第二十一次等级考试
第一部分软件技术基础
一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)
1~10:
BBABB ABBAB
二、单项选择题:
(每小题1分,共5分)
1~5:
CCDDB
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、C2、B3、B4、B5、C
6、A7、A8、C9、D10、D
二、读程序题(每个选择3分,共45分)
1、D2、A3、A
4、B5、B6、C
7、
(1)C
(2)B8、
(1)A
(2)B9、
(1)C
(2)D10、
(1)D
(2)A(3)D
三、程序填空题(每空2分,共30分)
1、①structstudent*next②p2->next=p1③p=p->next
2、①q=p②p>str③*p=max
3、①aver+=score[i]②below[k]=score[i]③fun(score,9,below)
4、①i==j②j=2③j>=0
5、①"wb"②&em③1
▶▶真题四第二十二次等级考试
第一部分软件技术基础
一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)
1~10:
AABBA BBBAA
二、单项选择题:
(每小题1分,共5分)
1~5:
DCDCA
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、B2、A3、B4、A5、D
6、C7、D8、C9、D10、C
二、读程序题(每个选择3分,共45分)
1、D2、
(1)A
(2)C3、
(1)A
(2)D
4、C5、A6、B
7、B8、
(1)D
(2)A9、
(1)C
(2)B
10、
(1)B
(2)D
三、程序填空题(每空2分,共30分)
1、①p[i]>p[j]②fscanf(fp,"%d",&a[i])③sort(a,10)
2、①func(n)②longm③func(m/10)
3、①(bott+top)/2②top=mid-1③bott>top
4、①str1[i]!
='\0'&&str2[i]!
='\0'
②strlen(str1)>strlen(str2)③strcat(str3,p2+i)
5、①k>0②k/10③continue
▶▶真题五第二十三次等级考试
第一部分软件技术基础
一、是非判断题(每小题1分,共10分)
1~10:
AABAB ABBBB
二、选择题(每小题1分,共5分)
1~5:
CDADA
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、B2、A3、A4、D5、B
6、A7、C8、A/B9、D10、C
二、读程序回答问题(每个选择3分,共45分)
1、B2、A3、D4、BB5、DA
6、BA7、D8、CC9、AC10、C
三、程序填空(每空2分,共30分)
1、①n%base②c[i]③b[d]
2、①j/10②ch[0]==ch[4]&&ch[1]==ch[3]③i
3、①i%3==0&&i%7!
=0②p[num++]=i③fun(M,a,&n)
4、①s,t②*(p1+i)==*p2③p1+i,p1+i+1
5、①fopen("stu.txt","r+")②fp,"%f",&y③fprintf(fp,"%f",x)
▶▶真题六第二十四次等级考试
第一部分软件技术基础
一、是非判断题(每小题1分,共10分)
1~10:
BABAB BABAB
二、选择题(每小题1分,共5分)
1~5:
BDBDB
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、C2、B3、A4、A5、D
6、C7、C8、B9、D10、B
二、读程序回答问题(每个选择3分,共45分)
1、D2、BD3、A4、AB5、A
6、C7、CD8、DB9、C10、CB
三、程序填空(每空2分,共30分)
1、①int*p或intp[]②p[j+1]=p[j]③insert(a,wz,x)
2、①inti②i<=y③returnz
3、①x>=0②x4、①i-1②a[j+1]=a[j]③a[j+1]=t
5、①FILE*f②sizeof(stractrec)③r.num,r.total
▶▶真题七第二十五次等级考试
第一部分软件技术基础
一、是非判断题(每小题1分,共10分)
1~10:
BAAABABAAB
二、选择题(每小题1分,共5分)
1~5:
ADDAC
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、A2、D3、B4、C5、B
6、A7、D8、B9、D10、A
二、读程序回答问题(每个选择3分,共45分)
1、C2、A3、BC4、AC5、DD
6、AC7、AD8、BD9、B
三、程序填空(每空2分,共30分)
1、①a=a*x②b=b*i③s=sum(x,n)
2、①s3、①filename②c-‘a’③ch+i
4、①*max=i②*min=i③fun(a,10,&max,&min)
5、①c[k]=a[i++]②c[k]=b[j++]③*(b+j)!
=’\0’
▶▶真题八第二十六次等级考试
第一部分软件技术基础
一、是非判断题(每小题1分,共10分)
1~10:
BABAB BBABB
二、选择题(每小题1分,共5分)
1~5:
BCCCA
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、A2、B3、C4、B5、D
6、C7、A8、D9、C10、B
二、读程序回答问题(每个选择3分,共45分)
1、AC2、D3、B4、AB5、A
6、BC7、DC8、D9、AD10、B
三、程序填空(每空2分,共30分)
1、①charch②“r”③ch
2、①p=i②i>=p③a[p]=x
3、①word++②max4、①a[k][i]②*sum③x,&s
5、①a[k]②a[k]③“%4\n”
▶▶真题九第二十七次等级考试
第一部分软件技术基础
一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)
1~10:
AAAAAABBBA
二、单项选择题:
(每小题1分,共5分)
1~5:
ADBCA
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、A2、B3、D4、D5、C
6、C7、B8、D9、A10、D
二、读程序题(每个选择3分,共45分)
1、B2、A3、A4、C5、C
6、B7、D8、DAB9、BD10、CA
11、C
三、程序填空题(每空2分,共30分)
1、①charm②i<=j③str[j-1]
2、①argv[1]②ch=fgetc(fp2)③fputc(ch,fp1)
3、①i+2②a[j]!
=0&&a[i]!
=0&&a[j]%a[i]==0③count%10==0
4、①-sign②num*③%ld
5、①i=0②s[i]!
=’\0’③i%2==0
▶▶真题十第二十八次等级考试
第一部分软件技术基础
一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)
1~10:
AABABAABBB
二、单项选择题:
(每小题1分,共5分)
1~5:
DBAAC
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、D2、B3、A4、C5、B
6、D7、C8、A9、B10、D
二、读程序题(每个选择3分,共45分)
1、B2、AC3、D4、A5、B
6、A7、AC8、D9、B10、BC
11、C12、D
三、程序填空题(每空2分,共30分)
1、①*(s+i)或*(s+i)!
='\0'②returncnt;③fun(str,ch)
2、①-1②(2*i+1)③*s=t;
3、①b[i]=0②b[i]+③x[i][j]
4、①i++②line=j③fclose(fp)
5、①k++②2③k-1
▶▶真题十一第二十九次等级考试
第一部分软件技术基础
一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)
1~10:
BAAABABABA
二、单项选择题:
(每小题1分,共5分)
1~5:
AABDC
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、C2、B3、A4、D5、B
6、C7、B8、D9、A10、D
二、读程序题(每个选择3分,共45分)
1、
(1)D
(2)C2、
(1)B
(2)A3、
(1)C
(2)D
4、A5、B6、
(1)D
(2)C
7、C8、
(1)B
(2)C9、B10、A
三、程序填空题(每空2分,共30分)
1、①a[r][c]②*row=r③returna[r][c]
2、①s+x/y②x③x+y
3、①“score.dat”②scanf(“%f”,&score)③fclose(fp)
4、①char*sp②strlen(sp)5、①n=0②a[j]=0③count<25
▶▶真题十二第三十次等级考试
第一部分软件技术基础
一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)
1~10:
二、单项选择题:
(每小题1分,共5分)
1~5:
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、D2、C3、B4、B5、A
6、D7、B8、A9、D10、C
二、读程序题(每个选择3分,共45分)
1、AC2、CA3、BB4、DB5、DB
6、B7、AA8、CC
三、程序填空题(每空2分,共30分)
1、①n%base②i>=0③a[d]
2、①*d②word③result
3、①3②"r"③fgetc(fp1)
4、①structpt[100]②&t[i].code③t[i].code
5、①n%i②return1③fun(a[i])
▶▶真题十三第三十一次等级考试
第一部分软件技术基础
一、是非判断题(每小题1分,共10分)
1~10:
ABABBABBAA
二、选择题(每小题1分,共5分)
1~5:
CABDA
第二部分C与C++语言程序设计
一、单项选择题(每小题1分,共10分)
1、A2、D3、B4、B5、D
6、D7、D8、C9、B10、B
二、读程序题(每个选择3分,共45分)
1、DC2、D3、D4、B5、D
6、CA7、CB8、DA9、DC10、C
三、程序填空题(每空2分,共30分)
1、①i②w③"\n"
2、①5②m=m*10+t%10③t=t/10
3、①i+=3②j+=3③a[i]>a[j]
4、①inta[]②a[i]%j③a[k]
5、①i②t*k③-k
机试真题答案
▶▶真题一
一、程序调试题(文件名为test1-1.c)(40分)
#include
#include
#include
#defineN80
voidmain()
{charstr1[N],str2[N];
inti,j,locat[10];
intfun(char*,char*,int*);
FILE*fp;
if((fp=fopen("test1-1.dat","r"))=NULL)/*改为:
==*/
{printf("Cannotopenthefile.\n");
exit(0);
}
fgets(str1,fp);/*改为:
str1,N-1,fp*/
fgets(str2,N-1,fp);
printf("str1:
%s\nstr2:
%s\n",str1,str2);
fclose(fp);
fun(str1,str2,locat);/*改为:
i=fun(str1,str2,locat);*/
printf("arisentimes:
%d\n,startplace:
",i);
for(j=0;j
printf("%d,",locat[j]);
printf("\n");
}
intfun(char*p,char*q,intlocat[])
{intlen,i=0,posit=0;
char*str;
str=q;
len=strlen(q);
do
{if(*p=*q)/*改为:
*p!
=*q*/
{p++;
posit++;
}
else
{
while((*q!
='\0')||(*q==*p))/*改为:
&&*/
{q++;
p++;
posit++;
}
if(*q=='\0')
{
locat[i]=posit-len;
i++;
}
}
q=str;
}while(*p!
='\0');
returni;
}
评分标准:
每改对一处得8分
二、编程题(程序文件取名为test1-2.c)(60分)
评分标准:
1.fun函数编写40分:
2.main函数编写20分:
1)函数定义、形参书写正确(10分)1)正确定义变量,并能正确的输出(10分)
2)算法正确(20分)2)能正确调用fun函数(10分)
3)返回值正确(10分)
参考程序:
#include
intfun(int*a)
{
inti,j=0,qw,bw,sw,gw,s,t;
for(i=1000;i<=9999;i++)
{
qw=i/1000;
bw=i/100%10;
sw=i/10%10;
gw=i%10;
s=qw*10+sw;
t=bw*10+gw;
if((s==5*t)&&(bw!
=0))
{
a[j]=i;
j++;
}
}
returnj;
}
voidmain()
{
inta[100],i,j;
j=fun(a);
for(i=0;i{
printf("%6d",a[i]);
if((i+1)%5==0)
printf("\n");
}
}
▶▶真题二
一、程序调试题(文件名为test2-1.c)(40分)
#include
#include
#include
#defineN5
intfun(chars)/*改为:
*s*/
{inti,j;
j=strlen(s);
for(i=0,j--;ij--*/
if(s[i]=s[j])return0;/*改为:
!
=*/
return1;
}
voidmain()
{chars[20];
FILE*fp;
inti=0,j=0;
if((*fp=fopen("test2-1.dat","r"))==NULL)/*改为:
fp*/
{printf("Cannotopenthefile.\n");
exit(0);
}
for(i=0;i{if(fun())/*改为:
fun(s)*/
{
printf("%s\n",s);
j++;
}
}
printf("\nnumber=%d\n",j);
fclose(fp);
}
评分标准:
每改对一处得8分
二、编程题(程序文件取名为test2-2.c)(60分)
评分标准:
1.fun函数编写30分:
2.main函数编写30分:
1)函数定义、形参书写正确(10分)1)数组定义及初始化正确(10分)
2)算法正确(20分)2)能正确调用fun函数(5分)
3)能正确输出(15分)
参考程序:
#include
#defineN4
voidfun(inta[][N])
{
inti,j;
for(i=0;ifor(j=0;j
if(a[i][j]>a[j][i])
a[j][i]=a[i][j];
}
voidmain()
{
intd[N][N]={{0,1,2,3},{7,6,4,5},{11,16,9,10},{15,22,33,8}};
inti,j;
for(i=0;i{for(j=0;jprintf("%6d",d[i][j]);
printf("\n");
}
fun(d);
for(i=0;i{printf("\n");
for(j=0;jif(j>=i)
printf("%6d",d[i][j]);
else
printf("%6c",'');
}
}
▶▶真题三
一、程序调试题(文件名为test3-1.c)(40分)
#defineN20
#include
#include
voidfun(int*a)/