- 2
- 0
- 约1.44万字
- 约 61页
- 2019-01-08 发布于湖北
- 举报
第8章 函数 函数的引入 函数:函数是完成某些特定功能的代码块。 使用函数的优点: 1)实现模块化设计:将一个大任务分解成一个个的小任务,然后每个任务分别用函数实现。 2)实现“编写一次,多次调用”,避免在不同的程序中重复编写相同的函数。 3)便于程序调试和维护,因为每个函数之间是相互独立的。 函数的分类:库函数和用户自定义函数 8.1 函数的定义 例8. 1编写函数max:求两个整数x和y中的较大数。 int max (int x, int y) /*函数头*/ { int z=x; /*函数体{……}*/ if (xy) z=y; return z; } main() { int a, b, d; printf(input a and b:); scanf{%d %d, a, b}; d=max(a, b); /*函数调用*/ printf(max is:%d, d); } 例8.2:设某程序中需多次用到打印表头(如下所示)的功能,该功能用函数实现: void line( ) { printf(\n ********************); printf(\n* score list *); printf(\n ********************); } 本例中,函数的类型: void,函数名为line,函数无参数。 该函数无返回值,所以函数类型为void型。 函数定义的一般形式如下: 函数类型 函数名(类型名 形式参数1,类型名 形式参数2,…) { 说明部分 语句部分 } 1.函数名:是该函数的唯一标识符,一般函数的命名最好做到“见名知义”。 2.函数类型:函数的返回值的类型。 当函数无返回值时,规定其类型为: void。 当函数返回值为 int 时,函数类型可以省略。 3. 形式参数:形参是函数被调用时用于接收实参值的变量。 根据实际需要可有可无。没有形参时,圆括号也不可省;多个参数之间应用逗号分隔。参数包括参数名和参数类型。 形参的类型说明可有如下两种格式: int max(int a,int b) /*形参的类型在形参表中直接说明*/ { return (ab?a:b);} 或 int max(a,b) int a,b; /*形参的类型在函数体前、函数名后说明*/ { return(ab?a:b); } 前者为标准格式,后者为传统格式,通常用前者。 4.函数体:即函数功能的具体实现。 它包括两部分: 说明部分和执行部分,其中说明部分包括函数中所用的局部变量等的说明、函数中要调用的函数的说明。 注意: 函数不能嵌套定义,即函数内不能再定义函数,这样可以保证函数间是相互独立的,以实现模块化程序设计。 5.空函数: 函数类型 函数名( ) { } 调用此函数时,什么也不做。只是表明这里要 调用一个函数,而现在这个函数的功能还没实现。 空函数在程 序设计中常常用到的: 1)预留函数,便于以后扩充程序功能。 2)便于程序的模块化设计和调试:程序设计中往往根据需要确定若干模块,分别由一些函数来实现。一个大系统,需要编写很多用户函数,而这些函数不可能 也没有必要同步完成,通常足从一些基本模块开始,编写一个调试一个,对于没有编写 的函数就需要用空函数代替。从而也有利于集体创作。 空函数举例 例8.3 编写小学生算术练习系统的主程序: 显示主菜单,用户选择,根据选择执行加、减、乘、除、退出5项功能之一。 重复上述步骤,直至选择退出。 其中主程序调用的函数有:显示主菜单函数list_menu(),加、减、乘、除、退出函数分别是add(), sub(), mul(),divide(), end(). 以上函数除list_menu()外此时均为空函数。 程序:l8_1_4.c #include stdio.h /*l8_1_4.c*/ main() { void add(),sub(),mul(),divide(),end(),list_menu(); int n; do{ list_menu(); scanf(%d,n); getchar(); switch(n) {case 1: add(); break; case 2:
您可能关注的文档
- Ch5 大数定律及中心极限定理.ppt
- CH08系统风险评估与脆弱性分析.ppt
- ch11_UML包图及对象图.ppt
- CH11入侵检测与防御技术.ppt
- Chap2Sec2 线性方程组直接解法2n.ppt
- chap5大数定律及中心极限定理.ppt
- CHAP13 主成分分析与因子分析.ppt
- chapter 51第五章第一节.ppt
- Chapter3-关于类和对象进一步讨论3.ppt
- Chapter11-1-二叉搜索树-2学时.ppt
- 中国国家标准 GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具.pdf
- 《GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具》.pdf
- GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 中国国家标准 GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 《GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求》.pdf
- 《GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法》.pdf
- GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用.pdf
- 《GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用》.pdf
原创力文档

文档评论(0)