《C语言程序设计教程(第3版)》课件第08章 函数.pptx
文本预览下载声明
第8章 函 数制作人:sssC语言程序设计教程第三版第八章 函数第8章:函 数 学习的意义 模块化程序设计方法: 人们在求解某个复杂问题时,通常采用逐步分解、分而治之的方法,也就是将一个大问题分解成若干个比较容易求解的小问题,然后分别求解。程序员在设计一个复杂的应用程序时,往往也是把整个程序划分成若干个功能较为单一的程序模块,然后分别予以实现,最后再把所有的程序模块象达积木一样装配起来,这种在程序设计中分而治之的策略,被称为模块化程序设计方法。 语言程序设计教程第三版第八章 函数C学习的意义 达积木软件项目……功能模块1功能模块n功能模块2…………C语言程序子模块n子模块1子模块2……C语言函数语言程序设计教程第三版第八章 函数C学习的意义 使用函数,不仅可以实现程序的模块化,程序设计得简单和直观,提高了程序的易读性和可维护性。 编写自定义函数库。把一些常用的或某些特定功能的程序制作成自己的函数库,以供随时调用,这样可以大大减轻日后编写代码的工作量。 通过对函数的学习,掌握模块化程序设计的理念,为将来进行团队合作,协同完成大型应用软件奠定一定的基础。 学习目标 正确理解函数在C语言程序设计中的作用和地位;理解函数、形参、实参、作用域、生存期的概念;掌握各种函数的定义、原型声明和调用的方法;理解全局变量、局部变量、静态变量、静态函数的作用域和生存期;掌握递归函数的编写规则;掌握利用工程管理程序的方法; C语言程序设计教程第三版第八章 函数学习内容 函数概述 函数的定义与调用 无参数无返回值的函数 无参数有返回值的函数 带参数无返回值的函数 带参数有返回值的函数 函数参数传递的传递方式 变量的作用域和生存期 变量的存储类型 函数的嵌套和递归调用 函数的作用域 函数应用综合举例 本章小结语言程序设计教程第三版第八章 函数C8.1 函数概述 1、函数的概念 函数其实就是一段可以重复调用的、功能相对独立完整的程序段。 C是函数式语言 必须有且只能有一个名为main的主函数 C程序的执行总是从main函数开始,在main中结束 函数不能嵌套定义,可以嵌套调用2、函数的分类 从用户角度 标准函数(库函数):由系统提供 用户自定义函数使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件 从函数形式 无参数无返回值 无参数有返回值 有参数无返回值 有参数有返回值语言程序设计教程第三版第八章 函数C函数体8.2 函数的定义和调用 必须为合法的标识符1、无参数无返回值的函数 定义格式 void 函数名 (void){ 变量声明部分 执行部分}空类型,表明函数无返回值,不可省!表明无参数,可缺省! 函数用途 此类函数用于完成某项固定的处理任务,执行完成后不向调用者返回函数值。它类似于其它语言的过程。 函数的原型声明 void 函数名( void ); 或void 函数名( ); C语言规定,对函数调用之前必须对其原型加以声明,否则会出现编译错! 语言程序设计教程第三版第八章 函数C调用showerror函数 返回#include stdio.h#include math.hvoid showerror ( ); //声明showerror函数的原型int main ( ){ int a; scanf (%d, a); while (a 0) { showerror( ); scanf (%d, a); } printf (sqrt(a) = %.2f\n, sqrt(a)); return 0;}void showerror( ) //函数的定义,无参数无返回值{ printf(input error!\n);//函数体,没有声明变量}1、无参数无返回值的函数 函数的调用 函数名( ); 注意:不能将这种函数调用赋值给任何变量,因为它没有返回值。调用时,( )中间不能有void。 实例 注意:对函数调用之前,必须要先声明或先定义,否则编译错!语言程序设计教程第三版第八章 函数C 编写C程序的一般格式 文件包括(如include stdio.h等,用于标准库库函数原型声明)常量定义(根据需要而定,如#define PI 3.1415等)变量定义(根据需要而定)用户自定义函数原型声明main函数用户自定义函数例如:void showyes ( ){ char key; key = getch ( ); if (toupper(key) != Y) return; printf (YES! );} 函数的返回 函数showyes的功能是: 如果输入的字符不是Y或y,则什么都不输出,直接返回,否则,输出YES! 形式 ① return
显示全部