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

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

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

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

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

福建省二级C模拟题10

一、选择题

1.C语言中,复合语句的构成是将一系列语句置于( )。

A)begin与end之间B)一对圆括号”()”之间

C)一对圆括号”{}”之间D)一对圆括号”[]”之间

2.C语言的字符型数据在内存中的存储形式是( )。

  A)原码B)补码C)反码D)ASCII码

3.下面关于C语言变量的叙述中,错误的是( )。

  A)可以用const关键字定义变量B)在C程序中,SUM和sum是不同的变量

C)变量名必须由字母或下划线开头D)变量的类型确定了变量的取值范围

4.若有定义:

inti=3,k;则语句k=(i--)+(i--);运行后k的值是( )。

  A)4B)5C)6D)7

5.若已定义:

inta=5;floatb=63.72;以下语句中能输出正确值的是()。

A)printf(“%d%d”,a,b);B)printf(”%d%.2f”,a,b);

C)printf(”%.2f%.2f”,a,b);D)printf(”%.2f%d”,a,b);

6. C语言中,能正确表示条件10

  A)1010||x<20C)x>10&&<20D)(x>10)&&(x<20)

7.在下列运算符中,优先级最高的运算符是().

A)<=B)!

=C)!

D)||

8. 下面关于switch语句的叙述中,错误的是( )。

A)case后面的表达式可以是关系表达式

B)switch语句是多分支选择语句

C)每一个case后面的值必须互不相同,否则会出现互相矛盾的现象

D)在执行一个case分支后,可用一个break语句使流程跳出switch语句

9.以下程序段执行后变量sum的值为( )。

inti,j=1,sum=0;

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

{sum+=j;

j++;}

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

10.下面关于数组的叙述中,正确的是( )。

A)数组必须先定义,然后使用B)定义数组时,可不加类型说明符

C)定义数组后,可通过赋值运算符”=”对该数组名直接赋值D)在数据类型中,数组属基本类型

11.以下程序段运行后s的值是( )。

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

inti,,j,s=1;

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

for(j=i+1;j<3;j++)

s*=a[i][j];

A)6B)120C)24D)480

12.已有定义:

charstr[15]={”university”},str2[15];则以下语句中正确的是( )。

  A)str2=str1;B)str2=”college”;C)scanf(”%s”,&str2);D)printf(”%s”,str1);

13.下面程序的输出结果是( )。

fun(intx,inty)

{intz;

z=(x

(x+y):

(x-y);

return(z);}

main()

{inta=10,b=6;

printf(“%d\n”,fun(a,b));

}

A)4B)16C)10D)6

14.下面程序的输出结果是( )

#defineADD(x)x+x

main()

{intm=1,n=2,k;

k=ADD(m+n)*3;

printf(”%d”,k);}

A)9B)10C)12D)18

15.若有定义inta[2][3],*p=a;,则以下不能表示数组元素a[1][2]的是( )。

A)*(a[1]+2)B)*(p[1]+2)C)p[5]D)*(p+5)

16.下面程序段的运行结果是( )

intx[]={2,3,4,5,6,7},*p=x;

inti,s=0;

for(i=1;i<6;i+=2)s+=*(p+i);

printf(”%d”,s);

A)27B)25C)12D)15

17.设有如下语句:

structstudent

{intnum;

intage;

};

structstudentstu[3]={{101,18},{102,21},{103,19}};

structstudent*p=stu;

则下面表达式的值为102的是( )。

A)(p++)-->numB)(p++)-->ageC)(*p).ageD)(*++).num

18.若有如下定义,

structlink

{intdata;

structlink*next;

}*head,*p;

并已建立如下图所示的链表结构,指针p和q分别指向图中所示结点:

pq

data

  … 

则不能将指针q所指的结点连接到链表末尾的程序段是( )。

A)q->next=NULL;p=p->next;p->next=q;

B)p=p->next;q->next=p->next;p->next=q;

C)p=p->next;q->next=p;p->next=q;

D)p=(*p).next;(*q).next=(*p).next;(*p).next=q;

19.若有以下类型说明,则( )是正确的叙述。

typedefunion

{charstr[2];

inti;

}sp;

A)sp是一个共用体变量B)sp是一个共用体类型名

C)unionsp是共用体类型名D)typedefunion是共用体类型名

20.对下面程序正确的描述是( )。

