网站大量收购独家精品文档,联系QQ:2885784924

第四讲函数与程序结构.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
99-5-5 Software Engineering 第一章 软件和软件工程 第四章 函数与程序结构 概述 函数及其定义 函数的参数及函数的值 函数的调用 递归 变量的作用域与存储类型 C语言预处理程序 概 述 void main() { printstar(); print_message(); printstar(); } void printstar() { printf(“***************\n”); } void print_message() { printf(“ How do you do! \n”); } 概 述 C程序的执行从main函数开始,调用其他函数后流程返回到main函数,在main函数中结束整个程序的运行。 所有函数是平行的,即在定义函数时是互相独立的,不能嵌套定义。函数间可以互相调用,但不能调用main函数。 从用户使用的角度看,函数有两种:标准函数(库函数)和用户自定义函数。 从函数的形式看,函数分两类: 无参函数:主调函数并不将数据传送给被调用函数 有参函数:主调函数和被调用函数之间有数据传送 函数定义的一般形式 1. 无参函数的定义 函数值类型 函数名( ) { 声明部分 语句 } 注意:无参函数一般不需要带回函数值,因此返回值类型写成void。 2. 空函数:被调用后什么工作也不做。 格式:函数值类型 函数名( ) { } 函数定义的一般形式 3. 有参函数的定义 函数值类型 函数名(形式参数列表) { 声明部分 语句 } 例:int max(int x, int y) { int z; z=xy? x : y; return(z); } 函数参数及函数的值 1. 形式参数和实际参数 形式参数(形参):在定义函数时函数名后面括弧中的变量名。 实际参数(实参):在主调函数中调用函数时,函数名后面括弧中的参数(可以是一个表达式)。 2. 函数的返回值 主调函数通过函数调用,能够得到一个确定的值,这就是函数的返回值。 形式参数和实际参数 void main( ) { int a,b,c; scanf(“%d,%d”,a,b); c=max(a,b); printf(Max is :%d\n,c); } int max(int x, int y) { int z; z=xy?x:y; return(z); } 形参和实参:说明 1:在定义函数中指定的形参,在未出现函数调用时,它们并不占用内存中的存储单元,只有在发生函数调用时形参才被分配内存单元,在调用结束后,形参所占内存单元被释放。 2:实参可以是常量,变量或表达式,但要求它们有确定的值。在调用时将实参的值赋给形参。 3:在被定义的函数中,必须指定形参的类型。 4:形参和实参的类型应一致。 5:C语言规定,实参变量对形参变量的数据传递是值传递,即单向传递,只由实参传给形参,而不能由形参传回给实参。 函数的返回值 1:函数的返回值是通过函数中的return语句获得的。return语句将被调用函数中的一个确定值带回主调函数中去。如果需要从被调用函数带回一个函数值供主调函数使用,被调用函数中必须包含return语句;如果不需要,则可以不要return语句。 2:一个函数中可以有一个以上的return语句。 如:if (x0) return(x); else return(y); 3:return语句后面的括号也可以不要。 如:return z; 等价于 return(z); 4:return语句后面的值可以是一个表达式。 如: return(a+b); return(xy? x:y); 函数的返回值 5:函数值的类型和return语句中表达式的类型应该一致,若不一致则以函数类型为准,对数值型数据可以自动进行类型转换。 6:函数定义中若没有return语句,函数返回一个不确定的值。(并非不返回值) 7:为了明确表示不带回值,可以用void定义无类型。 如: void printstar( ) { ... … } 函数的返回值 void fun (int x, int y, int z) { z=x*x+y*y; } void main( ) { int a=31; fun(5,2,a); printf(%d,a); } 函数的调用 格式:

文档评论(0)

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

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

版权声明书
用户编号:8016031115000003

1亿VIP精品文档

相关文档