福建省二级C模拟题 5.docx

上传人:b****3 文档编号:26601652 上传时间:2023-06-20 格式:DOCX 页数:20 大小:38.99KB
下载 相关 举报
福建省二级C模拟题 5.docx_第1页
第1页 / 共20页
福建省二级C模拟题 5.docx_第2页
第2页 / 共20页
福建省二级C模拟题 5.docx_第3页
第3页 / 共20页
福建省二级C模拟题 5.docx_第4页
第4页 / 共20页
福建省二级C模拟题 5.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

福建省二级C模拟题 5.docx

《福建省二级C模拟题 5.docx》由会员分享,可在线阅读,更多相关《福建省二级C模拟题 5.docx(20页珍藏版)》请在冰豆网上搜索。

福建省二级C模拟题 5.docx

福建省二级C模拟题5

一、选择题

1.C语言的函数体由( b)括起来。

A)( )B){ }C)[]D)/**/

2.以下( c)是正确的字符常量。

  A)”C”B)‘\\’’C)‘W’D)”\32a”

3.若有定义:

intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为(c )。

  A)3,3B)4,4C)4,3D)3,4

4.设整型变量a为5,使b不为2的表达式是(ac )。

  A)b=(++a)/2B)b=6-(--a)C)b=a%2D)b=a/2

5.getchar()函数的功能是从终端输入(d )。

  A)一个整型变量B)一个实型变量值C)多个字符D)一个字符

6.若有定义:

intx=3,y=4;则表达式!

x||y的值为(a )。

  A)1B)0C)3D)4

7.若有定义:

floatf=3.5;intz=8;则表达式f+z%3/4的值为(b).

A)3.75B)3.5C)3D)4

8.若有定义:

inta=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为(d )。

if(a

A)a=1,b=2,c=3B)a=2,b=3,c=1C)a=2,b=3,c=3D)a=2,b=1,c=1

9.以下程序段运行后,循环体运行的次数为(b )。

  inti=10,x;

for(;i<10;i++)x=x+i;

A)10B)0C)1D)无限

10.若有定义:

inta[5]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为(a )。

A)6B)5C)1D)2

11.若有定义:

inta[3][3];则表达式&a[2][1]-a的值为( a)。

A)7B)8C)6D)9

12.以下程序段运行后屏幕输出为( )。

  chara[]=”abc\0mls”;

printf(”%d”,strlen(a));

  A)5B)8C)3D)4

13.以下程序运行后屏幕输出为( d)。

  #include

inta=2,b=3;

intmax(inta,intb)

{intc;

c=a>b?

a:

b;

return(c);

}

main()

{inta=4;

printf(”%d”,max(a,b));

}

A)2,3B)2C)3D)4

14.若有定义:

#definePI3,则表达式PI*2*2的值为(a )

A)12B)4C)3D)不确定

15.以下程序段运行后*(++p)的值为(c )。

chara[]=”work”;

char*p;

p=a;

A)’w’B)存放’w’的地址C)’o’D)存放’o’的地址

16.以下程序段运行后x的值为( b)

inta[]={1,2,3},b[]={4,2,5};

int*p,*q;

inti,x;

p=a;q=b;

for(i=0;i<3;i++)

if(*(p+i)==*(q+i)

x=*(p+i)*2;

A)2B)4C)6D)不确定

17.下列对结构体类型变量定义不正确的是(c )。

A)structteacher

{intnum;

intage;

}teach1;

C)struct

{intnum;

intage;

}teacher;

structteacherteach1;

B)struct

{intnum;

intage;

}teach1,teach2

D)structteacher

{intnum;

intage;

};

structteacherteach1;

18.若有定义:

structnode

{intdata;

structnode*next;

};

及函数:

voidfun(structnode*head)

{structnode*p=head;

while(p)

{printf(”%d”,p->data);

p=p->next;

break;

}

}

调用时head是指向链表首结点的指针,整个链表的结构如下图:

  head… NULL

则函数fun()的功能是(c )。

A)删除单向链表B)显示单向链表中的所有数据

C)显示单向链表中的第一个数据D)创建单向链表

