欢迎来到天天文库
浏览记录
ID:20895343
大小:1.01 MB
页数:128页
时间:2018-10-17
《c语言程序设计第6章(姜恒远著)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章模块化程序设计与函数1主要内容6.1函数概述6.2函数定义6.3函数返回6.4函数调用6.5标识符的作用域6.6变量的存储属性6.7*参数个数可变函数的定义及调用6.8宏定义与宏调用26.1函数概述6.1.1模块化程序设计6.1.2函数36.1.1模块化程序设计大规模程序开发策略——模块化模块化程序开发基本步骤(1)设计阶段自顶向下将一个原始复杂任务分解为多个较简单的子任务。(2)编码阶段自低向上为每个单一功能的子任务设计算法,将描述其算法的一组语句封装为一个独立代码块,为每个独立代码块定义一个名字和能与其他独立代码
2、块通信的接口。模块化策略开发程序的优点从整体上简化概念结构,降低程序开发和修改的复杂度,提高程序可读性。46.1.2函数函数是什么将一组语句封装为一个独立代码块的实现方法。与函数有关的3个语法概念函数声明,函数调用,函数返回。56.1.2函数#include#includeintmax(intx,inty);/*函数引用性声明*/intmin(intx,inty);/*函数引用性声明*/intmain(void)/*函数定义性声明*/{charcmd;inta,b,c;printf(“
3、nInputtwonumber:”);scanf(“%d%d”,&a,&b);printf(“Inputcommand:1.max2.min3.average“);cmd=getch();switch(cmd){case‘1’:c=max(a,b);/*函数调用*/break;case‘2’:c=min(a,b);/*函数调用*/break;case‘3’:c=(a+b)/2;}66.1.2函数printf(“resultis%d”,c);return0;}intmax(intx,inty)/*函数定义性声
4、明*/{intz;if(x>y)z=x;elsez=y;returnz;}intmin(intx,inty)/*函数定义性声明*/{if(xy)z=x;elsez=y;returnz;}函数声明86.1.2函数函数定义是C源程序必不可少的构件。一个源程序中包含的所有
5、函数定义可按任意次序保存在一个源文件(扩展名“.c”)中,也可以经分割后保存在多个源文件中。不允许将一个函数定义分割开来保存在多个源文件中。函数定义的分类:库函数:不需定义,可多次调用,例sqrt自定义函数:定义一次,可多次调用,例min函数定义性声明96.1.2函数函数引用性声明(简称“函数声明”)描述一个函数的特性及扩大函数名的作用域。例如:intmax(intx,inty);⑵函数引用性声明106.1.2函数从当前正在执行的函数跳转到另一个函数执行或重新开始执行本函数的操作。例如:max(a,b)min(a,b)pr
6、intf(“resultis%d”,c)函数调用116.1.2函数结束被调函数执行返回主调函数的操作。函数返回时,被调函数可以将一个结果值带回主调函数,这个值被称为“函数返回值”。例如:intmax(intx,inty){intz;if(x>y)z=x;elsez=y;returnz;/*函数返回语句,z:返回值*/}函数返回126.2函数定义6.2.1函数定义形式6.2.2函数名6.2.3返回值类型6.2.4形式参数6.2.5函数体6.2.6存储类型136.2.1函数定义形式intmin(intx,inty)/*函数
7、头部*/{/*函数体开始*/intz; /*局部变量声明*/z=x8、允许与局部变量同名,允许与形式参数同名。166.2.3返回值类型定义无返回值函数时返回值类型说明符为void例如:voidprint_value(intx){printf(“x=%d”,x);}176.2.3返回值类型定义有返回值函数时必须在返回值类型说明符位置给出返回值的数据类型。函数返回值的数据类型
8、允许与局部变量同名,允许与形式参数同名。166.2.3返回值类型定义无返回值函数时返回值类型说明符为void例如:voidprint_value(intx){printf(“x=%d”,x);}176.2.3返回值类型定义有返回值函数时必须在返回值类型说明符位置给出返回值的数据类型。函数返回值的数据类型
此文档下载收益归作者所有