福建省二级C模拟题 1Word下载.docx

上传人:b****5 文档编号:8455757 上传时间:2023-05-11 格式:DOCX 页数:18 大小:38.60KB
下载 相关 举报
福建省二级C模拟题 1Word下载.docx_第1页
第1页 / 共18页
福建省二级C模拟题 1Word下载.docx_第2页
第2页 / 共18页
福建省二级C模拟题 1Word下载.docx_第3页
第3页 / 共18页
福建省二级C模拟题 1Word下载.docx_第4页
第4页 / 共18页
福建省二级C模拟题 1Word下载.docx_第5页
第5页 / 共18页
福建省二级C模拟题 1Word下载.docx_第6页
第6页 / 共18页
福建省二级C模拟题 1Word下载.docx_第7页
第7页 / 共18页
福建省二级C模拟题 1Word下载.docx_第8页
第8页 / 共18页
福建省二级C模拟题 1Word下载.docx_第9页
第9页 / 共18页
福建省二级C模拟题 1Word下载.docx_第10页
第10页 / 共18页
福建省二级C模拟题 1Word下载.docx_第11页
第11页 / 共18页
福建省二级C模拟题 1Word下载.docx_第12页
第12页 / 共18页
福建省二级C模拟题 1Word下载.docx_第13页
第13页 / 共18页
福建省二级C模拟题 1Word下载.docx_第14页
第14页 / 共18页
福建省二级C模拟题 1Word下载.docx_第15页
第15页 / 共18页
福建省二级C模拟题 1Word下载.docx_第16页
第16页 / 共18页
福建省二级C模拟题 1Word下载.docx_第17页
第17页 / 共18页
福建省二级C模拟题 1Word下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

福建省二级C模拟题 1Word下载.docx

《福建省二级C模拟题 1Word下载.docx》由会员分享,可在线阅读,更多相关《福建省二级C模拟题 1Word下载.docx(18页珍藏版)》请在冰点文库上搜索。

福建省二级C模拟题 1Word下载.docx

9.设有整型变量x,下述语句(b )不会出现死循环。

 A)for(;

;

x+=1);

B)for(;

(x=getchar())!

=’\n’;

);

C)while

(1){x++;

}D)for(x=10;

x--);

10.C语言中数组元素下标的数据类型是(b )。

 A)实型常量B)整型常量或整型表达式

C)任何类型的表达式D)字符型常量

11.设有如下程序段:

  inta[3][3]={1,0,2,1,0,2,1,0,1},i,j,s=0;

for(i=0;

i<

3;

i++)

for(j=0;

j<

i;

j++)

s=s+a[i][j];

则执行该程序段后,s的值是(c )。

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

12.设有以下变量定义:

  charstr1[]=”string”,str2[8],*str3,*str4=”string”;

(a )是正确的。

  A)strcpy(str1,”China”);

B)str2=”China”;

C)strcpy(*str3,”China”);

D)strcpy(str4[0],”China”);

13.设有如下函数定义:

  intfun(char*str)

{char*p=str;

while(*p!

=’\0’)p++;

return(p-str);

}

则以下语句执行后的输出结果是( a)。

printf(”%d\n”,fun(”Student”));

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

14.若有以下宏定义,

#defineMOD(x,y)x%y

则执行以下程序段后,z的值是(d )

intz,a=15,b=100;

z=MOD(b,a);

A)100B)15C)11D)10

15.设有以下语句,则(d )是对a数组元素的不正确引用,其中0≤i<

10。

inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

A)a[p-a]B)*(&

a[i])C)p[i]D)*(*(a+i))

16.若有以下程序段,且0≤i<

4,0≤j<

3,则不能正确访问a数组元素的是(d )。

inti,j,(*p)[3];

inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12};

p=a;

A)*(*(a+i)+j)B)p[i][j]C)(*(p+i))[j]D)p[i]+j

17.以下程序段的运行结果是(b )。

union

{intnum;

charstr[2];

}s;

s.num=20;

s.str[0]=’A’;

s.str[1]=’\0’;

printf(”%d”,s.num);

A)20B)65C)0D)A

18.若有以下定义:

structlink

{intdata;

structlink*next;

}*head,*p;

并已建立如下图所示的链表结构:

  head…

指针p指向如下结点:

   p

则能够把p所指结点插入到链表中成为链表第2个结点的程序段是( a)。

A)p->

next=head->

next;

head->

next=p;

B)head->

p->

C)p.next=head.next;

head.next=p;

D)(*head).next=p;

(*p).next=(*head).next;

19.对枚举类型进行定义,不正确的是( a)。

A)enumb{1,2,3}B)enuma{A,B,C};

C)enumc{D=3,E,F}D)enumd{X=0,Y=5,Z=9};

20.以下程序的功能是(a )。

#include<

stdio.h>

main()

{FILE*fp;

longintn;

fp=fopen(”wj.txt”,”rb”);

n=ftell(fp);

fclose(fp);

printf(”%ld”,n);

A)计算文件wj.txt的起始地址B)计算文件wj.txt的终止起始地址

C)计算文件wj.txt内容的字节数D)将文件指针定位到文件末尾

二、改错题

改错题:

共2小题,每题10分,说明如下:

  

(1)修改程序在每对“/**/”之间存在的错误;

(2)不得删改程序中所有的“/**/”注释和其它代码;

(3)源程序均在考生文件夹中,务必以原文件名保存程序;

(4)按Alt+Tab键,切换考试程序与TurboC;

按Alt+Enter键,切换TurboC窗口大小。

1.程序cmody011.c的功能是:

从字符串数组str1中取出ASCII码值为偶数且下标为偶数的字符依次存放到字符串t中。

  例如,若str1所指的字符串为:

