第06章:函数,C语言程序设计课件,与中南大学出版社教材相配套.pptVIP

第06章:函数,C语言程序设计课件,与中南大学出版社教材相配套.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语言程序设计 第6章 函数 6.1 函数概述 6.2 函数的定义 6.3 函数的调用 6.4 变量的作用域 6.5 函数与数组 6.6 变量的存储类型 **6.7 内、外部函数与多文件程序的运行 本章小结 6.1 函数概述 前面几章主要介绍了C语言程序设计的基本概念和语句,利用顺序、选择、循环和数组能够解决比较简单的问题。但是,当我们遇到一个比较复杂的问题时使用前面所学的知识,就比较困难了,能够解决问题的方法首先是对问题仔细分析,将它分解成逻辑上相对独立的若干个子问题,将这些子问题进行组合就是整个大问题,其次我们把重点放在这些子问题上,一个一个地解决。当某个子问题还比较复杂的时候,我们继续对它进行分解。这样,一个较复杂的大问题就迎刃而解了。如果把每个子问题都看成是一个模块,那么这就是“模块化程序设计”的思想。 C源程序是由函数组成的。虽然在前面各章的程序中大都只有一个主函数main(),但实用程序往往由多个函数组成。函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能。函数可以看作是一个可以执行特定功能的“黑匣子”,当我们给定输入时,它就会给出正确的输出,内部程序是怎么执行的不必知道。只有当我们编写一个函数时才需要熟悉内部是怎么实现的。 由于采用了函数模块式的结构,C语言易于实现结构化程序设计。使程序的层次结构清晰,便于程序的编写、阅读和调试。下面是一个函数程序的例子。 如:【例6-1】打印日历表 (L6-1.c) 以上程序的执行过程如下: (1)程序开始运行,并开始执行main函数中的语句。 (2)main函数中调用了print_star函数,开始执行print_star函数的代码,打印了一行星号。执行完毕返回main函数。 (3)继续执行main函数,又调用了print_calendar函数,开始执行print_calendar函数,打印日历。执行完毕返回main函数。 (4)返回到main函数中继续执行main函数中的语句,再次调用print_star函数又打印一行星号,返回main函数,main函数结束,执行完毕。 该程序是由三个函数构成:main,print_star,print_calendar,按照模块化的观点来看这个程序是由三个模块构成的,每个模块是由一个函数构成的。它们之间的调用关系如下: 关于函数的说明: (1)一个C语言的源程序可以由一个或多个源文件构成,一个源文件又可以由一个或多个函数构成。 (2)一个C语言的源程序中的所有函数都是相互独立的,各个函数间可以相互调用,但任何函数都不能调用main函数,且main函数只能有一个。 (3)一个源程序是从main函数开始执行的,遇到函数调用开始执行调用的函数,当函数执行完毕后,返回main函数继续执行,直到main函数结束。 6.1.2 函数的分类 在C语言中,可以从不同的角度来对函数进行分类。 1.从函数定义的角度看,函数可分为库函数和用户定义函数两种。 (1)库函数:由C语言的系统提供,用户无须定义,也不必在程序中进行类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面用到的scanf、printf、getchar、putchar、gets、puts、strcmp等函数均属此类。 (2)用户定义函数:由用户按需要编写的函数。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还必须对该被调函数进行函数声明,然后才能使用。如例6-1中的print_star, print_calendar都是自定义函数。 2.根据函数是否有返回值,可以把函数分为有返回值函数和无返回值函数两种。 1)有返回值函数:此类函数被调用执行完后,将向调用者返回一个执行结果,称为函数返回值。如数学函数即属于此类函数。用户定义有返回函数值的函数时,必须在函数定义和函数声明中说明返回值的类型。如scanf、getchar、sqrt都是有返回值的函数。 2)无返回值函数:此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。例6-1中的print_star, print_calendar以及库函数printf都是无返回值的函数,由于函数无须返回值,用户在定义此类函数时可指定它的返回值为“空类型”,空类型的说明符为“void”。 3.从主调函数和被调函数之间数据传送的角度看,可分为无参函数和有参函数两种。 (1)无参函数:函数定义、函数声明及函数调用中均不带参数。主调函数和被调函数之间不进行数据传送。此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。例6-1中的print_star, print_calendar和getchar都是无参数的函

文档评论(0)

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

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

1亿VIP精品文档

相关文档