C语言中函数调用机理的探讨.docx

C语言中函数调用机理的探讨.docx

ID:51686936

大小:33.50 KB

页数:3页

时间:2020-03-15

C语言中函数调用机理的探讨.docx_第1页
C语言中函数调用机理的探讨.docx_第2页
C语言中函数调用机理的探讨.docx_第3页
资源描述:

《C语言中函数调用机理的探讨.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言中函数调用机理的探讨研究报告——以求n阶勒让德多项式的值为例一.探究意义通过c语言中函数调用机理的实例研究,尤其是过程较为为复杂的递归调用,实现对c语言函数调用逻辑关系的深入理解,并能将c语言函数调用这一重要功能运用于实际程序设计中。二.探究方法1.深入阅读理解课本所学相关知识点,结合网上相关资料,做好理论基础准备。2.将一个数学递推公式利用函数递归调用的方式转换为c语言程序,在此基础上完成递归调用的理解。三.理论基础1.函数是由函数首部和函数体两部分组成。函数首部包括函数类型函数名(函数参数类型函数参数(形参)名),函数体包括申明和

2、执行(包含实参)两部分。2.函数调用的过程(1)定义函数的形参在未出现函数调用时不占内存的存储单元。在发生函数调用时,形参被临时分配内存单元。(2)实参对应的值传递给形参,如实例中将3,2分别传给形参中的n,x,然后利用形参完成定义函数中的相关计算。(3)通过return语句将函数值带回主调函数,如实例中的将a的值带回function(2,3)中,就得到了最终结果。3.c语言的函数定义是相互平行独立的,但是能实现嵌套调用(调用一个函数中又调用另一个函数),也能实现递归调用(在调用一个函数的过程中直接或间接地调用该函数本身)。四.实例探究N阶

3、勒让德多项式的递归公式为:Pnx=1(n=0)x(n=1)2n-1∙x-Pn-1x-n-1∙Pn-2xn(n≥1)C语言程序过程分析:总体来看,自定义函数完成该公式的计算部分,主函数完成参数设置,函数调用和结果输出,由于自定义函数是在主函数前编写,可以略过函数申明这一部分。在主函数中程序运行到function(简写为f)时,开始调用函数,过程如下:fct(3,2)a=10-f(2,2)-2*f(1,2)/3a=f(2,2)=6-f(1,2)-2*f(0,2)/3a=f(1,2)=2a=f(0,2)=1输入3,2n=3n=2n=1n=0首先输

4、入n(项数),x(自变量),在程序读到function(3,2)时,就把n=3,x=2传递给定义函数中的形参n和x,开始调用定义函数,每次调用f函数后都会产生返回值a,这个值返回到调用f函数处。例如,调用n=2时,a=6-f(1)-2*f(0)/3,再调用f(1)=2,f(0)=1,返回值是3.50000,如下图所示,这个返回值就取代了n=3中的f(2,2),由此就可以得出最后的结果,递归的终止条件是n=0.运行结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。