c语言程序设计ch7函数的概念

c语言程序设计ch7函数的概念

ID:36322215

大小:799.00 KB

页数:75页

时间:2019-05-09

c语言程序设计ch7函数的概念_第1页
c语言程序设计ch7函数的概念_第2页
c语言程序设计ch7函数的概念_第3页
c语言程序设计ch7函数的概念_第4页
c语言程序设计ch7函数的概念_第5页
资源描述:

《c语言程序设计ch7函数的概念》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章函数7.1函数的概念C语言程序完全是由函数组成。除语言本身提供的库函数和必须包含的main函数外,用户还可以根据需要定义任意多个自己的函数。main(){charss[10]=“12345”;strcat(ss,“6789”);gets(ss);printf(“%s”,ss);}标准库函数学生成绩管理系统成绩录入成绩查询成绩统计打印成绩单组成的,而每一个模块常用来实现一个特定的功能。在C语言中就是利用函数来实现模块功能的。对于任何应用程序来说都是由若干个程序模块一、定义格式7.2函数的定义和返回值类型名函数名

2、(形式参数表)形式参数说明;{说明语句;执行语句;}函数体intadd(x,y)intx,y;{intz;z=x+y;return(z);}二、函数的返回值return(表达式);1、常量2、变量3、表达式4、指针值intadd(x,y)intx,y;{intz;z=x+y;return(z);}……c=add(a,b);……add(a,b);intadd(x,y)实际参数main(){inta=100,b=200,c;c=add(a,b);printf(“c=%d”,c);}intadd(x,y)intx,y;{

3、intz;z=x+y;return(z);}7.3函数的调用一、函数调用格式函数名(实参表);形式参数二、函数的调用规则1、调用函数时,函数名必须与调用处的函数名完全一致。2、实参的个数必须与形参的个数一致。3、函数必须先定义,后调用。4、函数可以直接或间接地自己调用自己,称为递归调用。add(a,b);intadd(x,y);在调用函数时,一般在主调函数和被调用函数之间有信息传递这是由函数中的参数来完成的。7.4调用函数和被调用函数之间的参数传递实际参数形式参数主调用函数中的参数被调用函数中的参数(实参)(形参)地址

4、传递方式若利用参数传递信息时则有两种传递方式数据复制的传递方式yx数据复制将数据本身作为实参传递给形式参数。a5b10510ct1010main(){inta=5,b=10,c;c=max(a,b);printf(“c=%d”,c);}max(intx,inty){intt;if(x>y)t=x;elset=y;return(t);}特点实参与形参各占用不同的内存单元(即形参的值不能传回给实参)main(){inta=5,b=10,c;……printf(“a=%p,b=%p”,&a,&b);}max(intx,

5、inty){printf(“x=%p,y=%p”,&x,&y);……}5aFFD410bFFD65xFFC210yFFC4100aFFC2200bFFC4练习main(){inta=100,b=200,c;c=add(a,b);printf(“c=%d”,c);}intadd(x,y)intx,y;{intz;z=(++x)+(++y);return(z);}100xFFA2200yFFA4101201302z1094302cFFC6当形参值在函数中发生变化时,且不影响调用它的实参值的变化。用途采用这种数据复制

6、的参数传递方式,每次每个参数只能传递一个数据。缺点add(a,b);intadd(x,y)地址传递将数据的存储地址作为实参传递给形参main(){staticinta[5]={1,2,3,4,5},i;add(a,5);for(i=0;i<5;i++)printf(“%d,”,a[i]);}intadd(intb[],intn){intj;for(j=0;j

7、]b[4]23456当希望通过形参的值的变化来改变主调函数中变量的值,则可采用地址传送方式传递数据。用途add(a,5);intadd(b[],n)特点1、实参与形参占用相同的内存单元(即实现了利用参数来返回计算结果的功能)2、可以批量地传递数据练习main(){staticinta[3][4]={1,3,5,7,2,4,6,8,15,17,34,12};printf(“max=%d“,max(a);}max(intb[][4]){inti,j,t;t=b[0][0];for(i=0;i<3;i++)for(j=0

8、;j<4;j++)if(b[i][j]>t)t=b[i][j];return(t);}第七章函数P144main(){inta=100,c;func(&a);printf(“a=%d”,a);}intfunc(int*p){intj;j=*p+100;return(j);}100a20002000p&a200a2000从上面的

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

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

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