C语言程序设计 张淑华 朱丽莉 C语言程序设计8新.pptVIP

C语言程序设计 张淑华 朱丽莉 C语言程序设计8新.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.1 概述 8.2 函数的定义 8.3 函数的参数和函数的返回值 8.4 函数的调用 8.5 函数的嵌套调用 8.6 函数的递归调用 8.7 构造类型数据作为函数的参数 函数的分类: 系统函数(库函数):由C语言函数库提供,用户可以直接引用。 用户函数(自定义函数):是用户根据需要定义的完成某一特定功能的一段程序。用户函数分为带参数的函数和不带参数的函数。 8.2 函数的定义 C语言要求,在程序中用到的所有函数,必须“先定义,后使用”。 定义函数应包括以下几个内容。 1)指定函数的名字,以便以后按名调用。 2)指定函数的类型,即函数返回值的类型。 3)指定函数的参数的名字和类型,以便在调用函数时向其传递数据。对于无参函数不需要这项。 4)指定函数完成什么功能,也就是函数需要做哪些操作来完成其自身的功能。 8.3.1 形式参数和实际参数 8.3.2 函数的返回值 8.3.1 形式参数和实际参数 8.3.2 函数的返回值 return 语句 形式: return(表达式); 或 return 表达式; 或 return; 功能:使程序控制从被调用函数返回到调用(主调)函数中,同时把返回值带给调用(主调)函数 【例8.2】 函数中有多个return语句。 #include stdio.h fun(int x) { if(x20) return(1); else return(0); } void main( ) { int a,b; scanf(%d,a); b=fun(a); printf(b=%d\n,b); } 8.4 函数的调用 8.4.1 函数调用的一般形式 8.4.2 函数调用的方式 8.4.3 函数的声明 8.4.1 函数调用的一般形式 1 函数调用的一般形式: 函数名( [实参表列] ) 说明: (1)实参表列中的参数可以是常量、变量或其他构造类型数据及表达式。 (2)各实参之间用逗号分隔。 注意: 不同的编译系统在函数调用时,对实参的求值顺序可能不相同。大部分的编译系统按照自右至左的顺序求解实参的值。在Visual C++ 6.0系统中,按照自右至左的顺序对实参求值。 8.4.3 函数的声明(说明) 函数的调用遵循“先定义,后调用”的原则。 被调用函数说明的二种情况 : (1)若被调用函数在调用函数之后出现,同时函数值不是整型,就必须对被调用函数加以说明; (2)若被调用函数和调用函数不在同一文件,就必须对被调用函数加以说明。 C语言新版本的函数声明也称为函数原型(function prototype)。 有参函数原型形式: 形式一 类型名 函数名([类型名 形参1,类型名 形参2,……]); 形式二 类型名 函数名([类型名1,类型名2,……]); 【例8.7】 编写一个求解从m个元素中选n个元素的组合数程序。 分析:从m个元素中选n个元素的组合数的计算公式为: 8.5 函数的嵌套调用 函数的嵌套调用:在调用一个函数的过程中再调用另一个函数。 【例8.9】 求两个正整数的最小公倍数。 #include stdio.h #include math.h int divisor(int m,int n); /* divisor()函数声明*/ int multiple(int m,int n); /* multiple()函数声明*/ void main( ) { int m,n,result; printf(Input m n: ); scanf(%d%d,m,n); result=multiple(m,n); printf(The result=%d\n,result); } int multiple(int m,int n) { int temp; temp= m*n/divisor(m,n); return(temp); } int divisor(int m,int n) { int temp; if(mn) { temp=m; m=n; n=temp; } while((temp=m%n)!=0) { m=n; n=temp; } return n; } 函数的递归调用:函数的递归调用是指在调用一个函数的过程中又直接或间接地调用该函数本身。 函数的递归调用又分为直接递归调用和间接递归调用。 8.7

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档