工学c语言函数章节经典教案.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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; 西安电子科技

文档评论(0)

seunk + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档