第三章函数和编译预处理
函数的定义和说明
函数的调用
函数的参数
内联函数
函数重载
函数的嵌套调用和递归调用
作用域
C++的系统函数
主要内容
“函数”这个名词是从英文function翻译过来的,其实function的原意是“功能”。顾名思义,一个函数就是一个功能。
在实际应用的程序中,主函数写得很简单,它的作用就是调用各个函数,程序各部分的功能全部都是由各函数实现的。主函数相当于总调度,调动各函数依次实现各项功能。
开发商和软件开发人员将一些常用的功能模块编写成函数,放在函数库中供公共选用。程序开发人员要善于利用库函数,以减少重复编写程序段的工作量。
main()
func1()
func2()
func3()
func5()
func4()
在主函数中调用其他函数。
#include <> //**********
int calc_sum(int n) //定义calc_sum()函数
{ int k,s; s=0;
for (k=1;k<=n;k++)
s=s+k; return s; }
void print_word(void) //定义print_word()函数
{ cout<<"Hello,C++!"<<endl; //输出一行文字}
void main(void)
{ int n; cin>>n;
if (n>1)
cout<<"the sum is:"<< calc_sum(n)<<endl; print_word(); //调用rint_word()函数}
调用calc_sum()函数
若用户从键盘输入的数是4, 运行情况如下:
the sum is:10
Hello,C++!
从用户使用的角度看,函数有两种:
(1) 系统函数,即库函数。这是由编译系统提供的,用户不必自己定义这些函数,可以直接使用它们。
(2) 用户自己定义的函数。用以解决用户的专门需要。
从函数的形式看,函数分两类:
(1) 无参函数。调用函数时不必给出参数。
(2) 有参函数。在调用函数时,要给出参数。在主调函数和被调用函数之间有数据传递。
函数的定义与调用
函数的定义格式
函数的说明方法
函数的值和类型
函数的调用
一个C++函数由函数头与函数体两部分组成。
形式如下:
函数类型函数名(形式参数类型形式参数名,…)
{
函数体
}
如: int fun1(char c,float f)
{
int m=1;
m+=c+f;
return m;
}
函数的定义格式
即函数返回值的类型。无返回值为void类型
语句序列。描述了实现功能的过程,并一般要最后执行一条return语句。
可包含多个形式参数。定义了函数将从调用函数中接收多少个数据及其类型
返回语句的形式为:
return 表达式;
这时表达式的结果就是函数的返回值,也称函数值。
即返回的不是函数本身,而是一个值。
若函数所执行的功能不需要返回数据,则可缺省 return语句。如:
void spc (int n)
{
for (int I=0; I<n; I++)
cout<<"*";
} 注意:函数类型为void,若无默认为int。
C++不允许函数定义嵌套。
函数的说明方法
其形式为:函数类型函数名(参数类型表);
如:
int absolute_value ( int ,double);
C++要求在调用函数前让编译器知道其函数原型,以便编译器利用函数原型提供的信息来检查调用的合法性,强制参数为适当类型,保证参数的正确传递。
而编译器获得函数原型有两种情况:
(1)当函数定义在调用之前时,则从定义中抽取函数原型。
(2)当函数定义在调用之后时,则程序员须在调用之前用函数原型对函数进行声明,让编译器获得函数原型。
即所有参数的数据类型
c++课件(精选) 来自淘豆网m.daumloan.com转载请标明出处.