19.若有定义inta=20,b=28,c;则执行语句c=(a&b)>>2后c的值为( b)

A)2B)5C)32D)92

20.以下程序运行后,屏幕显示:

writeok!

下列说法正确的是(d )。

#include

{FILE*fp;

fp=fopen(”data.txt”,”wt”);

if(fp!

=NULL)

{fprintf(fp,”%s\n”,”Filewritesuccessed!

\n”);

fclose(fp);

printf(”writeok!

\n”);

}

}

A)当前工作目录下存在data.txt文件,其中的内容是”writeok!

B)fcolse(fp)语句的功能是打开文件

C)当前工作目录下一定不存在data.txt文件

D)当前工作目录下一定存在data.txt文件

二、改错题(共2小题,每题10分)

1.程序cmody051.c,其功能是统计输入字符串中大写英文字母的个数。

如输入:

abcDEFGH123输出:

5

#include

#include

main()

{/**/charstr1/**/

inti,len,sum=0;

printf(”Pleaseinputastring:

\n”);

scanf(”%s”,str1);

len=strlen(str1);

for(i=0;i

{

if(str1[i]>=’A’&&str[i]<=’Z’)

/**/sum--;/**/

}

printf(”%d\n”,sum);

getch();

}

2.程序cmody052.c其功能是实现从键盘依次输入的M个整数,输出其中所有的偶数。

  例如:

输入:

2362384526输出:

623826

#include

#include

/**/#includeM5/**/

main()

{inta[M],i;

printf(“Pleaseinput5numbers:

\n”);

for(i=0;i

scanf(”%d”,&a[i]);

printf(”Evennumbers:

\n”);

for(i=0;i

/**/if(a[i]/2==0)/**/

printf(”%d”,a[i]);

printf(”\n”);

getch();

}

三、填空题(共3小题,每题8分)

1.补充程序Ccon051.c,使其实现从键盘输入一个整数,输出该数的平方。

#include”stdio.h”

main()

{intx;

printf(”Pleaseinputanumber:

\n”);

scanf(”%d”,/**//**/);

printf(”%d*%d=%d\n”,x,x,/**//**/);

getch();

}

2.补充程序Ccon052.c,使sort()函数用选择法对数组a中的m个元素从小到大排序。

#include

#include

voidsort(inta[],intm)

{inti,j,k,t;

for(i=0;i

{k=i;

for(j=i+1;j

if(a[j]

if(k!

=i)

{t=a[k];a[k]=a[i];a[i]=/**//**/;}

}

}

voidmain()

{inta[]={72,25,58,32,2,15,7,64};

inti,m=sizeof(a)/sizeof(int);

sort(a,m);

for(i=0;i

printf(”%d”,a[i]);

printf(”\n”);

getch();

}

3.补充程序Ccon053.c,使其实现从键盘输入三个数中,输出最大值。

#include

main()

{floata,b,c,max;

/**//**/

printf(”Pleaseinput3integer:

\n”);

scanf(”%f%f%f”,&a,&b,&c);

max=fmax(a,b,c);

printf(”Themaxnumberis:

%.2f\n”,max);

getch();

}

floatfmax(floatx,floaty,floatz)

{floatm,n;

n=(n>z)?

y:

z;

m=/**//**/

return(m);}

四、编程题(共2小题,每题8分)

1.打开程序cprog051.c,完成其中的f()函数,使其计算:

如:

输入:

0.4 输出f(0.40)=0.82 输入:

1.5 输出f(1.50)=1.24 输入:

780 输出f(780.00)=1.00

#include

#include

doublef(floatx)

{/**/

 

/**/

}

voidmain()

{

floatx;

doubley;

printf(”Pleaseinputanumber:

\n”);

scanf(”%f”,&x);

y=f(x);

printf(”f(%.2f)=%.2f\n”,x,y);

getch();

}

2.打开考生文件夹中的cprog052.c,完成其中的函数fun(),使其判断一个矩阵是否为对称矩阵,若矩阵对称返回1,不对称返回0。

说明:

矩阵a是一个二维数组,若其中的第k行第j列的元素与第j行第k列的元素相同,则称其为对称矩阵,否则为非对称矩阵。

如输入 6312如 输入6912

31883188

128734822

输出:

Yes输出:

No

#include

#include

intfun(inta[][3],intm)

{/**/

 

/**/

}

voidmain()

{inta[3][3],i,j;intb;

fun(a,20);

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf(”%d”,&a[i][j]);

b=fun(a,3);

if(b==1)printf(”Yes\n”);

elseprintf(”No\n”);

getch();

}

a第一套参考答案:

一、选择题

1.D  2.B  3.A  4.B  5.D  

6.B7.A 8.B  9.B  10.B

11.C12.A13.A14.D15.D16.D

17.B18.A19.A20.A

二、改错题

1.j=0;if((str1[i]%2==0)&&(i%2==0))

2.if((i>10)&&(i%3==0))y+=1.0/i;

三、填空题

1.longintfor

2.(float)a/b;(int)

3.p+nmax<*qnum

四、编程题

1.doubley;

y=(1+sin(x)+exp(x))/(1+x);

returny;

2.inti,j,k=0,t;

for(i=0;i

if(a[i]>-20){b[k]=c[k]=a[i];k++;}

for(i=0;i

for(j=i+1;j

if(c[i]>c[j]){t=c[i];c[i]=c[j];c[j]=t;}

returnk;

第二套参考答案:

一、选择题

1.B  2.A  3.C  4.A  5.D  

6.A  7.AC 8.B  9.D  10.A

11.B12.D13.A14.B15.C

16.B17.B18.D19.A20.A

二、改错题

1.inti,j,k;printf(“*”);

2.intfun()if(cock+hen+chicken==100)

三、填空题

1.403(b*10+a)

2.a=0,b=0;n!

=0b++;

3.0num-a

四、编程题

1.doubley;

y=(exp(x)+fabs(x-6))/(x+1.3);

returny;

2.chart[20];

if(strcmp(a,b)>0){strcpy(t,a);strcpy(a,b);strcpy(b,t);}

if(strcmp(a,c)>0){strcpy(t,a);strcpy(a,c);strcpy(c,t);}

if(strcmp(b,c)>0){strcpy(t,b);strcpy(b,c);strcpy(c,t);}

第三套参考答案:

一、选择题

1.C  2.D  3.B  4.A  5.B 

 6.A  7.A  8.B  9.B  10.C

11.D12.D13.D14.A15.B

16.D17.B18.A19.C20.A

二、改错题

1.charch;switch(ch)

2.chartab[4][2]t[j]=tab[i][1];

三、填空题

1.main()while

2.charstrstr[i]Λ15

3.floataverage(intpa[],intn);pa[k]

四、编程题

1.doubley;

if(x<5)y=exp(x)+0.9;

elseif(x==5)y=12.5;

elsey=((sin(x)-7.8)/(2*x);

returny;

2.inti,j,s=0;

for(i=101;i<=200;i++)

{for(j=2;j

if(i%j==0)break;

if(j>=i)s++;

}

returns;

第四套参考答案:

一、选择题

1.C  2.D  3.C  4.B  5.B 

 6.D  7.A  8.B  9.B  10.B

11.A12.B13.5+3=614.C15.D

16.117.C18.A19.A20.C

二、改错题

1.inti,len,sum=0;if(str1[i]>=’a’&&str[i]<=’z’)

2.scanf(“%d”,&a[i]);for(i=M-1;i>=0;i--)

三、填空题

1.charelseif

2.m-1a[j]

3.floata,floatb,floatca*a

四、编程题

1.if(x>0)return(fabs(x)+3.2)/(sin(x)+2);

elsereturn0;

2.inti,j;

a[0]=a[1]=1;

for(i=2;i

a[i]=a[i-1]+a[i-2];

第五套参考答案:

一、选择题

1.B  2.C  3.C  4.AC  5.D 

 6.A  7.B  8.D  9.B  10.A

11.A12.C13.D14.A15.C

16.B17.C18.C19.B20.D

二、改错题

1. charstr[100];sum++;

2.defineM5if(a[i]%2==0)

三、填空题

1.&xx*x

2.mk=jt

3.floatfmax(floatx,floaty,floatz);n=(y>z)?

y:

z;m=(x>n)?

x:

n;

四、编程题

1.doubley;

if(fabs(x)<700.0)y=sqrt(5.8+fabs(x))/(cos(x)+2.1);

elsey=-1;

returny;

2.该答案错误!

inti,j;

for(i=0;i

for(j=0;j

if(a[i][j]==a[j][i])return1;

elsereturn0;

应改为:

第六套参考答案:

一、选择题

1.D 2.A  3.B  4.C  5.D 

 6.A  7.A  8.C  9.D  10.D

11.C12.B13.B14.C15.B

16.C17.D18.B19.A20.C

二、改错题

1.for(i=0;i

2.Ps1=s1;while(*ps1!

=NULL)

三填空题、

1.j0sum+=a[i][0];

2.intq(left+right)/2

3.floatrsqrt(x*x+y*y)

四、编程题

1.doubley;

if(x<2)y=x;

else

if(x<5&&y>=2)y=3-tan(3.5-x);

elsey=3*log10(x)-11;

returny;

2.charcode;

floatc;

c=(f-32)*5.0/9;

if(c<0)code=’W’;

if(c>=0&&c<25)code=’B’;

if(c>=25&&c<35)code=’0’;

if(c>=35)code=’R’;

returncode;

第七套参考答案:

一、选择题

1.D 2.B  3.A  4.B  5.A 

 6.C  7.A  8.C  9.B  10.D

11.D12.B13.D14.A15.D

16.A17.D18.B19.B20.B

二、改错题

1.scanf(“%f”,&a[i]);if(a[0]+a[1]>a[2]&&a[1]+a[2]>a[0]&&a[0]+a[2]>a[1])

2.intfun()if(large+middle+small==100)

三、填空题

1.#includereturn(x*x-2*x+6);sin(x)

2.p*=i;p=p*1.0/i;

3.findmax(a,sizeof(a)/sizeof(int))max=*array或max=array[0]

四、编程题

1.doulbey;

if(x<=1600)y=0;

if(x>1600&&x<=2100)y=(x-1600)*0.05;

if(x>2100&&x<=3100)y=(x-1600)*0.1-25;

if(x>3100)y=(x-1600)*0.15-125;

returny;

2.inti,j,s=0,k=0;

for(i=0;i

for(j=0;j

if(a[i][j]<0)continue;

elseif(a[i][j]==0)break;

else{b[k++]=a[i][j];s=s+a[i][j];}

for(i=0;i

returns;

第八套参考答案:

一、选择题

1.C 2.B  3.B  4.B  5.B  6.D  7.C  8.C  9.C  10.C

11.C12.A13.D14.C15.A16.A17.D18.A19.C20.C

二、改错题

1.for(i=100;i<=200;i++)rintf(“%d\n”,i);

2.intswap(intp1,intp2)*p1=*p2;

三、填空题

1.sum=0returnsum;sum(m)

2.kj=strlen(str)-1

3.STUtempps[i].num>ps[i+1].numflag==0

四、编程题

1.doubley;

if(x<0)y=(x+2)*exp(x);

elsey=(x+2)*log(2*x);

returny;

2.char*a[5];

chart[20];

inti,j;

for(i=0;i

for(i=0;i

for(j=i+1;j

if(strcmp(a[i],a[j]>0)

{strcpy(t,a[i]);strcpy(a[i],a[j]);strcpy(a[j],t);}

第九套参考答案:

一、选择题

1.C 2.A  3.C  4.B  5.D  6.A  7.C  8.D  9.B  10.A

11.A12.B13.B14.B15.B16.A17.D18.A19.C20.D

二、改错题

1.inta=0,c=0;printf(“totalofoddnumber:

%d\n”,c-101);

2.for(z=0;z<10;z++)if(i==result)

三、填空题

1.max=min=a[0][0];max

2.s=0i+t*10

3.longfib(intn)

{if(n==1||n==2)return1;

elsereturnfib(n-1)+fib(n-2);}

四、编程题

1.doublex1,x2;

x1=(-b

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1