完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx

上传人:b****2 文档编号:2193485 上传时间:2022-10-27 格式:DOCX 页数:47 大小:43.96KB
下载 相关 举报
完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx_第1页
第1页 / 共47页
完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx_第2页
第2页 / 共47页
完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx_第3页
第3页 / 共47页
完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx_第4页
第4页 / 共47页
完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx

《完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx》由会员分享,可在线阅读,更多相关《完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx(47页珍藏版)》请在冰豆网上搜索。

完整word版湖南省历界对口高考C语言真题答案word文档良心出品.docx

完整word版湖南省历界对口高考C语言真题答案word文档良心出品

历界高考C语言真题

2007年真题

一、程序分析题

1、#include

#*

eef

24

1-2

main()

{intx=3;

do

printf(“%d”,x-=2);

while(!

(--x));

}

2、#include

main()

{intx=4,y=8,z;

z=x<<2|y;

printf(“%d”,z);

}

3、#include

main()

{charx=’E’,y=’e’;

printf(“%c”,x+32);

printf(“%c”,(x--,y++));

printf(“%c\n”,x==y?

x+=32:

(y-=32));

}

4、#include

main()

{intt=2;

while(t<5)

switch(t%2)

{case0:

t++;printf(“#”);break;

case1:

t+=2;printf(“*”);

default:

printf(“\n”);

}

}

5、#include

main()

{charstr1[50]=”Beijing2008”,*q=str1;

charstr2[50]=”OneworldOneDream!

”,*p=str2;

while(*p!

=’\0’)p++;

OneworldOneDream!

Beijing2008

while(*q!

=’\0’)*p++=*q++;

*p=’\0’;

printf(“%s”,str2);

}

6#include

#include

main()

gfedcba

{chars[]=”abcdefg”,t;

inti=0,j=strlen(s)-1;

while(i

{t=s[i],s[i]=s[j],a[j]=t;i++,j--;}

puts(s);

}

二、程序填空题

1、下面程序的功能是求1000以内的完数。

完数是指一个数的子因子之和等于这个数本身。

#include

main()

{inti,j,sum;

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

{sum=0;

for(j=1;j

if(i%j==0)

sum+=j;

if(sum==i)printf(“%d\n”,i);

}

}

2、以下程序是统计一维数组arr中小于平均值的元素个数。

#include

#defineN7

intfun(ints[],floataver)

{inti,count=0;

for(i=0;i

if(s[i]

count++;

returncount;

}

main()

{inti,arr[N]={87,34,5,78,90,66,88};

floataver=0;

for(i=0;i

aver+=arr[i];

aver=aver/N;

printf(“统计结果为:

%d”,fun(arr,aver);

}

三、程序改错题,不得增行或删行。

1、下面的程序是求,在函数fun()中存在两处错误,请标记并改正。

#include

longfun(intx)

{intm,n,t;

longsum;longsum=1;

for(m=1;m<=x;m++)

{t=1;

for(n=1;n<=m;n++)

t=m*n;t*=n;

sum+=t;

}

returnsum;

}

main()

{intnum;

scanf(“%d”,&num);

printf(“sum=%ld\n”,fun(num));

}

2、以下程序的功能是:

从字符串str中,删除所有字母c,不区分大小写。

如输入字符串”abcCdefcfCg”,删除后的字符串为”abdefg”。

程序有两错误,请标记并改正。

#include

main()

{charstr[81];

inti=0,j=0;

gets(str);

while(str[i]!

=’\0’)

{if(str[i]!

=’c’||str[i]!

=’C’){if(str[i]!

=’c’&&str[i]!

=’C’)

str[j]=str[i];str[j++]=str[i];

i++;

}

str[j]=’\0’;

printf(“%s”,str);

}

3、以下程序从一个二进制文件中读出结构体数据,并将结构体数据输出在屏幕上。

程序中有三处错误,请标记并改正。

#include

structstudent

{charname[10];

floatscore;

}stu;

main()

{file*f;{FILE*f;

if((f=fopen(“a.dat”,”r”))==NULL)

{printf(“cannotopenoutfile\n”);

exit(0);

}

while(feof(f))while(!

feof(f))

{fread(stu,sizeof(structstudent),1,f);{fread(&stu,sizeof(structstudent),1,f);

printf(“%s,%.2f\n”,stu.name,stu.score);

}

fclose(f);

}

四、程序设计题

1、已知一个数列从1项开始的前6项为:

0,0,1,1,2,4,以后的各项都是其相邻的前3项之和,计算并输出该数列前20项之和。

 

2、写一函数sort(intx[],intn)实现选择法排序(从小到大)。

 

2008年真题

一、程序分析题

1、#include

2122

9.1

8,10

main()

{chara=55;

a=~a&055;

printf(“%x,%o”,a,a);

}

2、#include

#definetest(x,y)x+y

main()

{floatc;

c=2*test(3.2,5.4)/2;

printf(“6.1f”,c);

}

3、#include

voidfun()

{intx=1;

staticinty=1;

printf(“%d%d”,++x,y++);

}

main()

{inti;

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

fun();

}

4、#include

main()

340

3

{inta=12,b=0,n=0;

do

{b+=2;a-=2+b;

n++;

}while(a>=0);

printf(“%d”,n);

}

5、#include

main()

{intn=132,i=1,j,k,b[10];

while(n!

=0)

{j=n%6;b[i]=j;

n=n/6;i++;

}

for(k=i-1;k>0;k--)

printf(“%d”,b[k]);

}

二、程序填空题

1、任意输入平面一点坐标(x,y),求该点到原点(0,0)的距离。

#include

#include

#include

typedefstructNODE

{floatx;

floaty;

}NODE;

main()

{NODE*p;

p=(NODE*)malloc(sizeof(NODE));

scanf(“%f,%f”,&p->x,&p->y);

printf(“%5.1f”,sqrt(p->x*p->x+p->y*p->y));

free(p);

}

2、下列给定程序中,函数fun()的功能是:

从N个字符串中找出最长的那个串,并将其地址作为函数值返回。

#include

#include

#defineN4

#defineM50

char*fun(char(*q)[M])

{inti;char*p;

p=*q;

for(i=0;i

if(strlen(p)

p=*(q+i);

returnp;

}

main()

{charstr[N][M]={“pingpong”,”basketball”,fieldhockey”,”softball”};

char*longest;inti;

longest=fun(str);

printf(“Thelongeststring:

\n”);

puts(longest);

}

3、下列程序定义了3×3的二维数组,并在主函数中自动赋值;函数fun的功能是使二维数组的上三角元素的值全部置0。

调用函数前调用函数后

123100

246240

369369

#include

voidfun(intn,inta[][3]);

main()

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

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

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

a[i-1][j-1]=i*j;

fun(3,a);

printf(“theresult:

\n”);

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

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

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

printf(“\n”);

}

}

voidfun(intn,inta[3][3])

{inti,j;

for(i=0;i

for(j=i+1;j

a[i][j]=0;

}

三、程序改错题,不得增行或删行。

1、下列程序的功能是求分数序列:

的前8项之和。

程序中有2处错误,请标记并改正。

#include

main()

{inti,flag=1;

floata=144,b=89,s=0,t;

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

{s+=a/b;{s+=flag*b/(a-b);

flag=-flag;

t=b;a=a-b;a=t;t=b;b=a-b;a=t;

}

printf(“%5.1f”,s);

}

2、下列程序的功能是采用简单插入的排序方法,随机产生10个整数,按从小到大的顺序排列。

程序中有2处错误,请标记并改正。

#include

#include

main()

{inti,

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

当前位置:首页 > 人文社科 > 法律资料

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

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