欢迎来到天天文库
浏览记录
ID:49296583
大小:657.00 KB
页数:76页
时间:2020-02-02
《C语言程序设计第12讲(函数)(2012级).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十二讲Begin:第七章函数数组作为函数的参数函数的嵌套调用函数的递归调用函数变量的作用域数组元素做函数实参,遵循”值传送”特性,此时形参为变量。数组名可做实参和形参,传送的是整个数组。在用数组名做函数参数时,实参和形参都应该用数组(或指针变量)。数组作为函数的参数7.1.7数组作为函数的参数数组元素作为函数参数举例:szdy1(intx,inty);szdy2(intx,inty);main(){inta[10],b[4][5];···szdy1(a[7],b[3][2]);szdy2(b[1][2],a[4]);···}szdy1(int
2、x,inty){···}szdy2(intx,inty){···}(1)7.1.7数组作为函数的参数szdy1(intx[10]);szdy2(intx[4][5]);main(){inta[10],b[4][5];···szdy1(a);szdy2(b);···}szdy1(intx[10]){···}szdy2(intx[4][5]){···}(2)7.1.7数组作为函数的参数数组名作函数参数时应注意:1)数组名作函数参数时,应在主调函数和被调函数中分别定义数组。2)实参数组与形参数组的类型必须相同,但大小可以不同。3)形参数组的一维下标可
3、以省略。4)数组名表示的是数组元素的首地址,数组名作函数参数时,传递的是整个数组。实参与形参之间的数据传递是地址传递。7.1.7数组作为函数的参数数组名作函数的参数举例:7.1.7数组作为函数的参数例利用数组换数voidhuanshu2(intshuzu[],intn);main()/*主函数*/{intab[2]={5,10},i;for(i=0;i<2;i++)printf("1)ab[%d]=%2d",i,ab[i]);huanshu2(ab,2);printf("");for(i=0;i<2;i++)printf("4)ab[%d]
4、=%2d",i,ab[i]);}7.1.7数组作为函数的参数voidhuanshu2(intshuzu[],intn){intt,i;printf("");for(i=0;i5、的参数说明:2000HA[0]2002HA[1]ab=shuzu=2000H510105intab[2]={5,10};huanshu2(ab,2);for(i=0;i6、何一个函数都可调用其他的函数,甚至调用它本身。main为例外已强调过多次。由于一个大的问题往往会被逐步分解为不同层次的许多函数。因此,对函数的嵌套调用将不可避免,并大量存在。原则上,C语言对函数的嵌套调用深度并未刻意加以限制。7.2.1函数的嵌套调用main函数a函数b函数调用a函数调用b函数结束7.2.1函数的嵌套调用7.2.1函数的嵌套调用嵌套调用:在一个函数调用过程中又调用另一个函数。例嵌套调用:qian1(intx,inty){intc,s,t;s=x+y;t=x-y;c=qian2(s,t);return(c);printf("c=%7、d",c);}qian2(intx,inty){return(x+y);}main(){inta=1,b=2,c;c=2*qian1(a,b);printf("c=%d",c);}例统计字符个数#include"stdio.h"longcountch();/*利用函数原型声明函数*/main(){longn;n=countch();printf("n=%ld",n);}longcountch(){longcn;for(cn=0;getchar()!=‘’;cn++);returncn;}7.2.1函数的嵌套调用例连接两个字符串#8、include"stdio.h"intchdu(charx[]);/*函数原型声明*/voidlianjie(charx[],chary[]);mai
5、的参数说明:2000HA[0]2002HA[1]ab=shuzu=2000H510105intab[2]={5,10};huanshu2(ab,2);for(i=0;i6、何一个函数都可调用其他的函数,甚至调用它本身。main为例外已强调过多次。由于一个大的问题往往会被逐步分解为不同层次的许多函数。因此,对函数的嵌套调用将不可避免,并大量存在。原则上,C语言对函数的嵌套调用深度并未刻意加以限制。7.2.1函数的嵌套调用main函数a函数b函数调用a函数调用b函数结束7.2.1函数的嵌套调用7.2.1函数的嵌套调用嵌套调用:在一个函数调用过程中又调用另一个函数。例嵌套调用:qian1(intx,inty){intc,s,t;s=x+y;t=x-y;c=qian2(s,t);return(c);printf("c=%7、d",c);}qian2(intx,inty){return(x+y);}main(){inta=1,b=2,c;c=2*qian1(a,b);printf("c=%d",c);}例统计字符个数#include"stdio.h"longcountch();/*利用函数原型声明函数*/main(){longn;n=countch();printf("n=%ld",n);}longcountch(){longcn;for(cn=0;getchar()!=‘’;cn++);returncn;}7.2.1函数的嵌套调用例连接两个字符串#8、include"stdio.h"intchdu(charx[]);/*函数原型声明*/voidlianjie(charx[],chary[]);mai
6、何一个函数都可调用其他的函数,甚至调用它本身。main为例外已强调过多次。由于一个大的问题往往会被逐步分解为不同层次的许多函数。因此,对函数的嵌套调用将不可避免,并大量存在。原则上,C语言对函数的嵌套调用深度并未刻意加以限制。7.2.1函数的嵌套调用main函数a函数b函数调用a函数调用b函数结束7.2.1函数的嵌套调用7.2.1函数的嵌套调用嵌套调用:在一个函数调用过程中又调用另一个函数。例嵌套调用:qian1(intx,inty){intc,s,t;s=x+y;t=x-y;c=qian2(s,t);return(c);printf("c=%
7、d",c);}qian2(intx,inty){return(x+y);}main(){inta=1,b=2,c;c=2*qian1(a,b);printf("c=%d",c);}例统计字符个数#include"stdio.h"longcountch();/*利用函数原型声明函数*/main(){longn;n=countch();printf("n=%ld",n);}longcountch(){longcn;for(cn=0;getchar()!=‘’;cn++);returncn;}7.2.1函数的嵌套调用例连接两个字符串#
8、include"stdio.h"intchdu(charx[]);/*函数原型声明*/voidlianjie(charx[],chary[]);mai
此文档下载收益归作者所有