#include

main()

{inti;

FILE*fp;

if((fp=fopen(“test.dat”,”rb+”))!

=NULL)

{i=fgetc(fp);i=i+1;}

fseek(fp,0,SEEK_SET);

fputc(i,fp);

fclose(fp);

}

A)将文件中第一个字节的内容加1并重新写入到第一个字节

B)将文件中第一个字节的内容加1并写入到第二个字节中

C)以只读方式打开文本文件test.dat

D)以只读方式打开二进制文件test.dat

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

1.程序cmody101.c,其功能是求计算如下所示的数学表达式:

  

如:

输入a,b,c三个值:

6,3,2 则输出:

s=2.16

#include

#defineF(x)(x*x-2.3*x+5.6)/(x+8.2)

voidmain()

{/**/floata,b,c;/**/

printf(”\nPleaseinputa,b,c”);

/**/scanf(”%f,%f,%f”,a,b,c);/**/

/**/s=F(a,b,c);/**/

printf(”\ns=%.2f\n”,s);

getch();

}

2.程序cmody102.c其功能是实现打印出所有的“水仙花数”。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

#include

voidmain()

{intf,s,t,n;

printf(”\nThelistis:

\n”);

for(n=100;n<1000;n++)

{f=n%10;

s=(n%100)/10;

/**/t=n%100;/**/

/**/if(t*t*t+s*s*s+f*f*f=n)/**/

printf(”%d”,n);

getch();

}

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

1.补充程序Ccon101.c,该程序的功能是计算三个学生的总成绩和平均成绩,其中三个学生的成绩存储在一个结构体数组中。

main()

{structstu

{charname[10];

floatscore;};

/**//**/stu[3]={”Mary”,76,”John”,85,”Tom”,81};

inti=0;

floattotal=0,aver=0;

while(i<3)

{total=total+/**//**/;

i++;}

aver=total/3

printf(”\ntotal=%.2f,aver=%.2f”,total,aver);

getch();

}

2.补充程序Ccon102.c,该程序的功能是找出数组中的最小数min1和次最小数min2。

main()

{inti,a[10]={9,26,35,8,6,19,69,3,5,95};

intmin1,min2;

i=0;

min1=a[0]

a[0]:

a[1];

min2=a[0]>a[1]?

/**//**/

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

{if(a[i]

{min2=min1;min1=a[i];}

elseif(a[i]

/**//**/

}

printf(“min1=%d,min2=%d\n”,min1,min2);

getch();

}

3.补充程序Ccon103.c,使其实现用递归算法求平方根。

求平方根的迭代公式如下:

#include

main()

{doublex,y;

/**//**/

printf(”Pleaseinputx:

\n”);

scanf(”%lf”,&x);

y=mysqrt(x,1.0);

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

getch();

}

doublemysqrt(doublea,doublex0)

{doublex1,y;

x1=/**//**/

if(fabs(x1-x0)>0.00001)y=mysqrt(/**//**/);

elsey=x1;

return(y);}

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

1.打开程序cprog101.c,完成其中的fun()函数,该函数的功能是:

根据输入的x和n的值,计算

,将计算结果存入数组元素a[0]中,并将该计算结果的小数部分存入a[1]中。

#include

voidfun(doublea[],doublex,intn)

{/**/

 

/**/

}

voidmain()

{intn;

doublea[2],x;

printf(”\nPleaseenterx,n:

”);

scanf(”%lf,%d”,&x,&n);

while(x<1.0||x>2.0||x<0||x>15)

{printf(”\nInvaiddata(1.0<=x<=2.0,0

”);

scanf(”%lf,%d”,&x,&n);}

fun(a,x,n);

printf(”\nResult:

a[0]=%f,a[1]=%f”,a[0],a[1]);

getch();

}

2.打开程序cprog102.c,完成其中的fun()函数,该函数的功能是:

将已按升序排列好的数组a和已按降序排列好的数组b中的所有元素按降序存入数组c中。

#defineN6

#defineM9

voidfun(inta[],intb[],intc[])

{/**/

 

/**/

}

main()

{inta[N]={2,5,8,10,18,24},b[M]={96,88,70,36,24,18,11,10,2};

intc[N+M],n;

fun(a,b,c);

printf(”Theresultis:

”);

for(n=0;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

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

当前位置:首页 > 农林牧渔 > 林学

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

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