嵌入式Linux下C程序设计--07函数课件.ppt

嵌入式Linux下C程序设计--07函数课件.ppt

ID:57116435

大小:3.33 MB

页数:30页

时间:2020-07-31

嵌入式Linux下C程序设计--07函数课件.ppt_第1页
嵌入式Linux下C程序设计--07函数课件.ppt_第2页
嵌入式Linux下C程序设计--07函数课件.ppt_第3页
嵌入式Linux下C程序设计--07函数课件.ppt_第4页
嵌入式Linux下C程序设计--07函数课件.ppt_第5页
资源描述:

《嵌入式Linux下C程序设计--07函数课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式Linux下C程序设计主讲:成宝宗内容提要概述函数的定义函数参数(变量、数组)和函数值函数的调用函数的嵌套调用局部变量和全局变量及变量的存储类别概述C程序的结构如图所示1、一个C程序可以分为若干个函数2、每个程序有且只能有一个主函数(main),其它函数都是“子函数”3、子函数可以互相调用,但主函数不能被调用4、一个C原程序由一个或多个文件构成,一个原程序文件是一个编译单位说明1、c程序的执行从main函数开始,调用其他函数后仍然回到main函数,程序在main函数结束时结束2、所有子函数都是平行的,任何子函数都不属于其他

2、函数3、从用户的角度看,函数可分为:标准函数,既库函数自定义函数4、从函数形式看,可分为:无参数函数:如printstar()有参数函数:如printf()函数定义的一般形式函数定义的一般形式:类型说明函数名([形式参数说明]){函数体}形式参数说明方法:类型说明变量名[,类型说明变量名]…1、无参函数的定义形式类型说明函数名(){函数体}2、有参函数的定义形式类型说明函数名(形式参数说明){函数体}3、空函数的定义形式类型说明函数名([形式参数说明]){}#includeintmax(intx,inty){i

3、ntz;z=(x>y)?x:y;return(z);}voidmain(){inta,b,c;scanf(“%d%d”,&a,&b);c=max(a,b);printf(“maxis%d”,c);}}一般情况下,函数体由两部分组成:{[局部变量说明]语句}局部变量:函数体内定义的变量。其有效范围仅限于所在的函数内部,离开函数体则无意义函数参数和函数的值一个C程序由若干个函数组成,各函数调用时经常需要传递一些数据。既调用函数把数据传递给被调用函数,经被调用函数处理后,得到一个确定的结果,在返回调用函数时,把这结果带回调用函数主

4、调函数被调用函数a,bz各函数间的信息的往来是由参数传递和返回语句实现的一、形式参数和实际参数函数参数:用于函数间数据的传递形式参数:定义函数时使用的参数实际参数:引用函数时使用的参数函数max有两个形式参数x和y形参x和y只在函数max中使用a和b是主函数中定义的变量main函数调用函数maxa和b为函数max的实参一、形式参数和实际参数说明:1、定义函数时,必须说明形参的类型。形参只能是变量和数组2、函数被调用前,形参不占用内存;函数调用结束后,形参所占用的内存也将被回收3、实参可以是常量、变量和表达式4、实参与形参的类型必

5、须一致。字符型和整型可以互相匹配5、C语言中实参对形参的数据传递是“值传递”,既单向传递。它仅由参数的对应位置确定,与名字无关思考:将函数max作如下变形会怎样?二、函数的返回值1、返回函数值的方法函数的返回值也就是函数值,是一个确定的值1)如果一个函数有返回值,就必须使用return语句2)一个函数中可以有一个以上的return语句,但不论执行到那个return都将结束函数的调用返回主函数3)return语句中的括号可以省略;return后面的值可以是一个表达式。2、函数值的类型1)函数的类型既函数值的类型。例如函数max是i

6、nt型的也就是函数值是int型2)省略了类型说明的函数是int型的3)return语句中表达式的值一般应与函数类型一致4)如果不一致,则需要进行类型转换。只有数值型数据可以进行自动类型转换,以函数类型为准。3、不需要返回值的函数1)如果函数中没有使用return语句,函数返回的是一个不确定的数值。2)如果一个函数不需要返回值(表示一个过程),可以用void做类型说明。3)如果一个函数被声明为void类型,就不允许再引用它的返回值(既只能用函数语句形式调用)。函数的调用一、函数调用的一般形式一般形式:函数名(实参表列)说明:1)如

7、果调用无参函数,实参表列可以忽略,但括号不能省略。2)实参的个数的形参一般相等。3)实参与形参的类型应一一对应,必须时使用类型转换。二、函数调用的方式1、函数语句形式为:函数名(实参表列);例如:printmaessage();printf(“%d”,p);说明:这种方式不要求函数带返回值,函数仅完成一定的操作2、函数表达式函数的返回值参与运算例如:m=max(a,b);m=3*max(a,b);printf(“Maxis%d”,max(a,b));说明:这种调用方式不能用于void型函数三、函数调用的执行过程1)按从右向左的顺

8、序,计算实参中表达式的值2)按照位置,将实参的值一一对应地传送给形参3)执行被调用函数4)当遇到return(表达式)语句时,计算表达式的值,并返回主调函数四、函数的原形说明在程序中调用函数需要满足以下条件:1、被调函数必须存在,且遵循“先定义后使用”的原则。2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。