第八章函数 8-1概述 C语言的基本单位是函数。函数相当于其他 语言中的子程序。一个C程序由一个主函数和若 干个函数组成。一个函数中可以调用若干个函 数,反之,一个函数可以被多个函数调用,调用 次数不限。 个C源程序文件(,c是一个编译单位。 一个C程序可由一个源程序文件或多个源程序文 件组成 C程序的执行从main函数开始,在mai函数 结束,main函数由系统定义
第八章 函 数 8-1 概 述 • C 语言的基本单位是函数。函数相当于其他 语言中的子程序。一个C程序由一个主函数和若 干个 函数组成。一个函数中可以调用若干个函 数,反之,一个函数可以被多个函数调用,调用 次数不限。 • 一个C源程序文件(***.c)是一个编译单位。 一个C程序可由一个源程序文件或多个源程序文 件组成。 • C 程序的执行从main函数开始,在main函数 结束,main函数由系统定义
函数与函数之间是平行的独立的,不能在 个函数中定义另一个函数(所谓嵌套定义 函数可以互相调用(不能调用main函数), 被调用的函数可以调用别的函数(嵌套调用), 并可以调用自己。 在程序设计中,常将一些常用的功能模块编 写成函数,存放在函数库中(通常由软件厂商提 供),函数库中的函数称为库函薮。除了标准库 函数外,很多软件公司还为用户提供许多实用的 非标准的库函数。用户要尽可能熟悉库函数。 从函数的参数形式看,可分为有参函数和无 参函数
• 函数与函数之间是平行的独立的,不能在一 个函数中定义另一个函数(所谓嵌套定义)。 • 函数可以互相调用(不能调用 main 函数), 被调用的函数可以调用别的函数(嵌套调用), 并可以调用自己。 • 在程序设计中,常将一些常用的功能模块编 写成函数,存放在函数库中(通常由软件厂商提 供),函数库中的函数称为库函数。除了标准库 函数外,很多软件公司还为用户提供许多实用的 非标准的库函数。用户要尽可能熟悉库函数。 • 从函数的参数形式看,可分为有参函数和无 参函数
8-2函数的定义 无参函数的定义形式 类型标识符函数名()∥{}中称为函数体 {说明部分 语句}∥合}若空缺,则为空函数。 有参函数的定义形式 类型标识符函数名(形式参数表列) 形式参数说明 说明部分 语句}
8-2 函数的定义 • 无参函数的定义形式 类型标识符 函数名()//{}中称为函数体 { 说明部分 语句 }//{}若空缺,则为空函数。 • 有参函数的定义形式 类型标识符 函数名(形式参数表列) 形式参数说明 {说明部分 语句 }
8-3函数的参数和函数的返回值 形式参数和实际参数 int sum(xy)∥xy为形参 Int x, y ∥形参说明 i int z; z-X+y; return(z);) main( i int a, b, c 返回值 a=45;b=24;c=sm(a,b);/ab为实参 printf(a=%d, b=%/od, c=%d,n, a,b, c), j
8-3 函数的参数和函数的返回值 形式参数和实际参数 int sum( x,y ) // x,y为形参 int x, y ; // 形参说明 { int z ; z=x+y ; return(z) ; } main( ) { int a , b ,c ; a=45 ; b=24 ; c = sum (a, b) ; // a,b为实参 printf(“a=%d, b=%d, c=%d,\n”,a,b,c) ; } 返回值
函数的形参与函数的实参数据类型应一致 实参变量对形参变量的数据传递是单向的值 传递。只是由实参将它的值传递给形参,而不 能由形参传回给实参 函数调用时,系统给形参分配内存单元,调 用结束后,形参单元被释放 实参在函数调用前后不会变化 Turbo c中形参说明与形参合并 int sum(int x, int y)
• 函数的形参与函数的实参数据类型应一致 • 实参变量对形参变量的数据传递是单向的值 传递。只是由实参将它的值传递给形参,而不 能由形参传回给实参 •函数调用时,系统给形参分配内存单元,调 用结束后,形参单元被释放 •实参在函数调用前后不会变化 •Turbo C中形参说明与形参合并 int sum ( int x, int y ) { … }