[工学]第7章-函数与编译预处理.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第7章-函数与编译预处理

* 7.5 多文件程序的调试方法(续) 2. 使用文件包含命令将多个文件连接成一个可执行文件的方法 例,分析文件包含后源程序的情况。 #include file2.c #include file3.c file1.c file3.c file2.c A B C * 7.5 多文件程序的调试方法(续) file3.c #include file2.c #include file3.c file1.c A file2.c B C B C A file1.c 预处理前 预处理后 * * 解释:函数的定义和函数的说明二词的区别。 例题说明: 1. 将例6_102中main函数中函数类型说明语句“ void disp();”删除。这时 编译出错:类型不匹配。 2. 将disp函数的定义移到main函数之前,编译通过并执行。 从而到处关于对被调函数说明的规则。 * 解释: “值传递”的含义是,在调用函数时,将实参变量的值取出来,复制给形参变量,使形参变量在数值上与实参变量相等。在函数内部使用从实参中复制来的值进行处理。 C语言中的实参可以是一个表达式,调用时先计算表达式的值,再将结果(值)复制到形参变量中,一旦函数执行完毕,这些存储单元所保存的值不再保留。 形式参数是函数的局部变量,仅在函数内部才有意义。 函数间形参变量与实参变量的值的传递过程类似于日常生活中的“复印”操作。 * 解释: 1. 用以前的一个例题,介绍程序调用的执行过程, 函数名是函数的入口地址。 函数调用时,在堆栈中存储返回地址。 2. 函数内部定义的变量在函数内部有效。 * 程序如下: float fact (int n) { float f=0; if(n0) printf(n0,error!); else if (n==0 || n==1) f=1; else f=fact(n-1)*n; return (f); } main( ) { int n; float y; printf(\nInput n:); scanf(%d,n); y=fact(n); printf(%d!=%-10.0f\n,n,y); } 运行情况如下: Input a integer number:4? 4!=24 * 递归调用过程 回 推 main( ) fact(4) fact(3) fact(2) fact(1) { { { { { … … … … … y=fact(4); f=4*fact(3); f=3*fact(2); f=2*fact(1); f=1; … … … … … return 24 return 6 return 2 return 1 } } } } } 递 推 * 7.3 局部变量和全局变量及其作用域 7.3.1 变量的作用域 1. 局部变量及其作用域 变量的作用域:变量在程序中

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档