资源描述:
《大学c++函数的定义、调用与说明课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.1函数的定义、调用与说明xyz#include"cmath"#include"iostream"voidmain(){floata,b,c,d,e,f,g,p,s1,s2,s3,s;cin>>a>>b>>c>>d>>e>>f>>g;p=(a+b+c)/2;s1=sqrt(p*(p-a)*(p-b)*(p-c));p=(c+d+e)/2;s2=sqrt(p*(p-c)*(p-d)*(p-e));p=(e+f+g)/2;s3=sqrt(p*(p-e)*(p-f)*(p-g));s=s1+s2+s3;cout<
2、能否优化?函数完成特定功能的程序段,由用户定义或系统定义。函数用途:使得同一功能(程序段)能够在不同位置多次反复执行,实现程序模块化。一、函数程序由函数构成,每个程序有且只有一个main主函数函数定义:由函数头和函数体构成类型标识符函数名(形式参数表){语句序列}若无返回值,写void若无参数,写void是被初始化的内部变量,寿命和可见性仅限于函数内部floatarea(floatx,floaty,floatz){floatc,s;c=(x+y+z)/2;s=sqrt(c*(c-x)*(c-y)*(c-z));returns;}
3、函数头#include"cmath"#include"iostream"floatarea(floatx,floaty,floatz){floatc,s;c=(x+y+z)/2;s=sqrt(c*(c-x)*(c-y)*(c-z));return;}ssvoidmain(){floata,b,c,d,e,f,g,s;cin>>a>>b>>c>>d>>e>>f>>g;s=area()a,b,c+area()c,d,e+area()e,f,g形式参数a,cc,d,ee,f,gb,cout<
4、数之间通过参数(输入)和返回值(输出)来联系使用函数有利于代码重用,提高开发效率二、函数的定义函数类型函数名(形式参数类型表){函数体}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;returnz;}voidmain(){inta,b,c,m;cin>>a>>b>>c;m=max(a,);m=max(c,m);cout<5、函数定义在返回值类型、函数名和参数表上必须要完全一致。三、函数说明函数类型函数名(形式参数类型表);四、函数的调用调用前先声明函数原型:在调用函数中,或程序文件中所有函数之外,按如下形式说明:类型标识符被调用函数名(含类型说明的形参表);函数调用函数名(实参列表)嵌套调用函数可以嵌套调用,但不允许嵌套定义。函数名(实在参数表)实参与形参的个数、位置与类型必须一致。可是同类型的常量、变量或表达式。调用的形式可以是表达式,也可以是语句。函数定义中的形参只有当发生函数调用时,才被分配内存单元。四、函数的调用#include"iostr
6、eam.h"voidmain(){inta,b,c;intmax(intx,inty);cin>>a>>b;函数声明c=max(a,b);函数调用cout<y?x:y;}函数定义intmax(int,int);【例1】编一程序,输出如右图形。voidpic(intn){}for(inti=0;i7、ic(6);}#include”iomanip”五、函数的返回值return表达式;或return(表达式);说明:表达式的类型与函数定义中的类型应一致。若无返回值,可以不写return语句。函数中可以有不止一个return语句。说明:函数类型指函数返回值的数据类型。函数体由说明和执行语句组成。形参可为空,圆括号不能省略。函数体中不允许再嵌套定义函数。对没有返回值的函数,函数类型定为void型。非void型函数函数体中必须有return语句return表达式;return(表达式)void型函数函数体中一般不出现return语句
8、。函数调用和返回的过程:主函数输入数据①调用函数②自定义函数③处理过程函数结束或函数值返回⑤④⑥输出⑦结束⑧注意:数据的输入、输出一般放在主函数中.例:求正整数m,n的最大公约数和最小公倍数intgcd(intm,intn){intr;while(r=m%n){