湖南省历界对口高考C语言真题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2007年真题

一、程序分析题

1、#include <>

main( ) { int x=3; do

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

2、#include <> main( )

{ int x=4,y=8,z; z=x<<2|y;

printf(“%d ”,z); }

3、#include <> main( )

{ char x=’E ’,y=’e ’; printf(“%c ”,x+32);

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

printf(“%c\n ”,x==y?x+=32:(y-=32)); } 4、#include <> main( ) { int t=2; while(t<5) switch(t%2)

{ case 0: t++;printf(“#”);break; case 1: t+=2;printf(“*”); default:printf(“\n ”);

} }

5、#include <> main( )

{ char str1[50]=”Beijing 2008”,*q=str1;

char str2[50]=”One world One Dream!”,*p=str2; while(*p!=’\0’) p++;

while(*q!=’\0’) *p++=*q++; *p=’\0’; printf(“%s ”,str2); }

6 #include <> #include<>

main( )

{ char s[]=”abcdefg ”,t; int i=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( )

{ int i,j,sum;

for(i=1; i<1000 ;i++) { sum=0;

for(j=1;j

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

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

#include<>

#define N 7

int fun(int s[],float aver) { int i,count=0;

for(i=0;i

}

main( )

{ int i,arr[N]={87,34,5,78,90,66,88}; float aver=0; for(i=0;i

printf(“统计结果为:%d ”, fun(arr,aver ); }

三、程序改错题,不得增行或删行。 1、下面的程序是求

∑=m

1

!n n

,在函数fun()中存在两处错误,请标记并改正。 #include<>

long fun(int x)

{ int m,n,t;

long sum; long sum=1;

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

{ t=1;

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

t=m*n; t*=n;

sum+=t;

}

return sum;

}

main( )

{ int num;

scanf(“%d”,&num);

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

}

2、以下程序的功能是:从字符串str中,删除所有字母c,不区分大小写。如输入字符串”abcCdefcfCg”,删除后的字符串为”abdefg”。程序有两错误,请标记并改正。

#include<>

main( )

{ char str[81];

int i=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<>

struct student

{ char name[10];

float score;

}stu;

main( )

{ file *f; { FILE *f;

if((f=fopen(“”,”r”))==NULL)

{ printf(“cannot open outfile\n”);

exit(0);

}

while(feof(f)) while(!feof(f))

{ fread(stu,sizeof(struct student),1,f); { fread(&stu,sizeof(struct student),1,f);

printf(“%s,%.2f\n”,,;

}

fclose(f);

}

四、程序设计题

1、已知一个数列从1项开始的前6项为:0,0,1,1,2,4,以后的各项都是其相邻的前3项之和,计算并输出该数列前20项之和。

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

2008年真题

一、程序分析题

1、#include <>

main( )

{ char a=55;

a=~a&055;

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

}

2、#include <>

#define test(x,y) x+y

main( )

{ float c;

c=2*test,/2;

printf(“”,c);

}

3、#include <>

void fun( )

{ int x=1;

static int y=1;

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

main( )

相关文档
最新文档