C语言程序设计 第8章函数与预处理命令 八西亚斯围陈学院自动化 2021/2/24
2021/2/24 1 第8章 函数与预处理命令 西亚斯国际学院 自动化 C 语言程序设计
第8章函数与预处理命令 81概述 82函数的定义与调用 8.3数组作函数参数 84函数的嵌套调用和递归调用 85局部变量和全局变量及其作用城 86变量的存储类别及变量的生存期 87函数的存储分类 88编译预处理 8.9多文件程序的调试方法 2021/2/24
2021/2/24 第 2 8章 函数与预处理命令 8.1 概述 8.2 函数的定义与调用 8.3 数组作函数参数 8.4 函数的嵌套调用和递归调用 8.5 局部变量和全局变量及其作用域 8.6 变量的存储类别及变量的生存期 8.7 函数的存储分类 8.8 编译预处理 8.9 多文件程序的调试方法
81概述 C程序 源程序文件1 。。。 源程序文件n 函数1 函数n 函数1 函数m 「使用L⑩程序结构清晰,可读性好 函数②减少重复编码的工作量 的 好处 ③可多人共同编制一个大程序,缩短程序 设计周期,提高程序设计和调试的效率。 2021/2/24
2021/2/24 3 8.1 概述 ① 程序结构清晰,可读性好。 ② 减少重复编码的工作量。 ③ 可多人共同编制一个大程序,缩短程序 设计周期,提高程序设计和调试的效率。 使用 函数 的 好处 … … C程序 源程序文件n 函数1 函数m 源程序文件1 … … 函数1 函数n
例81】求一个整数的立方 nt cube(intx)/函数定义 d return(x *x* x);3 #include<stdio.h> void main( 程序的执行总是 f int f, a 从main函数开始 printf("n Enter an integer lumber: y scan f("%d",&a); f= cube(a) 函数调用 printf("%d* %d* %d=%d\n", a, a, a, f); 程序运行情况如下: Enter an integer number: 2Y 22*2=8 2021/2/24
2021/2/24 4 【例8.1】求一个整数的立方。 int cube (int x) /* 函数定义 */ { return (x * x * x); } #include<stdio.h> void main( ) { int f, a; printf("\nEnter an integer number:"); scanf("%d", &a); f = cube (a); printf("%d * %d * %d = %d\n", a, a, a, f); } 程序运行情况如下: Enter an integer number:2 2 * 2 * 2 = 8 函数调用 程序的执行总是 从main函数开始
(1)一个C源程序可以由一个或多个源程序文件组 成。C编译系统在对C源程序进行编译时是以文件 为单位进行的。 (2)一个C源程序文件可以由一个或多个函数组成。 所有函数都是独立的。主函数可以调用其它函数, 其它函数可以相互调用 (3)在一个C程序中,有且仅有一个主函数main C程序的执行总是从main函数开始,调用其它函数 后最终回到main函数,在main函数中结束整个程 序的运行。 2021/2/24
2021/2/24 5 ⑴ 一个C源程序可以由一个或多个源程序文件组 成。C编译系统在对C源程序进行编译时是以文件 为单位进行的。 ⑵ 一个C源程序文件可以由一个或多个函数组成。 所有函数都是独立的。主函数可以调用其它函数, 其它函数可以相互调用。 ⑶ 在一个C程序中,有且仅有一个主函数main。 C程序的执行总是从main函数开始,调用其它函数 后最终回到main函数,在main函数中结束整个程 序的运行。 说明