第7章_用函数实现模块化程序设计.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计 - 第5章 函数 第7章 函 数 函数概述 函数定义的一般形式 函数的调用、参数和返回值 局部变量和全局变量 变量的存储类型 内部函数和外部函数 模块化程序示意图: 函数调用程序实例 #includestdio.h int main( ) { printstar(); print_message( ); printstar( ); } void printstar( ) { printf(“**************\n”);} void print_message( ) { printf(“how do you do!\n”);} 1 函数概述 (Function) C语言用函数实现程序模块化 一个程序由一个或多个源程序文件组成 一个源程序文件由一个或多个函数组成 C程序的执行从main函数开始,并回到main函数结束 函数之间可以相互调用,或调用自身 不能调用main函数 函数之间相互独立,不存在从属关系 函数的分类(1) 从使用角度分: 标准库函数:以程序库的形式直接提供给用户使用。 stdio.h : gets()、printf() math.h : sin()、sqrt() 用户自定义函数:由用户自己建立定义。 函数的分类(2) 从函数形式分: 无参函数:调用函数时主函数不将数据传送给被调函数。用于完成特定功能的操作。 如:c=getchar( )…… 有参函数:调用函数时在主调函数和被调函数之间有参数传递。 如:putchar(c)、puts(str)、…… 7.2 函数定义的一般形式 函数定义形式 返回类型 函数名(参数声明) { 声明部分 语句 } 返回类型、参数、函数体内容都可省略 dummy(){} /* does nothing returns nothing */ 函数定义形式的说明 关于“返回类型” 指函数返回值的类型 若省略此项,则认为返回类型是int 若无返回值,则定义返回类型为void 关于“参数声明” 类型 形参名, 类型 形参名, ... 关于“声明部分” 指变量、函数的声明 函数定义举例 7.3 函数的参数和函数的值 形式参数和实际参数 形参:定义函数时,函数名后()中的参数 实参:调用函数时,函数名后()中的参数 实参可以是常量、变量、表达式、函数调用 实参和形参必须类型相同或赋值兼容 【例】求两数的最大值。注意函数的定义形式。 #include stdio.h int max(int x,int y) /*函数定义*/ { int z; z=(xy)?x:y; return(z); } main( ) { int a,b,c; scanf(%d%d,a,b); c=max(a,b); /*函数调用*/ printf(max=%d\n,c); } 参数传递 值传递 实参对形参的数据传递是“值传递” 单向传递 只能把实参的值传递给形参 不能把形参的值传递给实参 对形参的值所作的改变不能带回给实参 实参和形参是不同的变量 具有不同的存储空间 具有不同的生存期和作用域 参数传递举例 参数传递举例 int main() { int n=100; printf(input number\n); s(n); printf(“main函数:n=%d\n,n); } int s(int n) { int i; for(i=n-1;i=1;i--) n=n+i; printf(“s函数:n=%d\n,n); } return语句 形式 形式一:return; 形式二:return expression; 功能 函数返回语句 结束函数调用 如果需要,还可以带回函数返回值 return语句执行图示: main() { int a,b,c; scanf(“%d%d”,a,b); c=max(a,b); printf(“max=%d\n”,c); } int max(x,y) int x,y; { int z; z=(xy)?x:y; return(z); } 函数的返回值 (Return Value) 返回值的说明 函数返回值的类型在函数定义中指定 函数返回值通过函数中的return语句获得 若函数无返回值,则可以没有return语句 return语句后的表达式类型,应与函数返回值类型相同,或可以兼容赋值;两者类型不同时,自动做类型转换 函数需要返回值时,若缺少return语句,或return语句未带返回值,则返回一个不确定值 7.4 函数的调用 一般形式 函数名(实参表列) 说明 即使没有实参,()也不能省略

您可能关注的文档

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档