- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C_chap08 函 数
第八章 函数 第八章 函 数 函数定义的一般形式 函数参数和函数的值 函数的调用 函数的嵌套调用 函数的递归调用 数组作为函数参数 局部变量和全局变量 变量的存储类别 内部函数和外部函数 概 述 * * 函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能。 一个C程序可由一个主函数和若干函数构成,由主函数调用其他函数,其他函数也可以互相调用。 从用户使用的角度看,函数可分为库函数和用户定义函数。 库函数:由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。如前面反复用到的printf、scanf、getchar、putchar、gets、puts、strcat等函数均属此类。 用户定义函数:由用户按需要写的函数。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。 由于采用了函数模块式的结构,C语言易于实现结构化程序设计。使程序的层次结构清晰,便于程序的编写、阅读、调试。 #includestdio.h void main() /*主函数*/ { int max(int x,int y); /*函数原型声明*/ int a,b,c; scanf(“%d,%d”,a,b); c=max(a,b); /*调用函数max*/ printf(“max=%d”,c); } int max(int x,int y) /*定义max函数*/ { int z; if (xy) z=x; else z=y; return(z); /*将z的值返回*/ } 用户定义函数-举例 在C程序中,一个函数的定义可以放在任意位置,既可放在主函数main之前,也可放在main之后。 概 述 从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。 #include stdio.h void main() { void printstar(); /*函数原型声明*/ void print_message(); /*函数原型声明*/ printstar(); /*函数调用*/ print_message(); /*函数调用*/ printstar(); /*函数调用*/ } void printstar() /*函数定义*/ { printf(* * * * * * * * * * * * * * * *\n); } void print_message() /*函数定义*/ { printf( How do you do!\n); } 函数定义的一般形式 类型标识符 函数名( 形式参数表列 ) { 声明部分 语句 } 有参函数比无参函数多了一个内容,即形式参数表列。在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参既然是变量,必须在形参表中给出形参的类型说明。 例: int max(int x,int y,int z) { int t; t=xy?x:y; t=zt?z:t; return t; } 形式参数和实际参数 函数的参数分为形参和实参两种。 形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。 实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。 函数的形参和实参具有以下特点: ? 1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。 形式参数和实际参数 函数的形参和实参具有以下特点: 2.实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给
您可能关注的文档
- 2008年11月 劳动与社会保障部.doc
- 2008年11月三级营销师职业资格考试真题与答案.doc
- 2008年二级建造师《建设施工管理》考试模拟试卷与答案(二).doc
- 2008年北京建设工程造价员考试真题试题与答案.doc
- 2008年到2011年企业人力资源管理师三级真题与答案.doc
- 2008年土地估价师考试《土地管理基础与法规》真题与答案-中大网校.doc
- 2008年度全国造价工程师执业资格考试试卷与答案建设工程技术与计量.doc
- 2008年建设工程监理基本理论与相关法规真题与答案.doc
- 2008年河南省造价员考试真题与答案(建筑与装饰工程).doc
- 2008年监理工程师建设工程合同管理真题与答案.doc
文档评论(0)