第七章 函 数 7.1 概述 在C语言里,函数(Function)是指实现一个特定功能的程序模块。用户可以根据自己程序设计的需要,划分出不同的功能模块,再将这些功能模块定义为相应的函数,这种由用户自己所定义的函数,称为“用户自定义函数”。 在集成开发环境中,也总是将一些常用的功能模块编写成函数,放在函数库中供公共选用,这些函数称为“库函数”。 例7.1(P170)函数的调用(演示P143.c) #include “stdlib.h” // VC6.0中使用 main ( ) { printstar ( ); print_message ( ); printstar ( ); } printstar ( ) { printf(“***********************\n ”); } print_message ( ) { printf(“How do you do!\n”); } 说明: 1) 一个C源程序文件可以由一个或多个函数组成。一个源程序文件就是一个编译单位,而函数不是编译单位。 2) 一个C程序由一个主函数和若干个一般函数构成,其中主函数是不可缺省的。每个C程序都是由主函数去调用其他函数,其他函数又可相互调用。 3) 一个C程序由一个或多个源程序文件组成。对于较大的C程序,通常将一些函数和其他内容分别放在若干源文件中,再由若干源文件组成一个C程序。最简单的情况,一个C程序由一个源程序文件组成,这个源程序文件中只包含了一个函数(主函数)。 4) C程序的执行是从main函数开始,调用其它函数后流程又回到main函数,在main函数中结束整个程序的运行。main函数是由系统定义的,是一个特殊的函数。 5) 所有函数在定义时是相互独立的,函数之间可以相互调用。 函数的分类: 1) 从用户使用的角度函数可分为: 标准函数,即库函数。由系统提供,用户不必定义,直接使用; 用户自定义函数。由用户根据需要,自行编写,以解决专门需要。 2) 从函数的形式分,函数可分为: 无参数函数。在调用无参函数时,主函数并不将数据传送给被调用函数,一般用来执行指定的一组操作。无参函数可以带回也可以不带回函数值,一般以后者居多; 有参函数。在调用函数时,在主函数和被调用函数之间有数据传递。 7.2 定义一个函数 1. 无参函数的定义形式 类型标识符 函数名 ( ) { 声明部分 语句 } 其中,用“类型标识符”指定函数值的类型,即函数返回值的类型。无参函数一般不需要带回函数值,因此可以不写类型标识符。 2. 有参函数的定义形式 类型标识符 函数名 ( 形式参数表列 ) { 声明部分 语句 } 例如: int max(int x, int y) { int z; z=xy?x:y; return(z); } 说明: 1)return(z)的作用是将z的值作为函数值返回到主函数中,这个值称为“函数返回值”。注意返回值的类型要和定义函数的“类型标识符”一致。 2)如果在定义函数时不指定函数类型,系统会隐含指定函数类型为int 型。 3. 空函数的定义形式 类型说明符 函数名( ) { } 例如: dummy( ) { } 说明: 1)调用此函数时,什么工作也不做,没有任何实际作用。 2)空函数的使用一般用于程序设计的模块设计阶段。表示这是一个待完成的函数,但不影响当前程序的运行。 4. 对形参进行声明的方式(在1.3节中已讲) C语言传统声明方式为:对形参类型的声明放在函数定义的第2行,在函数括号外单独指定。 传统声明方式: int max(x, y) int x, y; { int z; z=xy?x:y; return(z); } 现代声明方式: int max(int x,int y) { int z; z=xy?x:y; return(z); } 7.3 函数参数和函数的值(P174) 7.3.1 形式参数和实际参数 在定义函数时,函数名后面括号中的变量名称为“形式参数” (简称“形参”)。在主调函数中调用一个函数时,函数名后面括弧中的参数(也可是一个表达式)称为“实际参数”(简称“实参”)。 关于形参和实参的说明 1) 在定义函数中指定的形参,在未出现函数调用时,它们并不占据内存单元。只有在发生函数调用时, max函数中的形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放。 2) 实参可以是常量、变量、表达式、函数
您可能关注的文档
最近下载
- 【基恩士】CZ-V21A(P)_V22A(P) 使用说明书 (简体中文).pdf VIP
- 座谈会议记录模板.docx VIP
- 重难点28:解三角形之基础方法技巧类题型归纳(九大题型总结)(培优固本提能讲义)(学生版).docx
- 石家庄市2026届高三11月教学质量摸底检测 政治试卷(含答案)原卷.pdf
- 四级词汇表(乱序版).pdf VIP
- 电力工程专业设计工日定额光纤通信工程部分.docx VIP
- 《电子世界》1986-06.pdf VIP
- 基于“区域-港口-货流”视角下世界集装箱海运网络复杂性解析与策略研究.docx
- 1_曲煒四柱信息取象完整版.pdf VIP
- 2025春新版四年级数学口算题1200道.pdf VIP
原创力文档

文档评论(0)