C语言课件第11讲.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语言课件第11讲

第11讲 函数(一) 函数概述 函数定义 函数参数和函数的值 函数调用及函数原型 函数概述 模块化:是一种对复杂性问题“分而治之”的策略 模块化程序的主要特征 函数式的程序结构 数据的存储类型 预编译的处理功能 函数的调用过程 一个简单的函数调用的例子 函数说明 1.一个源程序文件由一个或多个函数组成。一个源程序文件是一个编译单位,而不是以函数为单位进行编译。 函数说明(con.) 5. 从函数的形式看,函数分两类 (1)无参函数。  如8.1例中的printstar和print_message就是无参函数。在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作(例如上例那样,以printstar函数的作用就是输出18个星号)。无参函数可以带回或不带回函数值,但一般以不带回函数值的居多。 (2)有参函数。  在调用函数时,在主调函数和被调用函数之间有参数传递,也就是说,主调函数可以将数据传给被调用函数使用,被调用函数中的数据也可以带回来供主调函数使用。 函数定义 函数定义示例 int max (int x,int y)/*形式参数说明*/ { int z; /*函数体中的说明部分*/ z=xy?x:y; return(z);  } 空函数 函数参数和函数的值 在调用函数时,大多数情况下,主调函数和被调用函数之间有数据传递关系。这就是前面提到的有参函数。 在定义函数时函数名后面括弧中的变量名称为“形式参数”,在调用函数时,函数名后面括弧中的表达式称为“实际参数”(简称“实参”)。 形参与实参说明 形参与实参说明(con.) 5.C语言规定,实参变量对形参变量的传递是“值传递 “,即单向传递。在内存中,实参单元对形参单元是不同的 单元。 函数示例 函数定义说明 函数类型与返回语句 函数类型 指函数返回值的类型,可以是任意类型 缺省的函数类型:表示返回int型或char型值(隐式说明) void型函数:表示该函数无任何返回值(无值型函数) 参数类型示例 return说明 main()  { int a,b,c; a = printstar(); b = print_message(); c = printstar(); printf(“%d,%d,%d”,a,b,c); } 函数示例 函数调用 函数调用的一般形式:  函数名([实参表列]); 如果实参表列包含多个实参则各参数间用逗号隔开;实参与形参的个数应相等,类型应一致;实参与形参按顺序对应,一一传递数据。 函数调用方式(3种) 调用条件:函数已经存在(库函数或自定义函数) 语句调用 printstar(); 不要求函数带回值,只要求函数完成一定的操作。 表达式调用 n=2*2+min(a,b); 函数表达式,要求带回一个确定的值。 参数调用 putchar(getchar()); 函数调用作为一个函数的实参; 又如 printf(”%d”,max(a,b)); 函数调用-实参求值 函数声明 函数声明示例 函数声明与定义的区别 对函数的“定义”和“声明”不是一回事。“定义”是指对函数功能的确立,包括指定函数名,函数值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。 而“声明”的作用则是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查(例如函数名是否正确,实参与形参的类型和个数是否一致)。函数定义是唯一的,但函数的声明可以多次。 在函数声明中也可以不写形参名,而只写形参的类型。如: float add(float ,float);(也允许在函数原型中加上参数名) C语言中,把以上形式的函数声明称为函数原型。作用主要是利用它在程序的编译阶段对调用函数的合法性进行全面检查。 函数声明特例 如果函数的返回值是整型或字符型,可以不必进行声明,系统对它们自动按整型声明。但为清晰起见,建议都加以声明为好。 如果被调用函数的定义出现在主调函数之前,可以不必加以声明。因为编译系统已经先知道了已定义的函数类型,会自动处理的。 如果已在所有函数定义之前,在文件的开头,在函数的外部已声明了函数类型,则在各个主调函数中不必对所调用的函数再作类型声明。 除了以上三种情况外,都应该按上述介绍的方法对所调用函数的返回值作类型声明,否则编译时就会出现错误。 函数调用的原则:“先声明,再调用” 外部声明示例 程序设计基础 模块化程序设计方法 自顶向下 逐步细化 模块化程序特点 层次分明 结构清晰 资源共享 编程高效 fun()

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档