资源描述:
《计算机等级考试PPT复习资料 第6章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章函数概述函数的定义函数的调用及返回函数参数及其传递方式变量的作用域与生存期函数的嵌套与递归函数概述函数分类:从用户角度库函数自定义从函数形式有参无参引例1:求圆的面积和周长。(带参数)#includefloats(floatr){floatres;res=3.14*r*r;returnres;}floatl(floatbj){floatres;res=2*3.14*bj;returnres;}lt4_01main(){floatr,area,circle;printf(“Pleaseinputradius:”);scanf
2、(“%f”,&r);area=s(r);circle=l(r);printf(“R=%fArea=%fCircle=%f”,r,area,circle);}引例2:(不带参数)#includeprint_point(){printf(“………………………………………”);}print_message(){printf(“ThisisaCProgram!”);}main(){print_point();print_message();print_point();}ch4_yl模块化程序设计基本思想:将
3、一个大的程序按功能分割成一些小模块fun()黑盒子输入信息返回信息main(){...f1();...f2();}f1(){...f11();...}f2(){...f21();...f22();...}f11(){...}f21(){...}f22(){...}C是模块化程序设计语言源程序文件1预编译命令说明部分执行部分函数1函数n源程序文件i源程序文件nC程序C程序结构注:所有函数都是平行的,一个函数并不从属于另一个函数,函数不能嵌套定义;函数间可互相调用,但不能调用main()。格式:函数类型函数名(形参类型说明表){变量声明程序语
4、句}类型名1形式参数名1,类型名2形式参数2,……合法标识符函数返回值类型缺省int型无返回值void一、如何定义函数?P113-114函数体二、如何调用函数?P118格式:函数名(实参表)或函数名()三种格式:格式1:return;无返回值格式2:return(表达式);格式3:return表达式;有返回值三、怎么从函数返回?P116(一)调用系统库函数用#include命令(二)调用用户自定义函数一般在主调函数中先“声明”到底咋声明?照抄自定义函数首部四、如何对被调函数声明?P118例6.4定义一个求和函数。书P119floatsum(flo
5、atx,floaty){floatz;z=x+y;return(z);}函数不能嵌套定义main(){………….……….intadd(intx,inty){intz;z=x+y;returnz;}…………..}话题1:函数的定义P113例判断下列函数定义正确否?voidfunc1(a,b,c){printf(“%d,%d,%d”,a,b,c);}floatfunc2(floata,floatb){floata,b,c;c=a+b;returnc;}inta,intb,intcfloatc;例:求两数和floatsum(floatx,float
6、y);main(){floata,b,c;scanf(“%f,%f",&a,&b);c=sum(a,b);printf(“sumis%f",c);}floatsum(floatx,floaty){floatz;z=x+y;return(z);}形参实参话题2:形参与实参(有参函数)P115有确定值只有函数调用时,才分配内存一、值传递方式含义:将实参的值传给形参。特点:在函数内部形参改,实参不改。二、地址传递方式含义:将实参的地址传给形参。特点:形参改,实参改。实参与形参的两种传递方式:#includevoidswap(){int
7、temp;temp=a;a=b;b=temp;}main(){intx=7,y=11;printf("x=%d,ty=%d",x,y);printf("swapped:");printf("x=%d,ty=%d",x,y);}…...…...20002008200A2002200420067变量x变量y(main)11变量temp变量b变量a(swap)7711711复制例:能否实现两个数交换?(值传递)inta,intbswap(x,y);运行结果:x=7,y=11swapped:x=7,y=11话题3:函数的调用P118一、一
8、般形式:1.函数名(实际参数表)2.说明:①调用无参函数时,实参列表可无,但括弧不能省;如:getchar()print_point()