第6章 函数1--函数的定义和调用陆小马功钟浩.ppt

第6章 函数1--函数的定义和调用陆小马功钟浩.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.1 模块化程序设计与函数 在设计较复杂的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。这样的话,原来问题的解就可以用这些小问题来表示。 把复杂任务细分成多个问题的过程,就叫程序的模块化。模块化程序设计是靠设计函数和调用函数实现的。 6.2 函数的定义与调用 在C语言中,函数(Function)是一个处理过程,可以进行数值运算、信息处理、控制决策,即一段程序的工作放在函数中进行,函数结束时可以携带或不带处理结果。 库函数(标准函数):系统提供 自定义函数:用户自己写 函数必须先定义和声明后才能调用 C 语言程序是由函数组成的,有且只能有一个main函数。 库函数 如printf,scanf,sqrt,fabs,pow等 自定义函数调用 定义格式: 函数返回值类型 函数名([参数表]) { 函数体; [return 参数可有可无] } 调用格式: [值=]函数名([实参表]) 1.无参数无返回值的函数定义和调用 void 函数名( ) { } 函数名( ); 无参无返回值函数--案例 定义函数,输出30个*  无参无返回值函数--案例 void putstar( ) { int i; for (i=0; i30; i++) printf(*); printf(\n); } main() { putstar(); } 函数定义 函数调用 2. 带参数无返回值的函数定义和调用 void 函数名( 类型 形参1,类型 形参2......) { } 函数名( 实参1,实参2......); 2 带参数无返回值的函数--案例 定义函数实现如下功能:输出任意多个* 2 带参数无返回值的函数--案例 void putstar( int x) { int i; for (i=0; ix; i++) printf(*); printf(\n); } main() { int a=10; putstar(a); } 函数定义 函数调用 形式参数与实际参数的关系 形式参数在函数中是变量名,在函数调用时,形参被分配相应的内存。 实际参数是表达式,负责向对应的形参标识的内存单元传递数据。 实参与形参必须个数相同。 对应的形参和实参的类型必须一致。 实参与形参 例:主调函数中有如下语句: scanf(%d,%d,a,b); m=max(a, b+3); 如果输入 6,2 函数 int max(int a, int b) 形参 b 得到第二个实际参数b+3的值 5 形参 a 得到第一个实际参数a的值 6 3. 带参数带返回值的函数定义和调用 返回值类型 函数名( 类型 形参1,类型 形参2......) { return 返回值; } 变量=函数名( 实参1,实参2......); 或者printf(“...”,函数名( 实参1,实参2......)) 或者使用函数名( 实参1,实参2......)参与运算等 把函数调用这部分当成一个变量来用,值就是这个函数的返回值 3 带参数带返回值的函数--案例 定义函数实现任意大写字母转换为其对应小写 3 带参数带返回值的函数--案例 char A_to_a( char c ) { char small; if (c=A c=Z) small= c + 32; return small; } main() { char ch; ch=getchar(); ch=A_to_a(ch); printf(“%c”,ch); } 函数定义 函数调用 案例一:求1!+2!+3!+…+10! 思路:s=s+ i! 使用函数实现求i! return返回值说明 调用时,把函数调用当成一个变量来用,值就是返回值的值,类型就是返回值的类型,函数调用语句不能当成一条独立语句 求1!+2!+3!+…+10! 核心:s=s+ i! long mm(int n); void main( ) { int i; long s=0; for( i=1; i =10; i ++) s+= mm(i); printf(\n%ld,s); } long mm( int n) { long t=1; int i; for (i =1; i =n; i ++) t *= i ; return t ; } 函数声明位置一般在main( )之前 p://nlzp.5d6d.c ttp:// http://nlzp. p://nlzp.5d6

文档评论(0)

陆小马公主号 + 关注
实名认证
内容提供者

陆小马 功钟浩 分享资源

1亿VIP精品文档

相关文档