预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共31页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《C语言程序设计教程》第四章模块化程序设计§1函数(程序模块)函数值类型函数名(类型形参,…){函数体}P104例2:找出函数定义部分intjdz(intx) { return(x>=0?x:-x); }P106例4:编写打印n个空格的函数P106例5:编写求表达式值的函数:y=例:函数定义:doublefunc(doublea,intb,floatc){/*函数体*/}函数声明应为:doublefunc(doublea,intb,floatc);或:doublefunc(doublex,inty,floatz);三、函数的(传值)调用P110例8:P136习题9:写出程序的输出结果main(){u=f1(i,t);}课堂练习main() {intn; charch; scanf(“%c%d”,&ch,&n); p(ch,n); }#definePI3.14 #include“math.h” main() {intx,y,i; doublerd=PI/180; for(x=0;x<=360;x=x+15) {y=(int)(10+10*sin(x*rd)); for(i=1;i<=y;i++) printf(“”); printf(“*\n”); } }P136习题4:编写求一个给定数字的所有因子的函数。判断正负课后作业及上机任务五、函数的递归调用说明:这里主要讨论函数的直接递归调用2、递归函数的执行3、递归函数的编写设f(n)为求数列第n项的函数, 则: f(n)=f(n-1)+f(n-2) f(n-1)=f(n-2)+f(n-3) …… f(3)=f(1)+f(2) 而f(1)=f(2)=1P113例10:汉诺(hanoi)塔问题hanio(n-1,a,c,b); printf(MoveNO%dfrom%cto%c\n”,n,a,b); hanio(n-1,c,b,a);请仔细体会递归算法的执行过程。小结P136习题5:编写计算函数Ack(m,n)的值的递归函数。floatH(intn,floatx) {floati,x0,x1,x2; x0=1.0,x1=2*x; switch(n) {case0:return(x0);break; case1:return(x1);break; default: if(x<=1)printf(“error\n”); else {for(i=2.0;i<=n;i+=1.0) {x2=2*x*x1-2*(i-1)*x0; x0=x1; x1=x2;} return(x2); } } }课后作业及上机任务