函数和编译预处理第5章引言函数的定义和调用函数的原型说明与值调用函数的嵌套和递归调用作用域和存储类内联函数具有缺省参数值的函数函数重载编译预处理程序的多文件组织C++Programming引言随着模拟对象的复杂性增加,程序将会变得越来越复杂和冗长。在编写一个较大的程序时,为了便于管理,可以采用一些较好的编程策略,常用的方法是按功能或操作将程序分割成一些具有特定功能的、相对独立的且便于管理和阅读的小模块。本章主要介绍这种分割工具之一:函数,包括函数的定义、函数的调用、参数的传递方法、内联函数、函数的重载、变量的作用域等,另外简要介绍编译预处理以及程序多文件组织的编译和连接方法。C++++Programming函数概述C++中的函数就是具有特定功能的模块。函数是构成C++程序的基本单位,C++程序的运行都是由主函数(main())开始,然后通过一系列函数调用来实现各种功能。从用户角度看,函数包括用户自定义函数和系统库函数。从函数的形式来看,函数可以分为无参函数、有参函数、无返回值函数和有返回值函数等。除了main()函数以外,一个函数既可以被其它函数调用,也可以调用其它函数。图5-l反映了函数的层次组织结构以及相互之间的调用关系。++Programming系统库函数库函数也称为标准函数,是在C++编译系统中已经预先定义的函数。C++把一些常用的操作以库函数的方式提供给用户,包括常用的数学计算函数(如:sqrt()、fabs()等)、图形处理函数、标准输入/输出函数等。按功能对库函数进行分类,将同类库函数集中在一个头文件中,用户只要在程序中包含相应的头文件,就可以使用该头文件中的所有库函数。C++Programming用户自定义函数在程序设计过程中,用户可根据自己的需要将一段完成功能相对独立的代码定义为一个函数,这类函数称为用户自定义函数。本章将主要介绍用户自定义函数的定义和调用方法。C++Programming图5-1函数调用和被调用的层次关系main()Func1()Func5()Func3()Func2()Func4()C++Programming函数定义对于库函数,在头文件中已经定义好了,调用函数前只需包含相应的头文件即可;对于用户自定义的函数,要先完成函数的定义,然后才可以调用它。根据函数定义和使用时参数的不同,可将函数分为两类:无参函数和有参函数。++Programming无参函数定义无参函数的一般格式为:《<类型>》<函数名>(《void》) {…}//函数体<类型>为函数返回值的类型,它可以是任一标准数据类型或导出数据类型,当没有返回值时,《类型》必须为void。函数名为用户给函数起的名字,其命名规则与标识符相同。<函数名>后的括号”()”称为函数调用运算符,对于无参函数,函数调用运算符内可以为空,也可以为void。函数返回值为整型时,可省略类型标识符int。当函数无返回值时,必须规定其类型为void。示例C++Programming示例voidMessage(void){ cout<<”*************\n”; cout<<”verygood!\n”; cout<<”*************\n”;}该函数完成输出一些问候语。像这类与外部环境之间没有任何数据交换的函数,通常将其定义为无参函数。C++Programming
C程序设计-南京工业大学课件 来自淘豆网m.daumloan.com转载请标明出处.