C语言程序设计(第3版) ,第6课 函数程序设计.pptVIP

  • 3
  • 0
  • 约1.21万字
  • 约 42页
  • 2018-08-30 发布于湖北
  • 举报

C语言程序设计(第3版) ,第6课 函数程序设计.ppt

C语言程序设计 第6章 函数程序设计 第6章 数组程序设计 6.1 函数概述 6.2 自定义函数示例 6.3 函数定义及调用 6.4 函数嵌套和递归函数 6.5 数组作为函数的参数 6.6 函数应用举例 6.1 函数概述 C语言程序的特点:函数化结构 函数分类:系统函数、用户函数 系统函数:printf()、scanf()、sqrt()等 用户函数:在程序中编写的函数,又称自定义函数。 用户函数的特例:main()函数 如果在程序中经常需要某种处理,就可以编写一个函数,在需要这种处理时,就调用该函数。 示例 计算a!+b!+c! 6.3 函数的定义及调用 6.3.1 函数的定义 6.3.2 函数值和return命令 6.3.3 函数调用 6.3.1函数定义 函数定义的一般格式 函数类型? 函数名(形式参数表) { 函数体 } 形式参数表的格式 数据类型?变量1,数据类型?变量2,…,数据类型 变量n 6.3.1函数定义 6.3.2 函数值和return命令 函数值是函数执行后带回的一个结果 函数值通过函数体中return命令获得。 return一般格式 return(表达式) 或: return 表达式 6.3.2 函数值和return命令 6.3.2 函数值和return命令 6.3.3 函数调用 6.3.3 函数调用 6.3.3 函数调用 6.3.3 函数调用 6.3.3 函数调用 6.3.3 函数调用 注意 函数调用时,实参和形参按照在参数表中的位置对应传值。 例6-10 编写输出n个连续的任意字符的函数p_string(),并调用该函数输出一个5行的“*”三角形图案 6.4 函数嵌套和递归函数 6. 4. 1 函数嵌套 6. 4. 2 递归函数 6. 4. 1 函数嵌套 函数嵌套是指在一个用户函数的函数体中,又出现了另外用户函数的调用。如函数a调用函数b,函数b又调用函数c等。 6. 4. 1 函数嵌套 6. 4. 2 递归函数 6. 4. 2 递归函数 6. 4. 2 递归函数 6. 4. 2 递归函数 6. 4. 2 递归函数 6.5 数组作为函数的参数 6.5.1 数组元素作为函数参数 6.5.2 一维数组名作为函数参数 6.5.3 用一维数组求解二维数组问题 6.5.1 数组元素作为函数参数 6.5.2 一维数组名作为函数参数 6.5.2 一维数组名作为函数参数 6.5.2 一维数组名作为函数参数 6.5.3 用一维数组求解二维数组问题 6.5.3 用一维数组求解二维数组问题 6.6 函数应用举例 6.6.1计算长方体的面积 6.6.2利用递归函数计算Fibonacci数列 6.6.3排序函数的设计与应用 6.6.1计算长方体的面积 例6-18 设计一个计算矩形面积的函数,并调用该函数计算长方体的面积。 问题分析 ⑴ 设矩形面积函数为area(),原型: float area(foat,float) ⑵ 设长方体的长、宽、高分别为a、b、c,面积为s: s= 2×(area(a,b)+area(b,c)+area(a,c)) ⑶ 设计主函数main(),在其中输入a、b、c,然后调用area()计算长方体面积,并输出结果。 6.6.2 利用递归函数计算Fibonacci数列 例6-19 计算Fibonacci数列的第n个数。 问题分析与算法设计 ⑴ 描述计算Fibonacci数的递归公式 6.6.3排序函数的设计与应用 例6-20 设计一个对一维数组排序的sort()函数,并调用它实现数组排序。 问题分析与算法设计 ⑴ 设计排序函数sort(),排序算法使用冒泡排序法。 sort()函数原型 void sort(int,int []) ⑵ 设计input()实现数组输入、设计output()实现数组输出。函数原型: void input(int,int []) void output(int ,int []) ⑶ 设计主函数mian(),在其中定义数组data。 ① 调用input()函数建立data数组。 ② 调用output()函数输出data数组。 ③ 调用sort()函数对data数组排序。 ④ 调用output()函数输出排序后的结果。 实现程序 6.7 变量的作用域和存储类型 6.7.1变量的作用域 6.7.2变量的存储类型 6.7.1 变量的作用域 1.局部变量 在函数体内定义的变量称为局部变量,也称为内部变量。局部变量只能在定义它的函数中使用。 6.7.1 变量的作用域 2.全

文档评论(0)

1亿VIP精品文档

相关文档