1
请将您的手机铃声
设置为震动
2
实验讲义
1、阅读程序 P57
3、修改程序 P58
4、程序填空 P59
作业
3
函数的概念
函数的定义
函数的调用
函数的嵌套
函数的调用
复****回顾
4
方式:函数调用时才为形参分配单元,并
将实参的值复制到形参单元
值传递方式
形参与实参占用不同的内存单元
单方向传递
函数的调用方式
特点:
5
#include <>
swap(int a, int b)
{ int temp;
temp=a; a=b; b=temp;
}
main()
{ int x=7,y=11;
swap(x,y);
printf("x=%d,\ty=%d\n",x,y);
}
例值传递方式
temp
11
x:
y:
调用之前
7
a:
b:
7
11
函数调用
7
11
7
数据交换
调用结束
6
方式:函数调用时,将数据的存储地址
传递给形参
特点:
地址传递
形参与实参占用同样的存储单元
“双向”传递
函数的调用方式
7
例地址传递方式
sort(int a[ ],int n)
{
…
…
}
main()
{ …
sort(x,10);
….
}
x[0]
x[1]
x[2]
…
x[9]
x=&x[0]
a[0]
a[1]
a[2]
…
a[9]
a=&a[0]
10
9
3
6
8
5
2
7
1
4
1
2
3
4
5
6
7
8
9
10
8
函数的递归调用
变量的作用区域
变量的存储类别
新课讲授
9
定义:函数在自身的定义中又调用自
身的过程称为函数的递归调用
函数的递归调用
f( )
调f
特点:
1. 在函数里调用自身;
2. 在使用递归策略时,必须有一个明
确的递归结束条件,称为递归出口。
10
long fac(int n)
{ long f;
if(n==1) f=1;
else f= n*fac(n-1);
return(f);
}
1 (n=1)
n!=
n*(n-1)! (n 2)
例用递归算法计算n!
==
C语言第十一次课 来自淘豆网www.taodocs.com转载请标明出处.