- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
函数11年11月24月
第七章 函数及变量存储类型 本章要求 理解模块化程序设计思想; 掌握函数的定义与调用方法; 掌握C语言的参数传递方式; 掌握变量的作用域和存储方式。 掌握用#define定义无参数宏和带有参数宏定义和调用方法; 掌握#include文件包含的使用方法,理解多个源文件的C程 序的运行 ; 了解条件编译的使用。 第七章 函数及变量存储类别 本章重点 函数的定义与调用 参数传递 变量的作用域和存储方式 带参宏定义和使用方法、文件包含的使用 本章难点 参数传递 变量的作用域和存储方式 带参宏定义和使用方法 第7章 函数及变量存储类别 7.1 函数基础与C程序结构 7.2 函数的定义和返回值 7.3 函数的声明 7.4 函数的调用 7.5 调用函数和被调用函数之间的参数传递 7.6 函数的嵌套与递归 7.7 变量的存储类别 7.8 编译预处理 第七章 函数及变量存储类型 本节要求 理解模块化程序设计思想; 掌握函数的定义与调用方法; 掌握C语言的参数传递方式; 7.1 函数基础与C程序结构 7.1.1 C程序的结构化设计思想方法 当设计一个解决复杂问题的程序时,传统的面向过程的程序设计方法为了能清楚地描述程序的运行过程,要求将一个复杂的任务划分为若干个子任务,每个子任务设计成一个子程序,称为模块。 C语言是函数式语言,没有子程序,程序员可以利用函数来实现结构化程序设计,即单一的程序任务由独立的函数来完成。不要试图在一个函数中完成所有的任务,一个函数只应完成单一的任务。 使用函数进行程序设计时,一个完整的程序由一个主函数main和若干个其它函数组成,由主函数根据需要调用其它函数来实现相应功能,调用的关键在于函数之间的数据传递。 对于每一个函数,它仍然由顺序、选择和循环三种基本结构组成 。 7.1 函数基础与C程序结构 7.1 函数基础与C程序结构 库函数 在C语言中,并不是任何函数都需要用户自己去编写。C语言为我们提供了一些常用的函数,如我们之前学过的输入输出函数,字符串处理函数等。对于这些函数,用户不需要自己定义,可以直接使用。这些C语言自己提供的函数称之为库函数。 7.1 函数基础与C程序结构 7.2 函数的定义和返回值 7.2.1 函数定义的语法 (1)函数定义的一般形式如下 函数返回值的类型名 函数名(类型名1 形式参数名1,类型名2 形参数名2,… ) { 说明部分 执行部分 } 7.2.1 函数定义的语法 说明 函数名和形式参数都是由用户命名的标识符。在同一程序中,函数名必须唯一,形式参数名只要在同一函数唯一即可,可以与其他函数中的变量同名。主函数名必须为main。 函数不能嵌套定义。即在一个函数的函数体中不允许现定义另外的函数。 若在函数的首部省略了返回值的类型名,把函数首部写成: 函数名(类型名1 形式参数名1,类型名2 形参数名2… ) 则默认函数返回值的类型为int型,而不是无返回值。若函数没有返回值,类型名应该为void。 函数名后的一对圆括号必不可少,括号中为形式参数表列。形式参数用于数据传递,同样是用户定义标识符。在同一函数内形参名必须唯一。如果函数不带形参,则形参表列可以缺省。 函数体部分的一对花括号必不可少。 除了返回值类型为int类型的函数外,函数必须先说明后调用。 7.2.1 函数定义的语法 说明 函数名后一对圆括号中中形式参数(简称形参)和类型说明表,每个形参之前都要有类型名。各形参的定义之间用逗号隔开。 函数体可以为空。如:void dummp(){ } 在函数体中,除了形参外,所用到的其它变量都必须在说明部分进行定义。形参和这些变量都是在函数被使用的时候临时分配,一旦函数使用完毕,这些空间均被释放。它们起作用的范围仅仅只是本函数内,因此可以与其它函数的变量、形参名相同 【例7.1】编写求两个双精度数之和的函数。 double add(double a ,double b) {double s; s=a+b; return s; } 函数的返回值是通过return语句带回到主调函数的 功能:终止函数的运行,返回主调函数,若有返回值,将返回值带回主调函数。 【例】计算并输出圆的面积。 #include “stdio.h” s(int r) { return 3.14*r*r;} main( ) { int r,area; scanf(%d,r); printf(%d\n,s(r)); } 7.2.2 函数的返回值 说明: 一个函数可以有多条return语句,执行到哪一条return语句,哪一条起作用 return语句的另一作用是终止执行函数 为增加程序的可读性,建议只在函数
文档评论(0)