文档视界 最新最全的文档下载
当前位置:文档视界 › 2002年辽宁专升本考试真题-C语言部分

2002年辽宁专升本考试真题-C语言部分

2002年辽宁专升本考试真题-C语言部分
2002年辽宁专升本考试真题-C语言部分

2002年高职高专毕业生升入本科学校考试计算机试题

第二部分C语言

三、填空题

1、算术表达式3*7%2+7%2*5的结果为。

2、C语言中十六进制的整型常量是以开头。

3、当说明一个结构体变量时,系统分配给它的内存空间大小是。

四、阅读程序题

1、int a=8,b=5;

main( )

{ a=3;b=9;

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

}

运行结果为

2、int abc(int x)

{ static int s=0;

s+=x;

returns;

}

main( )

{ int i,k;

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

k=abc(i);

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

}

运行结果为

3、void f(int p[],int n)

{ int i;

for(i=0;i

p[i]+=i;

}

main( )

{ int array[6]={0,1,2,3,4,5};

int i;

f(array,6);

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

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

}

运行结果为

4、main( )

{ int a=0,j;

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

switch(j)

{ case 0:

case 3: a+=2;break;

case 1:

case 2: a+=3;break;

default:a+=1;

}

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

}

运行结果为

5、main( )

{ int a;

scanf( “%d”,&a);

if(a>50) printf(“a=%d\n”,a);

if(a>40) printf(“a=%d\n”,a);

if(a>30) printf(“a=%d\n”,a);

}

若输入数据为45,则运行结果为

6、main( )

{ char s[80]=”I am a student”;

int i,j;

for(i=j=0;s[i]!=’\0’;i++)

if(s[i]!=’a’)

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

s[j]=’\0’;

puts(s);

}

运行结果为

五、完善程序题

1、输入一个字符,统计其中英文字母、数字和其它字符的个数。

main( )

{ char c[80];

int m=0,digit=0,letter=0,other=0;

scanf(“%s”,c);

while(c[m]!=’\0’)

{if( ) letter++;

else if(c[m]<=’9’&&(c[m]>=’0’) digit++;

else other++;

m++;

}

printf(“letter=%d,digit=%d,other=%d\n”,letter,digit,other);

}

2、下面函数用来计算x y,其中y为整型变量且y大于0。

float power( int *a,int n )

{ int *p,max;

max=*a;

for(p=a+1;p

if( ) max=*p;

return max;

}

main( )

{ int x[10],j;

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

scanf(“%d”,&x[j]);

printf(“%d\n”,findmax(x,10));

}

4、打印杨辉三角形(要求输出前10行)。每一行除第一个和最后一个数据值为1外,其余列上数据值为其上一行当前列与前一列数据之和。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

……

#define N 11

main( )

{ int i,j,a[N][N];

for(i=1;i

{ a[i][1]=1;a[i][i]=1;}

for(i=3;i

for(j=2;j

a[i][j]= ;

for(i=1;i

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

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

printf(“\n”);

}

}

5、已知有序字符串s,下面的程序是将字符串s中的每一个字符按升序的规则插入到a中。

#include “stdio.h”

main( )

{ char s[20] =”cehiknqtw”;

char s[]=”fbla”;

int i,j,k;

for( k=0;s[k]!=’\0’;k++)

{j=0;

while(s[k]>=a[j]&& a[j]!=’\0’) j++;

for( i=strlen(a);i>=j;i- -)

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

a[j]= ;

}

puts(a);

}

6、求二维数组中的最大值及其所在的行列坐标。

#define N 4

#define M 3

main( )

{ int a[N][M]={{4,8,2},{3,7,10},{78,34,2},{70,76,34}};

int max,j,k;

int row=0,colum=0;

max=a[0][0];

for(j=0;j

for(k=0;k

if(a[j][k]>max)

{ row=j;colum=k;

;

}

printf(“max=%d,row=%d,colum=%d\n”,max,row,colum);

}

7、以下程序把从键盘输入的字符存放到一个文件中(用字符’#’作为结束输入的标志)。

#include “stdio.h”

main( )

{ FILE *fp;

char ch,fname[10];

printf(“Input the name of file \n”);

gets(fname);

if((fp=fopen(fname,”w”))= =NULL)

{ printf(“Cannot open \n”);

exit(0);

}

while((ch=getchar( ))!=’#’)

fputc( ,fp);

}

六、程序改错题

1、下面程序可以将输入的数字月份转换为英文形式输出。

(1) main( )

(2) { char *mon[12]={“jan”,”feb”,”mar”,”apr”,”may”,”jun”,

(3) “jul”,”aug”,”sep”,”oct”,”nov”,”dec”};

(4) int n;

(5) scanf(“%d”,&n);

(6) if (n>0&&n<=12)

(7) printf(“%s\n”,*(mon+n-1));

(8) else

(9) printf(“error\n”);

(10) }

错误行为:

改为:

2、利用函数求变量a、b的和。

(1) main( )

(2) { int max( ),a,b,c;

(3) int(*p)( );

(4) scanf(“%d,%d”,&a,&b);

(5) p=max;

(6) c=p(a,b);

(7) printf(“c=%d\n”,c);

(8) }

(9) int max( int x,int y )

(10) { int s;

(11) s=x+y;

(12) return s;

(13) }

错误行为:

改为:

3、求1!+2!+3!+…+n!≤50000的最大正整数n。

(1) main( )

(2) { int n;

(3) int fac=sum=1;

(4) for( n=2;;n++ )

(5) {fac*n;sum+=fac;

(6) if(sum>=50000) break;

(7) }

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

(9) else printf(“n=%d\n”,n-1);

(10) }

错误行为:

改为:

4、下面程序计算数组a中各下标变量的总和,并将其存放到a[0]中。

(1) main( )

(2) { int a[3]=[1];

(3) int i;

(4) scanf( “%d”,&a);

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

(6) a[0]=a[0]+a[i];

(7) printf( “a[0]=%d\n”,a[0]);;

(8) }

错误行为:

改为:

扫描二维码立即获取答案

相关文档
相关文档 最新文档