- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计教程第6章整理ppt
第六章 函数与编译预处理 6.1 模块化程序设计与函数 6.2 函数的定义与调用 6.3 函数的嵌套和递归调用 6.4 变量的作用域与存取方式 6.5 编译预处理 6.1模块化程序设计与函数 在设计较复杂的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。这样的话,原来问题的解就可以用这些小问题来表示。 (1)自顶向下; (2)逐步细化; (3)模块化设计; (4)结构化编码; 一个较大的程序一般划分成若干个模块,每个模块用来实现一个特定的功能。C语言中用函数来实现模块功能。函数是C语言程序的基本单位,一个C语言程序可由一个主和函数若干个函数构成。由主函数调用其它函数,其他函数之间也可相互调用。如: ANSI标准提倡把一个大的问题划分成许多小模块,每个模块编写一个函数,一个函数完成一个功能单一而独立的任务。 使用模块是一个很好的程序设计方法,可以由几个人同时开始设计,从而缩短开发周期。更主要的是,由于每一个模块规模较小、任务单一,更容易设计和调试,从而提高程序的可靠性。 模块设计的原则 模块独立 规模适当 层次分明 功能专一 案例6-1.调用自定义函数,输出如下字符串。 ****************** Welcome! We study C program language. ****************** 二、 函数的形参与实参 函数在调用时,一般主调函数和被调用函数之间有数据传送,即参数传递。 在定义函数时函数名后面括弧中的变量名称为形参。 而在主调函数中调用一个函数时,函数名后面括弧中的参数为实参。 发生函数调用时,调用函数把实参的值复制1份,传送给被调用函数的形参,从而实现调用函数向被调用函数的数据传送。 说明: (1)实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。 例:主调函数中有如下语句: ? scanf(%d,%d,a,b);? m=max(a,b+3); 如果输入 6,2 函数 int max(int a,int b) 形参 a 得到第一个实际参数a的值 6 形参 b 得到第二个实际参数b+3的值 5 因此,应预先用赋值、输入等办法,使实参获得确定的值。 三、函数的返回值与函数类型 C语言的函数可分为有返回值函数和无返回值函数两种。 1.函数返回值与return语句 函数的返回值是通过函数中的return语句获得的。return语句将被调函数中的一个确定值带回主调函数中去,不需要返回值可不用return语句。 (1)return语句的一般格式: return ( 变量或表达式 ); ? return y;? /*将变量y的值返回给调用者? */ return y+3;? /* 将表达式的值返回给调用者*/ (2)return语句的功能:返回调用函数,并将“表达式”的值带给调用函数。 四、对被调用函数的说明和函数原型 在C语言中,所有的函数在定义时都是互相独立的,一个函数并不从属于另一个函数,但函数之间可以互相调用,其他函数不能调用main(),即函数的定义是平行的。 函数的使用同变量使用类似,在主调函数中使用了被调函数名。在使用前,应对其进行函数声明,即先声明后调用。 若调用标准函数,应该在文件开头用include命令将标准函数包含在文件中来. 若调用自定义函数,则要在主调函数中对被调函数作声明. 自定义函数在调用前的声明是使系统知道将要用到某个函数及它的类型,以便处理。函数声明应与该函数定义时给出的函数类型与名字、形参的个数、类型、次序相一致。 在 C中采用函数原型方式,对被调用函数进行说明。 五、函数的调用 1.C语言中,函数调用的一般形式为: 函数名([实际参数表]); 切记:实参的个数、类型和顺序,应该与被调用函数所要求的参数个数、类型和顺序一致,才能正确地进行数据传递。 2.函数调用方式: (1)函数表达式。函数作为表达式的一项,出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。 c=5*max(a,b); 6.3 函数的嵌套调用和递归调用 一、 函数的嵌套调用 函数的嵌套调用是指,在执行被调用函数时,被调用函数又调用了其它函数。在C语言中函数定义都是平行的、独立的,但调用可以嵌套。 其关系可表示如图。 [案例6-7]
文档评论(0)