- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工学c语言函数章节经典教案
西安电子科技大学计算机学院 * 走楼梯( Fibonacci数列) 楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序计算共有多少种不同的走法. 西安电子科技大学计算机学院 * 用递归方法解决求一个整数各位数字之和 假设整数为n,各位数字之和为sum 递归结束条件:n10,sum=n 递归定义: n10,sum=个位数+去掉个位数之后各位数字之和 #include stdio.h int sum(int n) { if( n10 ) return n; else return n%10 + sum(n/10); } int main() { int n; scanf(%d,n); printf(sum=%d\n,sum(n)); return 0; } * 西安电子科技大学计算机学院 * 小结 定义函数的要素 函数头 函数名—使用函数需要的名称,合法的标识符 返回值类型—函数计算结果的类型 参数表—完成计算需要的数据(数量和类型) 函数体 double c_area ( double r ) { return r * r * 3.1416; } 返回值类型 函数名 参数表 函数体 函数头 * 小结 函数定义中的形参和函数调用中的实参 #include stdio.h #include math.h double c_area (double r) { return pow(r, 2) * 3.1416; } int main () { double v; v=2.4 * c_area( 3.24 ) / 3.0; return 0; } 形参 实参 实参 实参 形参是定义函数时用来表示函数输入数据类型和名称的变量定义 实参是调用函数时实际传入的数据,可以是变量、常数、表达式或其他函数调用返回的值 西安电子科技大学计算机学院 * 小结 局部变量 在函数内部定义的变量、形式参数、复合结构内定义的变量 全局变量 在所有函数之外定义的变量 递归函数 函数直接或间接调用自己形成递归 西安电子科技大学计算机学院 * 作业 P76~P77:8,15 P129~P130:5,20 西安电子科技大学计算机学院 * 课堂练习 写一个函数判断传入的整数n(100n1000)是不是“水仙花数”,是返回1,否则返回0 如果一个3位整数各位数字的立方和等于这个数就是水仙花数 西安电子科技大学计算机学院 * 4.3 变量作用域(教材5.4) 西安电子科技大学计算机学院 * swap函数的问题 参数传递是赋值传递,修改函数参数(形参)对原来的数据(实参)没有影响,因此不能完成交换数据的任务 解决方法 方法1:修改需要交换的数据的作用域,将其变为全局变量 方法2:通过参数传递需要交换的数据的地址 西安电子科技大学计算机学院 * 变量作用域 作用域:变量的有效范围,也就是变量的生存范围 局部变量: 函数参数,其作用域为整个函数 函数内的变量,其作用域为变量定义位置到函数结束位置 复合语句内的变量,其作用域为变量定义位置到复合语句结束位置 全局变量 定义在所有函数之外的变量,其作用域为变量定义位置到程序结束位置 #include stdio.h int a=10,b=10; //全局变量 void func1(){ printf(func1:a=%d,b=%d\n,a,b); } void func2(){ int a=30,b=30; printf(func2:a=%d,b=%d\n,a,b); } int c=1,d=1; void func3(int a,int b){ printf(fuc3:a=%d,b=%d\n,a,b); } int main(){ int a=20,b=20; … { int a=40,b=40; … } … } 全局变量a,b的作用域 全局变量c,d的作用域 局部变量a,b的作用域 函数参数a,b的作用域 main函数局部变量a,b的作用域 复合结构内a,b的作用域 * 西安电子科技大学计算机学院 * 使用全局变量的swap函数 void swap(){ int t; t = a; a = b; b = t; } int main(){ printf( before swap: a= %d; b= %d\n, a, b ); swap(); printf( after swap: a= %d; b=%d\n, a, b ); return 0; } int a=5, b=3; 西安电子科技
您可能关注的文档
- 四 认识万以内的数——8简单的近似数课件小学数学苏教版二年级下册3829.ppt
- 北师大版四年级数学上册课件 数与代数一.ppt
- Lessn 11 Amazing Pants课件初中英语冀教2011课标版八年级下册课件19351.ppt
- 20172018学年人教部编版八年级历史下册课件第5课 三大改造 共42张.ppt
- 2011年湖南省普通高中学业水平考试英语要点.doc
- 2017年整理单跨现浇混凝土拱桥.doc
- 企业管理增员与团队管理.ppt
- 12实验室安全管理.ppt
- 13可线性化的回归分析课件高中数学北师大2003课标版选修23课件13211.ppt
- 2009年福建省安溪县初中学业质量检查物理试题及答案文档资料.doc
- 2014 年电大电算化会计01任务12任务操作详解.doc
- 中学教育工程资料类别来源保存要求及使用表格.doc
- 2016电大 试题与答案 土木工程力学本小抄.doc
- 20142015学年北京市丰台区2015年中考二模数学试题含答案.doc
- 2017年春八年级语文下册课件鄂教版专题四 标点符号的辨析 共10张.ppt
- 2016新编毕业设计论文C6132横向进给运动系统数控改造含CAD图纸.doc
- 再塑生命的人 说课稿课件.ppt
- 原创专题26 怎样进行物质制备与提纯实验解题突破答案.doc
- 3 滑轮轮轴与齿轮课件小学科学粤教粤科版六年级下册2012年12月第1版.ppt
- 2018彬伊奴庆功宴与成年礼庆典流程构想方案.ppt
文档评论(0)