C语言第八章函数测试
试卷编号:313
所属语言:C语言
试卷方案:第八章函数
试卷总分:100分
共有题型:4种
一、填空 共12题 (共计48分)
第1题 (4.0分) 题号:824
以下程序运行后输出结果为【1】.(2007年春江苏省二级C)
#include"stdio.h"
int mystery(int a,int b)
{
if(b==1) retutn a;
else return a+mystery(a,b-1);
}
void main()
{ int x=5,y=3; printf("%d\n",mystery(x,y));}
答案:
=======(答案1)=======
15
第2题 (4.0分) 题号:820
以下程序运行时,输出结果是【1】.(2006年春江苏省二级C)
#include
main()
{ int s,i,sum(int);
for(i=1;i<=5;i++)
s=sum(i);
printf("%d\n", s);
}
sum(int k)
{ static int x=0;
return x+=k;
}
答案:
=======(答案1)=======
15
第3题 (4.0分) 题号:823
以下程序运行后输出结果为【1】.(2007年春江苏省二级C)
#include"stdio.h"
int a;
int m(int a)
{ static int s; return(++s)+(--a);}
void main()
{ int a=2; printf("%d",m(m(a)));}
答案:
=======(答案1)=======
3
第4题 (4.0分) 题号:821
以下程序运行时,输出结果为【1】.(2006年春江苏省二级C)
#include
main( )
{ printf("%d\n",f(21,35));}
int f(int a,int b)
{ if(a==b)return a;
else
if(a>b) return f(a-b,b);
else return f(a,b-a);
}
答案:
=======(答案1)=======
7
第5题 (4.0分) 题号:819
以下程序运行时输出的结果的第二行是【1】,第四行是【2】,第六行是【3】.
(2005年春江苏省二级C)
#include
void change( int s[3][3] , int d )
{ int i , j , k ;
if( d== 0 )
{ for( i = 0 ; i<3; i++)
for( j = i+1 ; j<3 ; j++)
{ k = s[i][j] ; s[i][j] = s[j][i] ; s[j][i] = k ; }
}
else
for( i = 0 ; i<3 ; i++)
for( j = 0 ; j<3-i ; j++)
{ k = s[i][j] ; s[i][j] = s[2-j][2-i] ; s[2-j][2-i] = k ; }
}
main()
{ int s[3][3] = ( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ) , I , j , k , n ;
change( s , 0 ) ;
for( i = 0 ; i<3 ; i++)
{ for( j = 0 ; j<3 ; j++) printf("%4d" , s[i][j]) ;
printf("\n") ;
}
change( s , 1 ) ;
for( i = 0 ; i<3 ; i++)
{ for( j = 0 ; j<3 ; j++) printf("%4d" , s[i][j] ) ;
printf("\n") ;
}
}
答案:
==