C++函数定义和调用 C++函数是指可以在程序中反复使用的一段代码,用于完成特定的任务。函数的使用可以使程序更加简洁、易维护和提高代码的重用性。本资源摘要信息将详细介绍C++函数的定义、调用和递归调用。 一、函数的定义 函数的定义是指在程序中声明函数的名称、参数列表和返回值类型。函数定义的一般形式为: ``` 函数类型 函数名(类型名 形式参数1,类型名 形式参数2,…) { // 函数体 } ``` 其中,函数类型可以是void、int、long、double等,函数名是函数的名称,参数列表是函数所需的参数,返回值类型是函数的返回值类型。 二、函数的调用 函数的调用是指在程序中使用函数的名称和参数列表来调用函数。函数调用的一般形式为: ``` 函数名(实参表); ``` 其中,函数名是函数的名称,实参表是函数所需的参数列表。 三、函数声明 函数声明是指在程序中声明函数的存在,但不提供函数的实现细节。函数声明的一般形式为: ``` 函数类型 函数名(类型名 形式参数1,类型名 形式参数2,…); ``` 函数声明是为了让编译器知道函数的存在,以便在编译时可以正确地链接函数。 四、递归函数 递归函数是指在函数体内部直接或间接地自己调用自己。递归函数可以分为直接递归调用和间接递归调用两种形式。 直接递归调用是指在函数中出现调用函数本身的形式。例如: ``` long fact(int m) { if (m > 1) return m * fact(m - 1); else return 1; } ``` 间接递归调用是指函数中调用了其他函数,而这些函数又调用了原始函数。例如: ``` long fact(int m) { return m * foo(m - 1); } long foo(int n) { return fact(n); } ``` 五、函数的调用层次关系 函数的调用层次关系是指函数之间的调用关系。主函数是程序执行的入口,主函数可以调用任何子函数,子函数不能调用主函数。子函数可以调用任何子函数,当子函数调用它自身时,称为直接递归调用。 六、函数的定义步骤 定义一个函数需要经过以下步骤: 1. 分析函数需要的参数,包括参数的个数以及每个参数的类型。 2. 分析函数返回值的类型,若无返回值,则为void。 3. 编写函数体(编写功能代码)。 例如,要定义一个计算n!的函数,需要经过以下步骤: 1. 分析函数需要的参数,包括参数n的类型为int。 2. 分析函数返回值的类型为long。 3. 编写函数体,使用循环计算n!。 七、结论 被调函数在后,需在主调函数中先声明后调用。但是,如果被调函数先于主调函数被编译,则不需函数声明。函数的定义和调用是C++程序设计的重要概念,理解函数的定义、调用和递归调用是编写高质量C++程序的基础。
![](https://csdnimg.cn/release/download_crawler_static/86324849/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86324849/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86324849/bg3.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86324849/bg4.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86324849/bg5.jpg)
剩余97页未读,继续阅读
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![avatar](https://profile-avatar.csdnimg.cn/be70332c5777449c92755f7b43ccfe91_weixin_35733790.jpg!1)
- 粉丝: 16
- 资源: 288
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0