第八章函数 主讲福州大学数学与计算机学院韩晓芸 E-mail:hxy@fjtv.net
1 第八章 函 数 主讲 福州大学数学与计算机学院 韩晓芸 E-mail: hxy@fjtv.net
第八章函数 第八章函数 第一节C函数概述 第二节C函数的定义 第三节函数调用和参数传递 第四节函数的嵌套调用 第五节函数的递归调用 第六节数组作为函数的参数 第七节局部变量和全局变量 第八节变量的存储类别 第九节内部函数和外部函数 第十节如何运行一个多文件程序
第八章函 数 2 第八章 函 数 第一节 C函数概述 第二节 C函数的定义 第三节 函数调用和参数传递 第四节 函数的嵌套调用 第五节 函数的递归调用 第六节 数组作为函数的参数 第七节 局部变量和全局变量 第八节 变量的存储类别 第九节 内部函数和外部函数 第十节 如何运行一个多文件程序
第八章函数 第一节C函数概述 个C程序是由头部说明和若干函数构成的。 其中必须包含且仅包含1个主函数,它是整个程序 运行的起点。 非主函数常用来实现某个特定的功能模块。 主函数可以调用其他函数,其他函数也可以 互相调用。 在程序设计中,常将一些常用的功能模块编 写成函数,放在函数库中供公共选用。利用库函 数,可以减少重复编写程序段的工作量。 函数必须先定义,后调用
第八章函 数 3 第一节 C函数概述 一个C程序是由头部说明和若干函数构成的。 其中必须包含且仅包含1个主函数,它是整个程序 运行的起点。 非主函数常用来实现某个特定的功能模块。 主函数可以调用其他函数,其他函数也可以 互相调用。 在程序设计中,常将一些常用的功能模块编 写成函数,放在函数库中供公共选用。利用库函 数,可以减少重复编写程序段的工作量。 函数必须先定义,后调用
第八章函数 第一节C函数概述 源文件1 函数1 一个⌒程序 源文件2 ●●●●●● 一个○程序的源文件 函数2 ●●●●●● 函数n 源文件皿
第八章函 数 4 源文件1 函数n 函数2 函数1 源文件m 源文件2 一 个 C 程 序 一 个 C 程 序 的 源 文 件 ...... ...... 第一节 C函数概述
第八章函数 第一节C函数概述 printstar Printf 例1 米来*n" main printstar print_ mess a printstaro print messo printf How do you do! \n") 5
第八章函 数 5 第一节 C函数概述 print_mess() {printf (" How do you do!\n"); } printstar() {printf ("*********\n"); } 例1 main() { printstar(); print_mess(); printstar(); }
第八章函数 第一节C函数概述 h文件可以书写若干 函数分类 个函数的定义 ◆标准函数(库函数),指由系统定义的函数, 用户程序可以调用,要加头文件说明。 ◆自定义函数,指由用户根据实际需要编写的函数, 可以和主函数写在同一个文件中,直接进行调用, 无需头文件说明;也可以单独写成h头文件中, 调用同标准函数
第八章函 数 6 第一节 C函数概述 函数分类: ◆ 标准函数(库函数),指由系统定义的函数, 用户程序可以调用,要加头文件说明。 ◆自定义函数,指由用户根据实际需要编写的函数, 可以和主函数写在同一个文件中,直接进行调用, 无需头文件说明;也可以单独写成.h头文件中, 调用同标准函数。 .h文件可以书写若干 个函数的定义
第八章函数 第二节C函数的定义 无参函数的定义 类型标识符函数名() 【声明部分/定义局部变量 语句}P函数体* 上例中 print star0和 print mess0都是无参函数。 说明: 1.“类型标识符”指定函数返回值的类型,即函数带回 来的值的类型。无参函数一般不需要带回函数值,因 此可以不写类型标识符,或者用void标识。 12.虽然无参数,函数的括号要保留
第八章函 数 7 第二节 C函数的定义 无参函数的定义 – 类型标识符 函数名() – {声明部分 /*定义局部变量*/ – 语句} /*函数体*/ 上例中print_star()和print_mess()都是无参函数。 说明: 1. “类型标识符”指定函数返回值的类型,即函数带回 来的值的类型。无参函数一般不需要带回函数值,因 此可以不写类型标识符,或者用void标识。 2. 虽然无参数,函数的括号要保留
第八章函数 第二节C函数的定义 有参函数的定义 类型标识符函数名(形式参数表列) 声明部分 语句} 说明: 1.有参数函数可能有返回值,也可能没有返回值,有 返回值时要标明正确的返回值类型。且在函数体中 兖少有一个remn讶句。 2参数表中的多个参数用逗号隔开,且每个参数的类 型要定义
第八章函 数 8 第二节 C函数的定义 有参函数的定义 – 类型标识符 函数名(形式参数表列) – {声明部分 – 语句} 说明: 1.有参数函数可能有返回值,也可能没有返回值,有 返回值时要标明正确的返回值类型。且在函数体中 至少有一个return语句。 2.参数表中的多个参数用逗号隔开,且每个参数的类 型要定义
第八章函数 第二节C函数的定义 有参函数的定义形式 例: int max(intx,inty) intz;/声明部分* Z=Xy?X:y, return (z); j 注:形参的类型可以在括号中定义,也可以在() 后 前来定义。即上述定义形式可改写为如下: int max(x, y) Int X, y; tint z; z=X>y?x:y; return z;1
第八章函 数 9 第二节 C函数的定义 有参函数的定义形式: 例:int max(int x,int y) {int z; /*声明部分 */ z=x>y?x:y; return(z);} 注:形参的类型可以在括号中定义,也可以在() 后 {前来定义。即上述定义形式可改写为如下: int max(x, y) int x,y; {int z; z=x>y?x:y; return z; }
第八章函数 第三节函数调用和参数传递 3.1函数调用的一般形式 3.2函数的调用方式 3.3函数返回值 3.4形参和实参的几点说明 3.5被调用函数的说明 10
第八章函 数 10 第三节 函数调用和参数传递 3.1 函数调用的一般形式 3.2 函数的调用方式 3.3 函数返回值 3.4 形参和实参的几点说明 3.5 被调用函数的说明