文档详情

第五章函数与程序结构摘要.ppt

发布:2017-06-30约3.07万字共98页下载文档
文本预览下载声明
2000年1月25日 北京理工大学 / 第五章 函数与程序结构 第五章 函数与程序结构 第一节 函数的定义、说明、调用与返回 第二节 函数间参数传递 第三节 void型函数 第四节 变量的存储类型和作用域 第五节 函数递归 第六节 递归程序设计方法 参见教材第九章 §5-1 函数的定义、说明、调用与返回 模块化是结构化程序设计的基础。采用模块化程序设计有很多优越性: 控制程序设计的复杂性, 提高软件的可靠性, 提高软件开发的效率, 提高软件的可维护性, 提高程序的重用性。 §5-1 函数的定义、说明、调用与返回 函数是C程序的最小单元。 C程序是由一个主函数以及若干个函数构成 主函数可以调用其它函数,其它函数可以相互调用 例如: main( ) { printf(”This is C program\n”); } 函数main调用了函数printf。printf是一个库函数。 为了完成一个特定的任务,在程序开发中一般要定义若干函数。 §5-1 函数的定义、说明、调用与返回 函数的一般形式 数据类型 函数名 ( 形式参数表 ) 形式参数说明 { 语句 } 1.数据类型是说明函数中return语句返回的值的类型,我们称这个数据类型为该函数的类型 2.函数名是标识符,是函数定义中唯一不可省略的 3.形式参数表是用逗号分隔开的一组变量名。( )不可省略。形式参数表中的参数简称为形参 4.形式参数说明是对形式参数表中每个参数的类型说明 5.{ }括起来的部分是函数体。{ }不可省略 §5-1 函数的定义、说明、调用与返回 函数定义实例 1.C语言中一个最简单的函数: dummy ( ) /* 函数名:dummy */    { } 没有数据类型说明、形参和形参说明,函数体为空。 2.求阶乘函数facto的定义。 long facto ( x ) int x; { long y; for (y=1; x0; --x) y *= x; return (y); } §5-1 函数的定义、说明、调用与返回 函数定义实例 3.求两个变量的最大值。 main( ) { int a,b,c; printf(”Enter a,b\n”); scanf(”%d,%d”,a, b ); c = max( a,b ); printf(”Max = d”, c); } int max ( x , y ) int x,y; { int z; z = x y ? x : y ; return ( z ); } §5-1 函数的定义、说明、调用与返回 函数定义注意事项 1.形式参数表中给出的形式参数名和数量要与形式参数说明中的参数名和数量相同。 要求形式参数表中的形参与形式参数说明中的参数应一一对应。但对于两者的排列顺序没有要求。 2.形式参数表中说明的形式参数只要在形式参数说明中说明一次即可,在函数体中不需再说明,可直接使用。 3.函数体内部的变量说明与形参说明的含义不一样。 前者说明一个局部于函数体的一般变量,后者说明一个用于函数间传送数据的形式变量。 在概念上截然不同,在函数中的作用完全不同。 在函数体内部一般变量与形参的使用方法完全一样。 §5-1 函数的定义、说明、调用与返回 从函数返回的两种方法 用return语句从被调函数中退出,返回调用它的程序中(也成为主调函数); 被调函数如果没有return语句,被调函数执行结束遇到最外面的 },返回主调函数。 return的两重作用: 控制程序从当前函数(被调用函数)中退出,返回到调用函数中继续执行; 从被调用函数向主调函数返回一个值(称为返回值)。 §5-1 函数的定义、说明、调用与返回 返回值规定 函数除去void类型之外,均有一个返回值,返回值的类型就是在定义函数时说明的函数类型。 当返回值类型为整型int时,在定义函数时可省去函数的数据类型定义说明。 max ( x , y ) /* 省略了函数类型说明 */ int x,y; { int z; z = x y ? x : y ; return ( z ); } 对于返回值的类型为非整型的函数,在定义函数时,必须明确地给出函数数据类型说明; 在程序中调用函数的时候,必须先明确地说明被调用函数的数据类型,然后再使用(调用)。 §5-1 函数的定义、说明、调用与返回 返回语句的格式与功能 格式1: return;
显示全部
相似文档