[工学]C语言程序设计-第8讲函数.ppt
文本预览下载声明
第八讲 函 数 熟练掌握函数的定义、调用、返回值的方法及参数传递方式 掌握函数使用的常用方法 了解变量的作用域和变量的存储类别 本章作业: 8.1 函数-概 述 模块化程序设计方法的概念 8.1 函数-概 述 C函数的概念 8.1 函数-概 述 C函数与C程序结构 8.1 函数-概 述 C函数与C程序结构 8.1 函数-概 述 8.1 函数-概 述 8.1 函数-概 述 C函数的特点 8.1 函数-概 述 函数的分类 8.1 函数-概 述 8.1 函数-概 述 8.2 函数定义的一般形式 无参函数的定义形式 8.2 函数定义的一般形式 8.2 函数定义的一般形式 8.2 函数定义的一般形式 8.3 函数参数和函数的值 形式参数和实际参数 8.3 函数参数和函数的值 形式参数和实际参数 8.3 函数参数和函数的值 上例中形参与实参、函数名与返回值之间的关系: 8.3 函数参数和函数的值 8.3 函数参数和函数的值 8.3 函数参数和函数的值 函数的返回值 8.3 函数参数和函数的值 8.3 函数参数和函数的值 8.3 函数参数和函数的值 8.3 函数参数和函数的值 函数值的类型 8.3 函数参数和函数的值 8.4 函数的调用 函数调用的一般形式 8.4 函数的调用 函数调用的具体方式 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 对被调用函数的说明 (声明) 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 8.4 函数的调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 8.5 函数的嵌套调用 上题函数的嵌套调用关系: 8.6 函数的递归调用 8.6 函数的递归调用 8.6 函数的递归调用 8.7 数组作为函数参数 8.7 数组作为函数参数 8.7 数组作为函数参数 8.7 数组作为函数参数 8.7 数组作为函数参数 8.7 数组作为函数参数 8.7 数组作为函数参数 8.7 数组作为函数参数 8.8 局部变量和全局变量 一、局部变量 8.8 局部变量和全局变量 8.8 局部变量和全局变量 8.8 局部变量和全局变量 二、全局变量 8.8 局部变量和全局变量 void main ( ) { int a[10], i; printf(“enter array: \n”); for (i=0; i10; i++) scanf (“ %d ”,a[i]); sort(a, 10); printf(“the sorted array: \n”); for (i=0; i10; i++) printf (“ %d ”, a[i]); printf(“\n”); } 由于地址传递,实参数组 a 改变 数组名做参数的好处: ⑴ 由于只需复制一个地址值,而无须复制全部需要处理的数据,因此节约存储空间并提高效率。 ⑵ 由于主调函数和被调函数是在相同的内存区域上对数据进行操作,因此可以实现数据的同步更新。 三、多维数组可以做函数的参数 多维数组元素可以做实参 多维数组名可以做参数 说明: ⑴ 形参数组定义时可以指定或省略第一维的大小。 如 : int array [3][10]; 或 int array [ ][10]; 但 int array [3][ ]; ╳ 和 int array [ ][ ]; ╳ ⑵ 实参数组可以大于形参数组。 如:实参数组定义为:int array [5][10]; 形参数组定义为:int array [3][10]; 这时形参数组只取实参数组的一部分,其余部分不起作用。 定义:在函数内部或复合语句内部定义的变量, 称作局部变量。 作用域:函数内或复合语句内。 注意: ⑴ 主函数 main 定义的变量只在主函数中有效, 主函数不能使用其它函
显示全部