- 34
- 0
- 约5.04千字
- 约 27页
- 2016-12-25 发布于天津
- 举报
第六章 函数 本章要点 7.1 函数的定义和返回值 7.2 库函数 7.3 调用函数 7.4 函数的声明 7.5 调用函数和被调用函数之间的数据传递 7.1 函数的定义和返回值 一、函数的概念 函数从本质上来说就是具有独立功能程序段,用于完成特定的任务并根据需要可返回一个确定的值。它有一个名字叫函数名。若有其它程序要完成该函数的功能,可通过函数名调用它,函数可多次反复调用。 引入函数主要是解决两个问题:一是为了解决代码的重复。如有一个程序段在程序中要出现很多次,每次都要写出来既非常麻烦又使程序显得很长,此时就可以把该程序段定义成一个函数,在使用该程序段的地方直接调用该函数就可以了;二是结构化、模块化编程的需要。 建立函数的过程称“函数的定义”,在程序中使用函数称“函数的调用”。 被调用的函数称“被调函数”,而调用函数的函数称“主调函数”。 在C程序中,main()可以调用任何非主函数,非主函数可以调有非主函数也可被其它函数调用但不能调用main()函数,也就是说main()只能作用主调函数。 一个C语言程序,是由一个或多个函数组成。 二、函数的定义 (1)C语言函数定义的一般形式: 存储类型说明符 函数返回值类型名 函数名(类型名 形参1,类型名 形参2,……) { 说明部分 执行部分 } ① 存储类型说明符说明该函数是内部函数还是外部函数。 ② 函数返回值类型名是用来说明该函数返回值的类型,函数返回值的类型名缺省时,返回值类型默认为int行,而不是无返回值。如果函数没有返回值,则其类型说明符应为“void”。 (2)关于函数定义的几点说明 ① C语言规定,不能在同一个函数内部再定义函数。 ② 函数名和形式参数都是由用户命名的标识符。在同一程序中,函数名必须唯一,形式参数名只要在同一函数中即可,可以与其他函数中的变量同名。 ③ 若省略了函数返回值的类型名,则C默认函数返回值的类型为int类型。 ④ 形参可以省略,称为无参函数。在调用时不需实参。即 存储类型说明符 函数返回值类型名 函数名() ⑤ 函数体中,除形参外,用到的其它变量必须在说明部分进行定义,且可以和其他函数中的变量同名。 三、函数的返回值 函数值通过return语句返回,return语句的一般形式为: return 表达式;或return (表达式)或 return; 以下是几点说明: (1)return语句中表达式的值就是所求的函数值,且其类型必须与函数首部所说明的类型一致。若类型不一致,则由系统自动转换为函数值的类型。 四、函数定义举例 (1)定义一个函数,其功能是对三个实型参数求最大值,并返回这个值。 float max(float f1,float f2,float f3) { float m1; /*函数体的说明部分*/ if (f1f2) m1=f1; /*以下是函数体的执行部分*/ else m1=f2; if(m1f3) m1=f3; return(m1); /*通过return(表达式)返回一个确定的值*/ } (2)无参函数定义示例: 定义一个函数,其作用是打印出五行欢迎词“Welcome you, my dear friends”。 void welc() { int i; /*函数体的说明部分*/ for(i=1;i=5;i++) /*以下是函数体的执行部分*/ printf(“Welcome, my dear friends”); } 说明:该函数的类型说明为“void”,所以为无返回值的函数,函数中不需要return语句。 ※重点提示:要想让函数返回一个确定的值,必须通过语句“return(表达式)”来实现,其中表达式就是函数的返回值。如果没有return语句,或return语句不带表达式并不表示没有返回值,而是表示返回一个不确定的值。如果不希望有返回值,必须在定义函数时把“数据类型说明符”说明为“void”。 第二节 库函数 C语言提供了丰富的库函数,包括常用的数学函数,字符、字符串处理函数,输入输出函数等,用户在编写程序时可以直接调用这些已有的库函数。 以下是关于库函数调用的几点说明: (1)调用C语言标准库函数时要求用include命令 对每一类库函数,都有其相应的头文件名,调用某个库函数时,用户在源程序中须用include命令包含其头文件名。一般形式为: #include 头文件名.h或#include “头文件名.h” (3)各个库函数的功能、参数的个数和类型
原创力文档

文档评论(0)