- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 / 孙淑霞 罗奕 主编 第八章 函 数 8.1 函数的定义和返回值 8.1.1 函数的定义 函数定义的一般形式如下: 函数返回值的类型 函数名(类型名 形式参数1,类型名 形式参数2,…) { 说明部分 /*函数体*/ 语句部分 } 例如:int my_chengfang(int x, int n) { int i,j; j=1; for(i=0;in;i++) j*=x; return j; } 函数定义的5要素: ① 函数名:函数名必须是合法的标识符,可以由字母、数字和下画线组成,命名规则同变量一样。 ② 函数返回值的类型:即通过return语句返回数据的类型,例如int、float等。 ③ 圆括号():圆括号()是函数定义中必不可少的。 ④ 函数的形式参数列表:包含在圆括号中的是函数的形式参数列表,函数的形式参数和数学函数参数的意义类似,用于调用函数时给被调用函数传递数据。如果函数没有参数,括号中可以是空白,或写上void。 ⑤ 函数体:由一对花括号{}包含的若干语句,用于实现具体功能。 8.1.2 函数的返回值 return语句的一般形式如下: return (表达式); 或return 表达式; 【例8.1】读程序,说出程序的运行结果。 #includestdio.h int max(float,float); void main() { float k; printf(\nmax=%f,k=max(7.5,9.3 printf(\n3*max=%f,k=3*max(7.5,9.3)); } int max(float a,float b) { return(ab?a:b); } 程序运行结果如下: max=9.000000 3*max=27.000000 8.2 函数的调用 函数调用的一般形式如下: 函数名(实在参数表)或函数名() 函数调用有两种形式: ① 调用的函数用于求出某一个值。这时,函数的调用可以作为表达式出现在允许表达式出现的地方。如例8.1中的k=max(7.5,9.3)和k=3*max(7.5,9.3)。 ② 调用的函数仅仅是完成某些操作而不返回函数值,这时函数的调用可以作为一条独立的语句。 函数调用的语法要求: ① 调用函数时,函数名必须与被调用函数名相同。 ② 除了返回值类型为int或char外,其他类型的函数必须先定义,后调用。 8.3 函数的说明 除了main()函数外,用户所定义的函数遵循“先定义,后使用”的规则。当把函数的定义放在调用之后,应该在调用之前对函数进行说明(或称为函数原型说明)。在所调用的函数之后定义,则在调用函数之前需要对被调用函数进行说明。凡未在调用前定义的函数,C编译程序都将函数默认为int类型。 函数说明的一般形式如下: 类型名 函数名(参数类型1,参数类型2,…); 或者 类型名 函数名(参数类型1 参数名1,参数类型2 参数名2,…); 8.4 调用函数和被调用函数之间的参数传递 函数的调用分为传值调用和传址调用。传值调用和传址调用是根据参数传递的是“值”还是“地址”确定的。 8.4.1 传值调用 实参必须要有确定的值。调用函数时系统先计算实参的值,再将该值复制给对应的形参。当变量作为参数时,形参变量值的改变不会影响实参变量的值。 8.4.2 指针变量作为形参的函数调用 通过指针变量可以改变指针所指变量的值,并且多个指针可以指向同一个变量,也就是说可以通过多个指针变量去改变同一个变量的值。 8.4.3 一维数组作为函数的实参 数组元素和变量一样,都代表内存中的一个存储单元,所以数组元素也可以作为实参传给形参,其原理和变量作为实参是一样的。 数组名也可以作为实参传递,由于数组名是一个地址值,因此对应的形参就应该是一个指针变量 8.4.4 二维数组名作为函数的实参 二维数组名作为函数的实参时,相应的形参可以是与实参类型相同的二维数组或者行指针。 当形参为二维数组时,可省略第一维(行)的大小说明,但不能省略第二维(列)的大小说明。 8.5 函数的递归调用 C程序中的函数还可以直接或间接地自己调用自己,即递归调用。 【例8.7】一个无限调用的递归函数。 #includestdio.h void fun(char x) { printf(%c,x); fun(x); } int main(void) { fun
您可能关注的文档
- C语言程序设计任文孔庆彦第1章节第6章节第5章节.ppt
- C语言程序设计任文孔庆彦第7章节第12章节第7章节.ppt
- C语言程序设计任文孔庆彦第7章节第12章节第8章节.ppt
- 九年级数学上册第一章节证明二回顾与思考第2课时课件.ppt
- 九年级数学上册第一章节证明二课件.ppt
- C语言程序设计任文孔庆彦第7章节第12章节第9章节.ppt
- C语言程序设计任文孔庆彦第7章节第12章节第10章节.ppt
- 九年级物理上册第十七章节第三节电阻的测量.ppt
- C语言程序设计任文孔庆彦第7章节第12章节第11章节.ppt
- 九年级物理综合复习题集锦.ppt
- 2025年玉树州某国企高速收费站收费员招聘笔试备考题库及参考答案详解一套.docx
- 2025年玉树州某国企高速收费站收费员招聘笔试备考题库及答案详解1套.docx
- 2025年玉树州某国企高速收费站收费员招聘笔试备考题库及答案详解一套.docx
- 2025年玉树州治多县某国企高速收费站收费员招聘笔试备考题库参考答案详解.docx
- 初中数学几何模块测试卷带评分标准.docx
- 2025年玉树州某国企高速收费站收费员招聘笔试备考题库参考答案详解.docx
- 2025年玉树州某国企高速收费站收费员招聘笔试备考题库及参考答案详解.docx
- 2025年玉树州治多县某国企高速收费站收费员招聘笔试备考题库及完整答案详解1套.docx
- 2025年玉树州某国企高速收费站收费员招聘笔试备考题库及参考答案详解1套.docx
- 2025年玉树州杂多县某国企高速收费站收费员招聘笔试备考题库及答案详解1套.docx
文档评论(0)