清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.2函数的定义 2有参函数的定义 有参函数定义的一般形式为: 类型标识符函数名形式参数表列) 声明部分 执行部分 有参函数比无参函数多了一个内容,即形式参数表 列。在形参表中给出的参数称为形式参数,它们可以是 各种类型的变量,各参数之间用逗号分隔。在进行函数 调用时,主调函数将赋给这些形式参数实际的值。形参 既然是变量,必须在形参表中给出形参的类型声明。 返回本章首页
6 返回本章首页 7.2 函数的定义 2.有参函数的定义 有参函数定义的一般形式为: 类型标识符 函数名(形式参数表列) { 声明部分 执行部分 } 有参函数比无参函数多了一个内容,即形式参数表 列。在形参表中给出的参数称为形式参数,它们可以是 各种类型的变量,各参数之间用逗号分隔。在进行函数 调用时,主调函数将赋给这些形式参数实际的值。形参 既然是变量,必须在形参表中给出形参的类型声明
清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.2函数的定义 3带返回值的函数定义 带返回值的函数,函数体的执行部分必须通过 return语句给 函数返回指定类型的值。 return语句的一般形式为: return表达式; 或者为: return(表达式) 该语句的功能是计算表达式的值,并将该值返回给主调函数。 在函数中允许有多个 return语句,但每次调用只能有一个 return 语句被执行,因此只能返回一个函数值。在定义函数时指定的函 数类型一般应该和 return语句中的表达式类型一致;如果函数值 的类型和 return语句中表达式的值不一致,则以函数类型为准。 返回本章首页
7 返回本章首页 7.2 函数的定义 3.带返回值的函数定义 带返回值的函数,函数体的执行部分必须通过return语句给 函数返回指定类型的值。 return语句的一般形式为: return 表达式; 或者为: return (表达式); 该语句的功能是计算表达式的值,并将该值返回给主调函数。 在函数中允许有多个return语句,但每次调用只能有一个return 语句被执行,因此只能返回一个函数值。在定义函数时指定的函 数类型一般应该和return语句中的表达式类型一致;如果函数值 的类型和return语句中表达式的值不一致,则以函数类型为准
清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.2函数的定义 4不带返回值的函数定义 不带返回值的函数应明确定义为空类型,类型声明符 为void。一旦函数被定义为空类型,就不能在主调函数 中使用被调函数的函数值了。 5函数定义的位置 在C程序中,一个函数的定义可以放在任意位置,既 可放在主函数main之前,也可放在main之后。 在C语言中,所有函数的定义,包括主函数main在 内,都是平行的。也就是说,在一个函数的函数体内, 不能再定义另一个函数,即不能嵌套定义。 返回本章首页
8 返回本章首页 7.2 函数的定义 4.不带返回值的函数定义 不带返回值的函数应明确定义为空类型,类型声明符 为void。一旦函数被定义为空类型,就不能在主调函数 中使用被调函数的函数值了。 5.函数定义的位置 在C程序中,一个函数的定义可以放在任意位置,既 可放在主函数main之前,也可放在main之后。 在C语言中,所有函数的定义,包括主函数main在 内,都是平行的。也就是说,在一个函数的函数体内, 不能再定义另一个函数,即不能嵌套定义
清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.3被调函数的声明 对于用户自定义函数,不仅要在程序中定义函 数,而且在主调函数中还要对该被调函数进行声 明,然后才能使用。 在一个函数中调用另一个自己定义的函数,如 果被调函数在主调函数之后定义,那么在主调函 数中调用被调函数之前应对该被调函数进行声明, 这与使用变量之前要先进行变量声明是一样的。 在主调函数中对被调函数作声明的目的是使编译 系统知道被调函数返回值的类型,以便在主调函 数中按此种类型对返回值作相应的处理。 返回本章首页
9 返回本章首页 7.3 被调函数的声明 对于用户自定义函数,不仅要在程序中定义函 数,而且在主调函数中还要对该被调函数进行声 明,然后才能使用。 在一个函数中调用另一个自己定义的函数,如 果被调函数在主调函数之后定义,那么在主调函 数中调用被调函数之前应对该被调函数进行声明, 这与使用变量之前要先进行变量声明是一样的。 在主调函数中对被调函数作声明的目的是使编译 系统知道被调函数返回值的类型,以便在主调函 数中按此种类型对返回值作相应的处理
清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.3被调函数的声明 1函数声明的一般形式 类型声明符被调函数名(类型形参类型形参.) 或为: 类型声明符被调函数名(类型类型…) 括号内给出了形参的类型和形参名,或只给出形参类 型。便于编译系统进行检错,以防止可能出现的错误。 例如: int max(int a, int b) 或写为: int max(int, int); 10 返回本章首页
10 返回本章首页 7.3 被调函数的声明 1.函数声明的一般形式 类型声明符 被调函数名(类型 形参,类型 形参…); 或为: 类型声明符 被调函数名(类型,类型…); 括号内给出了形参的类型和形参名,或只给出形参类 型。便于编译系统进行检错,以防止可能出现的错误。 例如: int max(int a,int b); 或写为: int max(int,int);