浙江省等级考试二级C语言2004年秋试卷及答案

2004年秋浙江省高校计算机等级考试试卷

(二级C)

试题三、程序填空题(每空2分,共20分)

说明:阅读下列程序说明和相应程序(段),在每小题提供的若干可选答案中,挑选一个正确答案。

程序1、【程序说明】

输入一批以-1结束的整数,求偶数和。

【程序】

# include < stdio.h >

void main ( )

{ int x , sum ; sum = 0 ;

scanf ( "%d" , &x ) ;

B{

if (C) sum = sum + x ;

A;

}

printf ( "sum = %d" , sum ) ;

}

(36)A、while ( x == -1 ) B、while ( x != -1 ) C、if ( x == -1 ) D、if ( x != -1 )

(37)A、x == 2 B、x % 2 == 2 C、x % 2 == 0 D、x / 2 == 0

(38)A、scanf ( "%d" , &x ) B、scanf ( "%d" , x ) C、sum = 0 D、x = sum

程序2、【程序说明】

a是一个3×3的矩阵,输入a的元素,如果a是一个下三角矩阵,输出“YES”,否则,输出“NO”。(下三角矩阵,即主对角线以上的元素都为0,主对角线为从矩阵的左上角至右下角的连线)

【程序】

# include < stdio.h >

void main ( )

{ int flag , i , k ; int a [ 3 ] [ 3 ] ;

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

for ( k = 0 ; k < 3 ; k ++ ) scanf ( "%d" , &a [ i ][ k ] ) ;

D;

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

for ( k = i + 1 ; k < 3 && flag ; k ++ ) if (C) A;

if ( flag ) printf ( "YES\n" ) ;

else printf ( "NO\n" ) ;

}

(39)A、flag = 0 B、flag == 0 C、flag == 1 D、flag = 1

(40)A、a [ k ][ i ] != 0 B、a [ i ][ k ] == 0 C、a [ i ][ k ] != 0 D、a [ k ][ i ] == 0 (41)A、flag = 0 B、flag ==0 C、flag == 1 D、flag = 1

程序3、【程序说明】

输入一个字符串,将其中的大写字母转换为小写字母后输出。

【程序】

# include < stdio.h >

void main ( )

{ char str [ 80 ] ; int k ; gets ( str ) ;

for ( k = 0 ; str [ k ] != '\0' ; i ++ ) if (C) D;

puts ( str ) ;

}

(42)A、'A' <= str [ k ] <= 'Z' B、str [ k ] > 'A' && str [ k ] < 'Z'

C、str [ k ] >= 'A' && str [ k ] <= 'Z'

D、str [ k ] >= 'A' || str [ k ] <= 'Z'

(43)A、str [ k ] = str [ k ] – 32 B、str [ k ] = str [ k ] – 'a' + 'A'

C、tolower (str [ k ] )

D、str [ k ] = str [ k ] – 'A' + 'a'

程序4、【程序说明】

请仔细阅读函数f1,然后在函数f2中填入正确的内容,使函数f1和函数f2有相同的功能。【程序】

int f1 ( char s [ ] ) int f2 ( char *s )

{ int k = 0 ; { char *ss ;

B;

while ( s [ k ] != '\0' ) k++ ; while ( *s != '\0' ) s++ ;

return k ; return C;

} }

(44)A、s = ss B、ss = s C、ss = NULL D、s = NULL

(45)A、ss – s B、s – ss – 1 C、s – ss D、s – s + 1

试题四、程序阅读题(每题5分, 共15分)

说明:阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。

1、程序1

# include < stdio.h >

void main ( )

{ int j , k ; float f , s ;

s = 0 ; f = 1 ;

for ( k = 1 ; k <= 3 ; k ++ ){

for ( j = 1 ; j < k ; j ++ ) f = f * k ;

s = s + f ;

printf ( "%.0f#" , s ) ;

}

}

2、程序2

# include < stdio.h >

void main ( )

{ long fun ( long number ) ;

printf ( "%ld\n" , fun (-974) ) ;

}

long fun ( long number )

{ int flag ; long res = 0 ;

flag = number < 0 ? –1 : 1 ;

if ( number < 0 ) number = - number ;

while ( number != 0 ){

res = res * 10 + number % 10 ;

number /= 10 ;

printf ( "%d#" , res ) ;

}

return flag * res ;

} 4#47#479#-497

3、程序3

# include < stdio.h >

# include < stdlib.h >

void main ( )

{ FILE *in ; char *string1 = "IF YOU FAIL TO PLAN" ;

char *string2 = "YOU PLAN TO FAIL" ;

if ( ( in = fopen ( "file1.txt" , "w" ) ) != NULL )

while ( *string2 != '\0' ) fputc ( *string2++ , in ) ;

fclose ( in ) ;

if ( ( in = fopen ( "file1.txt" , "r" ) ) != NULL )

while ( fgetc ( in ) != EOF ) putchar ( *string1++ ) ;

fclose ( in ) ;

}

试题五、程序设计题(每题10分,共20分)

1、输入10个整数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。

#include

#include

void main()

{

int a[10],i,t,j;

printf("input 10 numbers\n");

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

scanf("%s",a);

t=abs(a[0]);

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

if(t>abs(a[i])){t=abs(a[i]);j=i;}

printf("%d",j);

a[j]=a[9];a[9]=t;

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

printf("%d\t",a[i]);

}

2、输入一个正实数x和一个正整数n,求下列算式的值。要求定义和调用2个函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即x n),2个函数的返回值类型都是double。

浙江省等级考试二级C语言2004年秋试卷及答案

2004年秋省计算机等级考试参考答案(二级C)

试题三程序填空题(每空2分,共20分)

程序1 36. B 37. C 38. A

程序2 39. D 40. C 41. A

程序3 42. C 43. D

程序4 44. B 45. C

试题四程序阅读题(每题5分, 共15分)

程序1 1#3#21#

程序2 4#47#479#-479

程序3 IF YOU FAIL TO P

试题五程序设计题(每题10分,本题共20分)

相关文档