资源描述:
《23-函数的调用、声明.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、单元一:函数的定义、函数说明、函数调用本次课的主要内容:函数的调用函数的声明函数的综合练习上一章节内容回顾如果一个程序包含用户自己编写的函数,要想正常运行的话,要有三部分:1、函数的定义(函数的制作)3、函数的声明(用函数之前,先说明一下)2、函数的调用(使用函数)3函数的调用调用形式:函数名(实参1,实参2,…,实参k);说明:实参与形参个数相等类型一致,按顺序一一对应函数定义形式:数据类型函数名(类型1形参1,类型2形参2,….){……}main(){inti=2,p;p=f(i,i);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=
2、1;elseif(a==b)c=0;elsec=-1;return(c);}运行结果:0调用方式有三种:1、单独函数语句:例printstar();printf(“Hello,World!”);2、函数表达式:例m=max(a,b)*2;3、函数参数:例printf(“%d”,max(a,b));m=max(a,max(b,c));main(){intc,a=1,b=2;c=add(a,b)*2;printf(“c=%d”,c);}intadd(intx,inty){intz;z=x+y;return(z);}printstar(){printf("**********");}
3、main(){printstar();}4函数的声明在制作好的函数被使用之前,应对被使用函数进行说明,称为函数说明。就像变量在使用前要定义一样。/*变量的定义*/…………c=a+b;/*变量的使用*/inta,b,c;1、什么是函数声明?函数声明的一般形式:数据类型函数名(形参类型[形参名],…..);其实就是把函数定义中的头部拿过来。例如:intmax(intx,inty);或floatadd(floatx,floaty);intmax(int,int);或floatadd(float,float);2、函数声明的作用是什么?告诉编译系统函数类型、参数个数及类型,以便检验3、函数
4、声明放在什么位置?放在定义变量的位置,即程序的数据说明部分。inta,b;intmax(intx,inty);4、什么情况可以省略函数声明?若函数返值是char或int型,系统自动按int型处理被调用函数定义出现在主调函数之前。在所有函数定义之前,在函数外部做了函数声明。intmax(intx,inty){…………….}intadd(intx,inty){intz;z=x+y;return(z);}main(){intc,a=1,b=2;c=add(a,b)*2;printf(“c=%d”,c);}floatadd(intx,inty)main(){intc,a=1,b=2;c=a
5、dd(a,b)*2;printf(“c=%d”,c);}floatadd(intx,inty){intz;z=x+y;return(z);}例1函数声明举例main(){floata,b;intc;scanf("%f,%f",&a,&b);c=max(a,b);printf("Maxis%d",c);}max(floatx,floaty){floatz;z=x>y?x:y;return(z);}int型函数可不作函数说明floatadd(floatx,floaty){floatz;z=x+y;return(z);}main(){floata,b,c;scanf("%f,%f",
6、&a,&b);c=add(a,b);printf("sumis%f",c);}被调函数出现在主调函数之前,不必函数说明main(){floatadd(float,float);/*functiondeclaration*/floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);printf("sumis%f",c);}floatadd(floatx,floaty){floatz;z=x+y;return(z);}floatadd();#includefoatmax(floatx,floaty);main(){floata,b;intc
7、;scanf("%f,%f",&a,&b);c=max(a,b);printf("Maxis%d",c);}foatmax(floatx,floaty){floatz;z=x>y?x:y;return(z);}在函数外面做了声明,所有调用函数不必再声明例求三个数中最大数和最小数的差值#includeintdif(intx,inty,intz);intmax(intx,inty,intz);intmin(intx,inty,intz);voidma