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