清华大学出版社 JSINGHUA UNIVERSY PHESS 第8章函数 81概述 82函数定义的一般形式 83函数参数和函数的值 84函数的调用 8.5函数的嵌套调用 86函数的递归调用 8.7数组作为函数参数 88局部变量和全局变量 89变量的存储类别 810内部函数和外部函数 811如何运行一个多文件的程序 习题
8.1 概述 8.2 函数定义的一般形式 8.3 函数参数和函数的值 8.4 函数的调用 8.5 函数的嵌套调用 8.6 函数的递归调用 8.7 数组作为函数参数 8.8 局部变量和全局变量 8.9 变量的存储类别 8.10 内部函数和外部函数 8.11 如何运行一个多文件的程序 习题 第8章 函 数
清华大学出版社 TSINGHUA UNIVERSITY PRESS 81概述 一个较大的程序一般应分为若干个程序模块,每 个模块用来实现一个特定的功能。所有的高级语 言中都有子程序这个概念,用子程序实现模块的 功能。在C语言中,子程序的作用是由函数完成 的。一个C程序可由一个主函数和若干个函数构 成。由主函数调用其他函数,其他函数也可以互 相调用。同一个函数可以被一个或多个函数调用 任意多次。图8.1是一个程序中函数调用的示意图
8.1 概述 一个较大的程序一般应分为若干个程序模块,每一 个模块用来实现一个特定的功能。所有的高级语 言中都有子程序这个概念,用子程序实现模块的 功能。在C语言中,子程序的作用是由函数完成 的。一个C程序可由一个主函数和若干个函数构 成。由主函数调用其他函数,其他函数也可以互 相调用。同一个函数可以被一个或多个函数调用 任意多次。图8.1是一个程序中函数调用的示意图
清华大学出版社 TSINGHUA UNIVERSITY PRESS 在程序设计中,常将一些常用的功能模块编写成函 数,放在函数库中供公共选用。要善于利用函数, 以减少重复编写程序段的工作量 先举一个简单的函数调用的例子。例8.1 main printstar();/*调用 printstar函数* print- message();/*调用 print message*/ printstar();/*调用 printstar函数* printstar()/* printstarl函数*
在程序设计中,常将一些常用的功能模块编写成函 数,放在函数库中供公共选用。要善于利用函数, 以减少重复编写程序段的工作量。 先举一个简单的函数调用的例子。例8.1 main() {printstar();/* 调用printstar函数 */ print-message();/* 调用print message */ printstar(); /* 调用printstar函数 */ } printstar() /*printstar函数*/ {
清华大学出版社 TSINGHUA UNIVERSITY PRESS printf "兴兴共为兴兴兴兴兴\n") main print-message ( * print-message函数*/ printf ("How do you do! n") 图8 运行情况如下: zkkκk;κkκκ;κκκ How do you do! kk;:tκκκ;:κκκ
printf("* * * * * * * * * * * * * * * * * *\n"); } print-message() /* print-message函数*/ { printf("How do you do!\n"); } 运行情况如下: * * * * * * * * * * * * * * * * * * How do you do! * * * * * * * * * * * * * * * * * * 图8.1
清华大学出版社 TSINGHUA UNIVERSITY PRESS printstar和 print- message都是用户定义的函数名,分 别用来输出一排“*”号和一行信息。 说明: (1)一个源程序文件由一个或多个函数组成。一个源 程序文件是一个编译单位,即以源程序为单位进行 编译,而不是以函数为单位进行编译。 (2)一个C程序由一个或多个源程序文件组成。对较 大的程序,一般不希望全放在一个文件中,而将函 数和其他内容(如预定义)分别放在若干个源文件 中,再由若干源文件组成一个C程序。这样可以分 别编写、分别编译,提高调度效率。一个源文件可 以为多个C程序公用
printstar和print-message都是用户定义的函数名,分 别用来输出一排“*”号和一行信息。 说明: (1) 一个源程序文件由一个或多个函数组成。一个源 程序文件是一个编译单位,即以源程序为单位进行 编译,而不是以函数为单位进行编译。 (2) 一个C程序由一个或多个源程序文件组成。对较 大的程序,一般不希望全放在一个文件中,而将函 数和其他内容(如预定义)分别放在若干个源文件 中,再由若干源文件组成一个C程序。这样可以分 别编写、分别编译,提高调度效率。一个源文件可 以为多个C程序公用