4AZ18c?

Ge9a0z!

则t所指的字符串为:

4Z8z

  注意:

数组下标从0开始。

#include<

math.h>

string.h>

conio.h>

voidmain()

{charstr1[100],t[200];

inti,j;

/**/i=0;

/**/

clrscr();

strcpy(str1,”4AZ18c?

”);

strlen(str1);

/**/if((str1[i]%2==0)&

(i%2!

=0))/**/

{

t[j]=str1[i];

j++;

}

}

t[j]=’\0’;

printf(”\nOriginalstring:

%s\n”,str1);

printf(”\nResultstring:

%s\n”,t);

2.程序cmody012.c中,函数fun(intn)的功能是:

根据参数n,计算机大于10的最小n个能被3整除的正整数的倒数之和。

例如:

#include<

#defineM50

doublefun(intn)

{doubley=0.0;

j=0;

for(i=1;

{

/**/if((i<

10)&

(i%3==0))/**/

{

/**/y+=1/j;

/**/

if(j==n)break;

returny;

{clrscr();

printf(”fun(8)=%8.3lf\n”,fun(8));

三、填空题

填空题:

共3小题,每题8分,说明如下:

(1)编写程序,补充在每对“/**/”之间的空白处,以完成题目的要求;

(3)源程序均在考生文件中;

务必以原文件名保存程序;

(4)按Alt+Tab键,切换考试程序与TurboC;

1.补充程序Ccon011.c,该程序的功能是计算阶乘。

main()

{/**//**/p;

inti;

p=1;

/**//**/(i=1;

=8;

p=p*i;

printf(“\np=%ld”,p);

getch();

2.补充程序Ccon012.c,该程序的功能是对输入的两个整数,按实数相除,输出它们的商和商的第二位小数。

inta,b,c;

floatf;

printf(“Pleaseinputab:

scanf(”%d%d”,&

a,&

b);

f=/**//**/;

c=/**//**/(f*100)%10;

printf(“\na/b=%fTheseconddecimalplaceis:

%d\n”,f,c);

getch();

3.补充程序Ccon013.c,程序实现从10个数中找出最大值和最小值。

stdlib.h>

intmax,min;

voidfind_max_min(int*p,intn)

int*q;

max=min=*p;

for(q=p;

q<

/**//**/;

q++)

if(/**//**/)max=*q;

elseif(min>

*q)min=*q;

inti,num[10];

printf(”Input10numbers:

10;

i++)scanf(”%d”,&

num[i]);

find_max_min(/**//**/,10);

printf(”max=%d,min=%d\n”,max,min);

四、编程题

编程题:

共2小题,每题11分,说明如下:

(1)在一对“/**/”之间编写程序,以完成题目的要求;

1.打开考生文件夹中的cprog011.c,完成其中的函数fun1,该函数的数学表达式是:

fun1(0.76)=2.175fun1(3.00)=5.307fun1(3.76)=9.111

doublefun1(doublex)

{/**/

printf(”fun1(0.76)=%8.3lf\n”,fun1(0.76));

printf(”fun1(3.00)=%8.3lf\n”,fun1(3.00));

printf(”fun1(3.76)=%8.3lf\n”,fun1(3.76));

2.打开考生文件夹中的cprog012.c,完成其中的函数fun2(inta[],intn,intb[],intc[]),实现:

1)将数组a中大于-20的元素依次存放到数组b中;

2)将数组b中的元素按照从小到大的顺序存放到数组c中;

3)函数返回数组b中的元素个数。

intfun2(inta[],intn,intb[],intc[])

{intn=10,i,nb;

intaa[10]={12,-10,-31,-18,-15,50,17,15,-20,20};

intbb[10],cc[10];

printf(”Thereare%2delementsinaa.\n”,n);

printf(”Thereare:

n;

i++)printf(”%6d”,aa[i]);

printf(”\n”);

nb=fun2(aa,n,bb,cc);

printf(”Elementsinbbare:

nb;

i++)printf(”%6d”,bb[i]);

printf(”Elementsinccare:

i++)printf(”%6d”,cc[i]);

printf(”\n”);

printf(”Thereare%2delementsinbb.\n”,nb);

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>

(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);

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

if(a[i]>

-20){b[k]=c[k]=a[i];

k++;

k-1;

for(j=i+1;

k;

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

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

2.chart[20];

if(strcmp(a,b)>

0){strcpy(t,a);

strcpy(a,b);

strcpy(b,t);

if(strcmp(a,c)>

strcpy(a,c);

strcpy(c,t);

if(strcmp(b,c)>

0){strcpy(t,b);

strcpy(b,c);

第三套参考答案:

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]

if(x<

5)y=exp(x)+0.9;

elseif(x==5)y=12.5;

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

2.inti,j,s=0;

for(i=101;

=200;

{for(j=2;

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]<

a[j+1]

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;

m;

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:

1.doubley;

if(fabs(x)<

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

elsey=-1;

2.该答案错误!

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

应改为:

第六套参考答案:

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;

len;

i++)str2[i]=’\0’;

2.Ps1=s1;

while(*ps1!

=NULL)

三填空题、

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

2.intq(left+right)/2

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

2)y=x;

else

5&

y>

=2)y=3-tan(3.5-x);

elsey=3*log10(x)-11;

2.charcode;

floatc;

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

if(c<

0)code=’W’;

if(c>

=0&

c<

25)code=’B’;

=25&

35)code=’0’;

=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”,&

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.#include<

return(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;

=1600)y=0;

if(x>

1600&

x<

=2100)y=(x-1600)*0.05;

2100&

=3100)y=(x-1600)*0.1-25;

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

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

ROW;

COL;

if(a[i][j]<

0)continue;

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

else

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2