基本信息
文件名称:函数与模块设计.ppt
文件大小:526.5 KB
总页数:30 页
更新时间:2025-06-03
总字数:约4.12千字
文档摘要

*安徽大学计算机教学部 C语言程序设计基础关于函数与模块设计第1页,共30页,星期日,2025年,2月5日第七章函数与模块设计学习目标理解模块化是程序设计的重要原则,函数是C语言实现模块化的途径掌握C语言中函数的定义形式,能够实现自定义函数理解函数调用过程中函数原型的作用掌握函数调用过程中实际参数与形式参数的值传递规则理解函数返回值的和函数类型之间的关系理解C语言中函数调用机制理解C语言中的作用域规则,理解变量的存储类型第2页,共30页,星期日,2025年,2月5日7.1函数概述函数是模块化的基本单位主调函数与被调函数程序、源文件与函数关系程序中各模块关系第3页,共30页,星期日,2025年,2月5日7.1函数概述模块在C语言中主要是通过函数实现。模块的组织是通过函数间的调用而完成。一个可实际运行的程序可由一个或多个源程序文件组成,其中有且只能有一个源程序文件中包含main函数。第4页,共30页,星期日,2025年,2月5日7.2函数分类函数按用户使用的角度来分可分为标准函数:系统定义提供的函数,无需用户定义,直接使用。自定义函数:用户根据自己解决问题的需要定义的函数。函数的返回值可分为有返回值无返回值函数的参数形式来分可分为无参函数:函数定义时无需给出任何参数,引用时也不用指定参数。有参函数:函数定义时需要给出参数,这个参数参与函数体中的数值运算。从是否可被其他编译单位调用的角度函数可分为外部函数内部函数第5页,共30页,星期日,2025年,2月5日7.2函数的声明、定义与调用函数声明函数定义函数调用第6页,共30页,星期日,2025年,2月5日函数声明函数声明格式格式:函数返回值类型名函数名(形式参数表);示例一:intInc(intx);示例二:intAdd(intx,inty);示例三:voidSwap(intx,inty);示例四:voidCompute();函数声明的目的将函数的具体形式呈现给使用它的函数或模块一般出现在头文件中第7页,共30页,星期日,2025年,2月5日注意:1、函数一般会有一个返回值,如果没有值函数没有返回值,可以用无值型(void)来表示函数的返回值类型。2、函数声明的列表中也可以省略形参名称,但不建议这样定义。如:intadd(int,int);voidswap(int,int);3、函数如果没有形参,函数声明时可以只有括号,但括号不能省略,也可以用void来表示该函数没有参数。如:intcopmute();或intcompute(void);4、在编程中,一般会先定义头文件,将该程序用到的所有函数都声明在该头文件中,如果没有放在头文件中,那么可以直接放在#include之后,也可以直接放在被调函数中。5、函数声明后应该加分号。第8页,共30页,星期日,2025年,2月5日函数定义函数定义:实现该函数函数的定义格式:数据类型函数名([形参表]){函数体;}说明:函数体是一个程序段,也可以是一个复合语句,函数可长可短。函数的定义类型必须和函数声明的完全一致,函数声明后不加分号。形参表可以没有参数,称无参函数,否则为有参函数,如果出现多个参数应该用;隔开。第9页,共30页,星期日,2025年,2月5日函数定义有些情况下,我们需要先定义一个空的函数待以后实现其具体功能,这样的函数定义格式如下:类型说明函数名(){};自定义函数名和变量名相似,一旦定义函数,主函数就可以通过函数名调用该函数了。函数的数据类型主要是指函数有返回值的数据类型,对于无确切返回值的函数通常用void来定义。函数的返回值:被调函数向主函数通过return语句返回一个值,且只能返回一个值。Return语句的格式为:Return(表达式);或return表达式;Return语句的作用有两个:一个结束函数的运行,而是带着返回值返回主函数。第10页,共30页,星期日,2025年,2月5日函数定义示例一自定义函数Add()求两个整数之和intAdd(intx,inty){intz;z=x+y;returnz;}第11页,共30页,星期日,2025年,2月5日函数定义示例二自定义函数Cmp()比较两个整型数据x、y的大小,如果x等于y函数返回0,如