C程序设计与实例教程 作者 曾令明 全书教案_ 第5章.pptVIP

C程序设计与实例教程 作者 曾令明 全书教案_ 第5章.ppt

  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程序是由函数构成的,每个函数是一个逻辑功能块。本章主要介绍C语言中函数的定义形式,调用方法;函数的嵌套和递归;变量的作用域和生存期。此外,还将学习几个预处理命令。   学习重点:   ? ?函数的定义与调用   ? ?变量的作用域和生存期   ? ?宏定义    5.1.1 模块与函数   在编制程序时,经常遇到这样的情况,即有些运算经常重复进行,或者许多程序中都可能要进行同类的运算操作。这些重复运算的程序段功能相同,只是每次都以不同的参数进行。如果多次重复书写执行这一功能的程序段,将使程序变得冗长、繁琐,这不但会浪费大量的时间和更多的存储空间,程序又容易出错,调试起来也更困难。   解决这类问题的有效办法是将重复使用的程序段独立出来,使其成为一个可以反复调用的模块。C语言程序中除了需要重复执行的程序段可以独立为模块外,即使只执行一次的程序段也可以使其写成独立模块。这样,就可以把程序应该完成的主要功能都分配给各模块去完成,只需在主程序中调用它们,从而使程序结构更清晰,且程序编制的分工也更加明确。   在C语言中,模块是由函数来实现的。一个C程序可由一个主函数和若干其他函数构成,由主函数调用其他函数,其他函数间可以相互调用,同一个函数也可以被一个或多个函数调用任意多次。通过这种调用可以实现程序的总体功能。图5-1是一个C程序中函数调用的示意图。   说明:   (1) 一个C程序由一个或多个源程序文件组成。对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别存放在若干个源文件中,再由若干源程序文件组成一个C程序。这样便于分别编写与分别编译,可提高调试效率。一个源程序文件可以为多个C程序所公用。   (2) 一个源程序文件是一个编译单位,它是由一个或多个函数以及其他有关内容(如命令行、数据定义等)组成的。程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。   (3) ?C程序的执行是从main函数开始的,即在main函数中调用其他函数,调用后流程再返回main函数,最终在main函数中结束整个程序的运行。   (4) 所有函数都是平行的,即在定义函数时是分别进行的,是互相独立的。一个函数并不从属于另一函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数。main函数由系统调用。       图5-1 C程序函数调用示意图 5.1.2 函数分类   在C语言中,可以从不同的角度对函数进行如下分类。   1.从有无返回值的角度   (1) 有返回值函数。此类函数被调用执行完成后向调用者返回一个执行结果,称为函数返回值。用户定义这种函数时,必须在函数定义和函数说明中明确返回值的类型。   (2) 无返回值函数。此类函数用于完成某项特定的任务,执行完成后不向调用者返回函数值。这类函数类似于其他语言的过程。由于无返回值,用户在定义此类函数时可指定它的返回值为“空类型”,其说明符为“void”。   2.从主调函数和被调函数之间数据传送的角度   (1) 无参函数。?此类函数在定义、说明及调用中均不带参数。主调函数和被调函数之间不进行参数传送。通常用它来完成一组指定的功能,可以返回或不返回函数值。   (2) 有参函数,也称为带参函数。此类函数在定义及说明时都有参数,称为形式参数(简称为形参);在调用时也必须给出参数,称为实际参数(简称为实参)。进行函数调用时,主调函数将把实参值传送给形参,供被调函数使用。   3.从函数定义的角度   (1) 库函数。此类函数由C编译系统提供,用户无需定义,也不必在程序中作类型说明。只需在程序前包含有该函数原型的头文件,即可在程序中直接调用。在前面各章的例题中用到的printf、scanf等均属此类函数。   C语言提供了极为丰富的库函数,这些库函数又可从功能角度分成不同种类,如字符处理函数、转换函数、输入/输出函数、数学函数等。程序员应多熟悉库函数(通过C编译系统的帮助),熟练掌握函数的调用方法,以便能充分利用这些函数,减少编程的工作量。   (2) 用户自定义函数。此类函数由用户按自己的需要编写。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还必须对该函数进行类型说明,然后才能调用该函数。如何定义及正确调用一个函数正是本章所要讲述的主要问题。    5.2.1 函数定义   1.无参函数的定义   无参函数定义的一般形式为:   类型说明符 函数名(void)   {    声明部分;    执行部分;   }   其中,第一行称为函数首部;“类型说明符”指明了本函数的类型,实际上就是函数返回值的类型,它可以是第二章介绍的各种数据类型之一;“函数名”是用户定义的标识符;函数名

文档评论(0)

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

1亿VIP精品文档

相关文档