C语言中的程序模块称为函数,第七章 函的 数7.1 函数的概念1.什么是函数 在结构化程序中广泛采用了模块化的设计方法,一个程序是由若干个程序模块组成的。在c语言中,这样的程序模块就是函数。....

第七章 函的 数7.1 函数的概念1.什么是函数 在结构化程序中广泛采用了模块化的设计方法,一个程序是由若干个程序模块组成的。在c语言中,这样的程序模块就是函数。

第七章 函 数 7.1 函数的概念 1.什么是函数 在结构化程序中广泛采用了模块化的设计方法,一个程序是由若干个程序模块组成的。在C语言中,这样的程序模块就是函数。 2.C语言函数的特点 (1)C程序由一个或多个函数组成。每一个函数都有自己的名字,实现特定的功能,相互之间都是平行的,没有从属关系。 (2)一个C程序必须有一个、且只能有一个主函数,主函数的名字是main。程序的执行从main( )函数开始,在main( )函数中结束。 (3)main( )函数可以调用其他函数,其他函数也可以互相调用,同一个函数可以被一个或多个函数调用任意次,但main( )不能被调用。 函数调用示意如下图所示 3.C语言函数分类 (1)从用户使用的角度看 ①标准函数,即库函数。这是由系统提供的函数,这些函数不需用户自己定义,用户可以直接在程序中使用它们。但必须注意用户在程序中使用标准函数时必须在程序的开头加上#include编译预处理命令。 ②用户自己定义的函数。是指用户用于满足应用程序的专门需要而编写的函数。 (2)从函数形式上看 ①无参函数。定义函数时参数表中没有任何参数,这就是说,在调用它时,主调函数不传递任何参数过来,一般用来执行一组指定的操作。 ②有参函数。定义函数时参数表中有参数,在函数调用时,主调函数和被调函数之间有参数传递。 7.2 函数的定义 一、函数定义形式 类型标识符 函数名([形式参数说明列表]) { 函数体 } 或 类型标识符 函数名([形式参数列表]) 形式参数说明; { 函数体 } 其中: 类型标识符——代表该函数返回值的类型,可以是基本数据类型,也可以是用户自己定义的数据类型,也可以是viod(表示函数无返回值)。若省略,将自动被默认为int型。 函数名——必须为用户标识符,命名规则与变量名相同。函数名取名一般要有意义。 形式参数列表——(简称形参)代表函数的自变量,根据实际需要,形参个数可以是一个、多个或没有,多于一个参数时,用逗号加以分隔。无参数时一对圆括号不能省略。 形参说明——如果函数有参数,则应对它们的类型一一作出说明。可以在参数列表中说明也可在外面说明。 函数体——函数体必须由一对花括号”{ }”,其中包括变量的说明和语句两部分。这里的变量说明,用来对函数体中所使用的变量进行定义,而语句给出的是实现函数功能的语句序列。 例1:定义一个函数,求点(x,y)到原点的距离。 double distance(double x,double y) { double z; z=sqrt(x*x+y*y); return z; } 例2:定义一个函数,输出三个整数中的最大数。 void max(int a,int b,int c) { a=a>b?a:b; printf("max=%d\n",a>c?a:c); } 二、说明事项 1.定义函数时,第一行函数头的句末不能加分号。 2.如果函数有返回值,则函数体中必须使用return语句将函数值返回出来。 return语句的三种形式为: (1)return (表达式); (2)return 表达式; (3)return; 其作用是将函数值返回给调用函数,结束自身函数的执行。对于void型函数,一般不出现return语句,若要出现的话,那只能是不带表达式的第三种形式。 3.通常要求所返回的函数值类型必须与所定义的函数类型相一致,若不一致,则以函数的类型为准,对于数值型数据,C编译系统将自动进行类型转换。 4.一个函数中可以有一个以上的return语句,执行到哪一个return语句,则该被执行的return语句起作用。 例如:if (x>y){z=x*y;return (z);} else {w=(x*y)/(x+y);return (w);} 7.3 函数的调用 一、函数调用一般形式 1.有参函数的调用形式 函数名(实参表) 2.无参函数的调用形式 函数名( ) 说明: 说明: (1)无参函数没有实参表,但是括号不能省略。 (2)实参表中包含多个实参时,各参数间用逗号分隔开。 (3)有参函数调用时,函数被调用前,形参的值是不确定的,当函数被调用时,才给它分配存储单元,并把实参的值传递给形参,使其具有确定的值。 (4)有参函数调用时,实参和形参按顺序对应结合,由实参向形参传递数据,所以实参和形参必须个数相等,类型一致。 二、函数调用方式 1.函数的调用出现在表达式中 若函数有返回值就要以这种方式调用。 2.以独立的函数语句调用 若函数无返回值一般就以这种方式调用。 例1函数的调用: #include #include

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值