实验八函数应用一daan

发布时间 : 星期日 文章实验八函数应用一daan更新完毕开始阅读

实验八 函数应用(一)

一?实验目的

1.掌握函数的定义和调用;

2.掌握形参和实参的使用和传值调用; 3.了解函数声明的使用; 4.掌握函数的嵌套调用;

5.了解函数的递归调用,掌握递归函数的编写规律; 6.重点掌握数组作函数参数。 二?实验学时数

3学时 三?实验步骤 (一) 阅读程序

1.fun (int x, int y, int z) { z=x * x + y * y; } main() { int a=38; fun(7,3,a); printf(“%d”,a); } 分析结果 运行结果 38 2.void fun (int x,int y );

main() {int x=5,y=3; fun(x,y);

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

void fun (int x,int y ) { x=x+y; y=x-y; x=x-y;

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

} 分析结果 运行结果 3,5 5,3 3.int f (int a) ;

main()

{ int s[ 8 ] = {1,2,3,4,5,6} ,i, d=0;

for (i=0; f( s[i] ) ; i++) d+=s[i];

printf(\}

int f(int a) { return a%2; }

分析结果 运行结果 1 4.long f( int g) { switch(g)

{ case 0:return 0;

}

return ( f(g-1)+ f(g-2)); } main ( ) { long int k; k = f(7);

printf(\} 分析结果 运行结果 13 case 1:

case 2: return 1;

5. int f(int b[ ][4])

{ int i,j,s=0;

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

if(i>2) i=3-j; s+=b[i][j];

{ i=j;

} return s; } main( )

{int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; printf(“%d\\n”,f(a) ); } 分析结果 运行结果 22 (二)完成程序 要求:依据题目要求,分析已给出的语句,填写空白?但是不要增行或删行,改动程序的结构?

1. 请在以下程序第一行的下划线处填写适当内容,使程序能正确运行?

___________________________ main()

{double x,y;

scanf(\printf(\}

double max(double a,double b) {return (a>b ? a:b) ; }

double max(double a,double b); main() {double x,y;

scanf(\printf(\

}

double max(double a,double b) {return (a>b?a:b) ; }

2.以下函数的功能是:求x的y次方,请填空,并配写出主调函数。

double fun( double x, int y) {int i; double z;

for(i=1, z=x; i

double fun( double x, int y) {int i; double z;

for(i=1, z=x; i

scanf(\

printf(\的%d次方为%lf\}

3.mystrlen函数的功能是计算字符串的长度,并作为函数值返回。请填空,并配写主调函数。

int mystrlen(char str[ ]) {int i;

for(i=0; ____________!=‘\\0';i++);

联系合同范文客服:xxxxx#qq.com(#替换为@)