- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数 本章目标 理解模块化设计思想 掌握函数的定义和调用方法 掌握C语言的参数传递方法 掌握变量的作用域和存储方式 函数概述 函数是能够完成一定任务的、相对独立的程序段,可以被看作组成一个程序的逻辑单元。 函数概述 函数的分类(从函数开式分) 无参函数 函数调用时,主调函数并不将数据传送给被调函数。 有参函数 函数调用时,主调函数将数据传送给被调函数 函数的定义 函数的定义 返回值类型符 函数名( [形式参数列表] ) { 函数体} 函数的定义 判断下述程序是否能正常编译 main() {int r; r=fun(4)%fun(5); } double fun(int n) { return n*1.0; } 函数的定义 说明: (1)函数原型声明语句最后的分号不能省略,其作用是表示该语句是进行函数声明而不是函数定义。 (2)在原型声明中,形式参数名可以省略。 (3)如果被调用函数的定义出现在调用函数之前,可以不对被调用函数进行原型声明。 (4)如果被调用函数已在所有函数定义之前进行了原型声明,则在各个调用函数中不必再对该函数进行原型声明。 math.h文件中的部分内容 int _Cdecl abs (int x); double _Cdecl cos (double x); double _Cdecl exp (double x); double _Cdecl log10 (double x); double _Cdecl pow (double x, double y) double _Cdecl sin (double x); double _Cdecl sqrt (double x); 标准函数的函数声明 #include math.h void main() { printf(%f,sqrt(4)); } 函数调用与参数传递 有参函数调用的格式:函数名(实际参数) 无参函数的调用格式:函数名( ) 函数调用与参数传递 函数调用和参数传递 C语言中的参数传递 参数传递。 程序代码如下: #includestdio.h void swap(int a,int b); /*声明函数原型*/ void main() { int x,y; x=10; y=20; swap(x,y); /*调用函数*/ printf(%d,%d,x,y); } void swap(int a,int b) /*定义函数*/ { int t; t=a; a=b; b=t; } 函数调用与参数传递 程序输出如下: 10,20 函数调用与参数传递 数组参数 一维数组参数 定义 void printarray(int a[]){ …..} 调用 printarray(b); 其中b为数组名 二维数组参数 定义 void printarray(int a[][4]){…} 调用 printarray(b) 函数调用与参数传递 函数的嵌套调用 C语言中的函数定义是相互独立的,不允许函数的“嵌套”定义,即不允许在一个函数体内包含另一个函数的定义。但允许嵌套调用函数,即在调用一个函数的过程中,又调用另一个函数。 A(){ B();} B(){C();} 函数调用与参数传递 函数的递归调用 一个函数不仅可以调用其它函数,还可以直接或间接调用它本身,这种调用过程被称作递归(recursion)。 A() { A(); } n!=(n-1)!*n 使用fac求阶乘,可表示成 fac(n)=fac(n-1)*n long int fac(int n) { if(n==0) return 1; else return n*fac(n-1); } 函数 本次课小结 理解模块化设计思想 掌握函数的定义和调用方法 掌握C语言的参数传递方法 函数与变量的作用域 函数与变量的作用域 变量的作用域 变量的存储类别 局部变量和全局变量 一、变量的作用域 一个C程序由多个函数构成,每个函数内部为一个范围。 局部变量和全局变量 二、局部变量 1、在一个函数内部定义的变量被称作局部变量,也叫内部变量。 2、局部变量只在定义它的函数范围内有效 3、不同函数内的变量可以重名,它们对应不同的存储空间,变量地址不同。 4、形参变量也是局部变量 5、可在复合语句内定义变量,作用域为该复合语句 局部变量和全局变量 void main() { int a,b,t=5;; void swap(int,int); a=3;b=4; s
文档评论(0)