第6章 函数2--变量的作用域+函数的递归+参数传递陆小马功钟浩.pptx

第6章 函数2--变量的作用域+函数的递归+参数传递陆小马功钟浩.pptx

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数声明 函数中的参数传递 变量的作用域 函数的嵌套;1.函数声明;对被调用函数的说明;1.函数声明;函数声明案例—找错误;函数原型;改错:;2. 参数传递 (1)值传递 (2)地址传递; 形参与实参间的数据传递;(1)值传递-----形参是变量名时的结合; 例7-4: 调用函数, 完成两个变量的交换。;(2)地址传递---数组名作为函数参数;数组名作为函数参数; 数组名作为函数参数;例1 利用数组进行两个数的交换;数组名作为函数参数; ; void main( ) { float s1[5]={ 100, 87, 62, 93, 67 } ; float s2[6]={ 88.7, 78, 95, 82, 89, 90 }; printf(“aver1=%.2f\n”, aver(s1, 5) ) ; printf(“aver2=%.2f\n”, aver(s2, 6) ) ; } ;思考案例:用“选择法”对输入的10个字符按从小到大的顺序排序。---一维数组的排序;案例:对一个字符数组进行反向排序; void main( ) {char str[80]; printf(“input a string:\n”); gets (str); invert (str); printf(“%s\n”, str); }运行;参数传递小结:;3. 函数嵌套 (1)函数嵌套 (2)函数的递归;(1)函数的嵌套调用;例:;(2)函数的递归调用;递归的目的是简化程序, 使程序易读。 最终解决基本实例 函数会沿着调用顺序将一系列的结果返回 直到把最终结果返回给原始的调用者(可能是main);例1 求n! n!=n*(n-1)*(n-2)*…*2*1 (n≥1);例: 用递归方法计算 5!;程序:;4. 变量作用域;4.变量的作用域;(1)、局部变量 ;例1:;说明:;(1)、局部变量;例2: 写出下面程序的运行结果;(2)、 全局变量;(2)、 全局变量;例4: void fun( ) ; int n=5 ; //定义全局变量n void main( ) { int m=n ; fun( ); printf(“m=%d n=%d\n” , m, n); } void fun( ) {int s=10 ; n=s ; };例5: 阅读程序;全局变量的特点:; ;2) 缺点:; 例7: #include stdio.h int a=3, b=5 ; //外部变量定义 int max(int a, int b) { return(ab?a:b); } void main( ) { int a=8 ; printf(“%d”, max(a, b)) ; };5. 变量的存储; 5 变量的存储类别;5 变量的存储类别(掌握自动类和静态类两种);(1)、自动变量;(2)、静态变量;静态变量举例:;静态变量的特点:;自动变量和静态局部变量区别:;(3). 寄存器变量(register);例2 求n!的函数;(4). 外部变量(extern);外部变量举例(在同一源文件内);4. 外部变量(extern);作业: 1. 定义函数求一串字符串中的大写小写和数字字符的个数并并输出。(字符数组做参数) 2.改写第一题,使用全局变量表示各类字符的个数,并在main函数中输出 3.定义函数,实现对任意长度的数组排序。 4.使用函数的嵌套完成,求圆环的面积。(定义求圆面积的函数,求圆环面积的函数,main函数;其中求圆环面积函数中需要调用求圆面积函数) 5.利用函数的递归求n!(定义求阶乘函数,其中需要调用该求阶乘函数,递归结束的条件是值为1时停止并逐级返回) ;练习题;习题;习题;习题;习题;6. 以下说法中正确的是:;7. 执行下列程序后, 变量a的值应为:;8.写出程序运行结果:;9. 写出程序运行结果:;11. 下面程序的运行结果为 。;12. 下面程序的运行结果为 。;13.下面程序执行后的输出结果是

文档评论(0)

陆小马公主号 + 关注
实名认证
内容提供者

陆小马 功钟浩 分享资源

1亿VIP精品文档

相关文档