- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c6 C语言课件
* * main() f1 f2 f3 f4 f5 f6 f7 f8 函数的定义、调用和说明 函数的参数和函数的返回值 函数的嵌套调用和函数的递归调用 函数与数组 变量的存储类别 体现模块化程序设计的思想 一个源文件通常由一个主函数和若干个子函数组成,各子函数之间是平行的,不能嵌套定义,但能相互调用。 第6章 函数 1、 函数的定义:其一般格式: [类型标识符] 函数名 ( [形式参数表] ) { [函数体] } 其中: 方括号中的内容是可选项。 函数名:由用户命名,命名规则与标识符命名规则相同。 类型标识符: 定义了函数返回值的数据类型。 当函数的返回值是整形或字符型,可省略类型标识符。 当函数无返回值时,则类型类型标识符用void关键字。 形式参数表的形式为: 类型标识符 形参1,类型标识符 形参2,··· 若省略形式参数表,则称为无参函数。否则称为有参函数。 函数体:包含了反映函数功能的说明语句和执行语句。 当函数无函数体时,则为空函数。 一、函数的定义、调用和说明 例6.1:编写一个求n! 的函数(n为整数) long fac(int n) { long k; for( k=1; n0; n--) k*=n; return(k); } 例 打印30个*号 void printstar ( ) { int j, k; for (j=1; j=30; j++) printf(“*”) ; printf(“\n”); } 2、函数的调用 函数调用表达式的一般形式:函数名([实参表]) 实参表:可以是常量、变量或表达式。 其类型、顺序和个数必须与函数定义时形参表的一致。 对于无参函数,则省略实参,但括号不能省略。 main() { long fac(int n ); /*函数说明 */ printf(“%ld”,fac(5)); } long fac(int n) { long k; for( k=1; n0; n--) k*=n; return(k); } 函数的调用过程: 从主调函数转移到被调函数; 将实参的值一对应传递给形参; 从被调函数的第一条语句开始执行该函数各个语句; 在执行完所有语句或遇到return语句时,返回主调函数中原来的断点处继续执行。 main() { int m,n; long amn; long fac(int n); printf(input m,n:); scanf(%d,%d,m,n); amn=fac(m); amn=amn/fac(m-n); printf(%ld\n,amn); } 例6-2 编程求排列问题 long fac(int n) { long k; for(k=1; n0; n--) k*=n; return(k); } Amn=m!/(m-n)! 3、函数的说明 C语言中,在函数调用之前应对所调用的函数进行说明。指出函数的名称、函数返回值的类型、形参的类型和个数,以便编译系统对函数进行语法检查。 格式;类型标识符 被调函数的函数名([ 形式参数表]); 说明:1、函数说明一般放在主调函数说明部分。 2、若被调函数位于主调函数之前,或其返回值是整型或字符型时,则可省略函数说明。 int max (int x,int y) /*函数定义*/ { return (xy ? x: y);} 例6.3:#include “stdio.h” main ( ) { int a, b, c; int max (int x, int y); /* 函数说明*/ scanf (“%d %d”,a,b); c=max (a,b); /* 函数调用*/ printf (“%d\n”,c); } int max (int x,int
文档评论(0)