资源描述:
《函数(1变量做函数参数)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章函数C语言程序设计内容提要变量做函数参数函数的嵌套调用函数的递归调用函数的分类(用户使用的角度)标准函数,即库函数系统已经预先编写好的函数,用户可以直接使用。这类函数在前面已经介绍和使用过。注意:使用库函数时,必须加相应的头文件。用户自定义函数用户根据需要自己编写函数。本章主要介绍这类函数。1、有参函数(1)有函数值(2)无函数值2、无参函数(1)有函数值(2)无函数值函数的分类(根据函数的形式)无参函数的定义形式类型标识符函数名(void){函数体}#includevoidPrintMessage(void){pri
2、ntf("t*******************");printf("tProgrammingisfun.");printf("t*******************");}intmain(void){PrintMessage();PrintMessage();PrintMessage();return0;}函数—无参函数、无函数值有参函数的定义函数返回值类型函数名(数据类型参数1,数据类型参数2,…){函数体}说明:如果不需要返回值,则应该用void定义返回值类型函数的返回值通过return语句返回编写以下程序:其中m
3、>=k>0计算组合数:/*程序的功能:计算组合数*/#includedoubleFact(intn);//函数原型声明intmain(void){intm,k;doubleresult;scanf("%d,%d",&m,&k);result=Fact(m)/(Fact(k)*Fact(m-k));printf("result=%.0f",result);return0;}doubleFact(intn)//定义函数Fact{inti;doublefac=1;for(i=1;i<=n;i++){fac=fac*i;}ret
4、urnfac;}函数—有参函数、有函数值函数首部函数体C程序的几点说明:⑴一个源程序文件由一个或多个函数组成。⑵C程序的执行从main函数开始,调用其它函数后流程回到main函数,在main函数中结束整个程序的运行。main函数是由系统定义的。⑶所有函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数。函数间可以互相调用,但不能调用main函数。一个函数只有被调用,才有机会被执行。函数参数:形参(形式参数):在定义函数时,函数名后面括号中的变量名实参(实际参数):在主调函数中调用一个函数,函数名后面括号中的参数(或表达式)
5、函数调用(call)例函数的调用/*程序的功能:计算组合数*/#includedoubleFact(intn);//函数原型声明intmain(void){intm,k;doubleresult;scanf("%d,%d",&m,&k);result=Fact(m)/(Fact(k)*Fact(m-k));//调用函数Factprintf("result=%.0f",result);return0;}doubleFact(intn)//定义函数Fact{inti;doublefac=1;for(i=1;i<=n;i++)
6、{fac=fac*i;}returnfac;}函数调用总结提供的参数个数、类型、顺序应与定义时相同单向值传递调用函数时,必须提供所有的参数形式参数实际参数函数调用的形式调用有函数值的函数(有参和无参),函数值可以参加程序中的任何运算,例如赋值,算术运算等。函数名(实参表列);放到一个数值表达式中如c=max(a,b);作为另一个函数调用的参数如c=max(min(),c);printf("%d",max(a,b));函数调用表达式如display(a,b);printstar();调用无函数值的函数(有参和无参),此时函数只能执行指定的操
7、作。(具体例子见本ppt的第7页)函数名();函数名(实参表列);函数名();#includeintmax(intx,inty){intz;if(x>y){z=x;}else{z=y;}return(z);}intmain(void){inta=45,b=78,c=99,d,e;d=max(a,b);printf("max1=%d",d);printf("max2=%d",max(a,b));e=c-max(a,b);printf("e=%d",e);printf("max3=%d",max(max(a,b)
8、,c));return0;}有函数值的函数调用使用举例max1=78max2=78e=21max3=99该程序的输出是什么?函数原型(prototype)调用一个函