文档介绍:第4章函数
函数概述
函数的定义与声明
函数的调用
C++语言认为函数是一个能完成某一独立功能的子程序,也就是程序模块。
函数就是对复杂问题的一种“自顶向下,逐步求精”思想的体现。
编程者可以将一个大而复杂的程序分解为若干个相对独立而且功能单一的小块程序(函数)进行编写,并通过在各个函数之间进行调用,来实现总体的功能。
函数概述
使用函数的优点:
(1)可读性好;
(2)易于查错和修改;
(3)便于分工编写,分阶段调试;
(4)各个函数之间接口清晰,便于相互间交换信息和使用;
(5)节省程序代码和存储空间;
(6)减少用户总的工作量;
(7)成为实现结构程序设计思想的重要工具;
(8)扩充语言和计算机的原设计能力;
(9)便于验证程序正确性。
设计C++程序的过程,实际上就是编写函数的过程,至少也要编写一个main()函数。
执行C++程序,也就是执行相应的main()函数。即从main()函数的第一个左花括号“{”开始,依次执行后面的语句,直到最后一个右花括号“}”为止。如果在执行过程中遇到其他的函数,则调用其他函数。调用完后,返回到刚才调用函数的下一条语句继续执行。而其他函数也只有在执行main()函数的过程中被调用时才会执行。
函数可以被一个函数调用,也可以调用另一个函数,它们之间可以存在着调用上的嵌套关系。但是,C++不允许函数的定义嵌套,即在函数定义中再定义一个函数是非法的。
C++函数是一个独立完成某个功能的语句块,函数与函数之间通过输入和输出来联系。
函数的定义与声明
在C++程序中调用函数之前,首先要对函数进行定义。如果调用此函数在前,函数定义在后,就会产生编译错误。
为了使函数的调用不受函数定义位置的影响,可以在调用函数前进行函数的声明。这样,不管函数是在哪里定义的,只要在调用前进行函数的声明,就可以保证函数调用的合法性。
函数的定义
C++中的每一个函数都是从四个方面来进行定义:类型、函数名、形式参数表、函数体。
定义一个函数的语法格式为:
类型函数名(形式参数表)
{
函数体;
}
例如:
int max(int a,int b)
{
int t;
if(a>b) t=a;
else t=b;
return t;
}
类型就是该函数的类型,也就是该函数的返回值的类型,此类型可以是C++中除函数、数组类型之外的任何一个合法的数据类型,包括普通类型、指针类型和引用类型等。
函数的返回值通常指明了该函数处理的结果,由函数体中的return语句给出。一个函数可以有返回值,也可以无返回值(称为无返回值函数或无类型函数)。此时需要使用保留字void作为类型名,而且函数体中也不需要再写return语句,或者return的后面什么也没有。
每个函数都有类型,如果在函数定义时没有明确指定类型,则默认类型为int。
函数名是一个有效的C++标识符,遵循一般的命名规则。在函数名后面必须跟一对小括号“()”,用来将函数名与变量名或其他用户自定义的标识符区分开来。在小括号中可以没有任何信息,也可以包含形式参数表。C++程序通过使用这个函数名和实参表可以调用该函数。
主函数的名称规定取编译器默认的名称main()。