1 函数基本知识

要使用C++函数,必须完成如下工作:

  • 提供函数定义
  • 提供函数原型
  • 调用函数

如下例子用一个简单的示例演示了这三个步骤:

#include<iostream>//函数原型
void simple();int main(){using namespace std;cout<<"main() will call the simple() function:\n";//函数调用simple();cout<<"main() is finished with the simple() function.\n";return 0;
}//函数定义
void simple(){using namespace std;cout<<"I'm but a simple function.\n";
}

程序输出:

main() will call the simple() function:
I'm but a simple function.
main() is finished with the simple() function.

执行函数simple()时,将暂停执行main()中的代码;等函数simple()执行完毕后,继续执行main()中的代码。在每个函数定义中,都使用了一条using编译指令,因为每个函数都使用了cout。另一种方法是,在函数定义之前放置一条using编译指令或在函数中使用std::cout

1.1 定义函数

可以将函数分成两类:没有返回值的函数和有返回值的函数。没有返回值的函数被称为void函数,其通用格式如下:

可选的返回语句标记了函数的结尾;否则,函数将在右花括号处结束。

有返回值的函数将生成一个值,并将它返回给调用函数。这种函数的类型被声明为返回值的类型,其通用格式如下:




1.2 函数原型和函数调用

下面的例子在一个程序中使用了函数cheer()cube(),留意其中的函数原型:









2 函数参数和按值传递

C++通常按值传递参数,这意味着将数值参数传递给函数,而后者将其赋给一个新的变量。例如,程序7.2包含下面的函数调用:

double volume=cube(side);

其中,side是一个变量,在前面的程序运行中,其值为5.cube()的函数头如下:

double cube(double x)

被调用时,该函数将创建一个新的名为x的double变量,并将其初始化为5.这样,cube()执行的操作将不会影响main()中的数据,因为cube()使用的是side的副本,而不是原来的数据。用于接收传递值的变量被称为形参,传递给函数的值被称为实参。出于简化的目的,C++标准使用参数(argument)来表示实参,使用参量(parameter)来表示形参,因此参数传递将参量付给参数,如图7.2所示:


待补充 224

函数——C++的编程模块相关推荐

  1. C++PrimerPlus 第七章 函数-C++的编程模块-7.9 递归

    目录 7.9 递归 7.9.1 包含一个递归调用的递归 7.9.2 包含多个递归调用的递归 7.9 递归 下面介绍一些完全不同的内容.C++函数有一种有趣的特点--可以调用自己(然而,与C语言不同的是 ...

  2. 【C++ primer】第七章 函数-C++的编程模块

    1,函数的基本知识        C++对于返回值的类型有一定的限制:不能是数组,但可以使其他任何类型,甚至可以使结构和对象.        有趣的是,虽然数组不可以作为返回对象,但是数组可以作为结构 ...

  3. C++学习之路(六),C++primer plus 第七章 函数--C++的编程模块

    第 7 章 函数---C++的编程模块 本章内容包括: 函数基本知识. 函数原型. 按值传递函数参数. 设计处理数组的函数. 使用 const 指针参数. 设计处理文本字符串的函数. 设计处理结构的函 ...

  4. python语言的计算生态规模有多大_【单选题】Python 语言的一个重要特点是它有较多的计算生态,简单理解为第三方提供的可用编程模块 / 函数库 / 组件,这个规模有多大?...

    [单选题]Python 语言的一个重要特点是它有较多的计算生态,简单理解为第三方提供的可用编程模块 / 函数库 / 组件,这个规模有多大? 更多相关问题 [问答题,简答题] 顾客关系管理系统如何给企业 ...

  5. 过程或函数的副作用是_Python函数和函数式编程(两万字长文警告!一文彻底搞定函数,建议收藏!)...

    Python函数和函数式编程 函数是可重用的程序代码段,在Python中有常用的内置函数,例如len().sum()等. 在Pyhon模块和程序中也可以自定义函数.使用函数可以提高编程效率. 1.函数 ...

  6. python导入不在同一路径的函数_Python小课堂|模块

    Python3   模块 在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一 ...

  7. 【JAVA黑马程序员笔记】四 P314到P384(特殊流、多线程编程、网络编程模块、lambda表达式、接口组成更新、方法引用、函数式接口)

    P314-315 字节/符打印流 PrintStream ps = new PrintStream("test.txt");//使用字节输出流的方法ps.write(97);// ...

  8. 跟着ALEX 学python day3集合 文件操作 函数和函数式编程

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  一. 集合 集合是一个无序的,不重复的数据组合,主要作用如下 1.去重 把一个列表变成集合 ,就自动去重 ...

  9. Python-函数式编程模块itertools、functools、operator

    目录 上篇文章思考题 itertools 无穷迭代器 count 计数 cycle 循环 repeat 重复 排列组合迭代器 product 笛卡儿积 permutations 排列 combinat ...

  10. STM32单片机SIM800C创客GSM短信GPRS可编程模块SDK二次开发DIY

    STM32单片机SIM800CGSM电话短信GPRS网络可编程模块SDK二次开发 板载STM32F103RCT6单片机,板载LDO,板载SIM800C,有SDK,有基础技术支持,可深度定制. 通过我们 ...

最新文章

  1. 如何优雅地训练大型模型?
  2. 硬盘、移动硬盘、内存卡(SD卡、TF卡)、U盘修复,格式化
  3. 功能测试工作的一点总结
  4. tcode SLG1 Object determination logic
  5. IOS使用Auto Layout中的VFL适配
  6. sessionStorage什么时候失效
  7. c语言平均绩点_如何靓化你的GPA
  8. (2)散列表是怎么进行查找的
  9. HDOJ 2795 Billboard
  10. MongoDB 自动分片 auto sharding
  11. 2011-5-学习总结
  12. mathematica 如何在数组中等间隔插入元素
  13. Atitit.跨语言标准化 web cgi api v2 saa CGI   (通用网关接口)  编辑 CGI 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CG
  14. 如何修复uefi引导?这种方法才是最有效的解决方法
  15. 详解VMware虚拟机中添加新硬盘并挂载的方法
  16. 恢复Windows默认文件资源管理器(Files设置后,恢复亲测可用)
  17. [活动]2009年Linux内核开发者大会参与记录
  18. php x63 157 162,浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解
  19. iOS7.0.4完美越狱后safari闪退解决方法
  20. 任意四面体的外接球的半径(克列尔(A.L.Crelle)公式)

热门文章

  1. 如何手动合成年度夜间灯光影像
  2. 装饰模式实例+java,java 中设计模式(装饰设计模式)的实例详解
  3. Android完美适配dimens.xml脚本
  4. java8 stream流操作
  5. 使用MediaCodec和RTMP做直播推流
  6. 有技术,没在怕,就是干!
  7. 什么?华为方舟编译器竟然这么牛逼~
  8. 在钢筋混泥土的城市,打铁还需身体硬
  9. ae2020不支持的视频驱动程序_英伟达发布支持GeForce GTX 1660 SUPER的新Linux图形驱动程序...
  10. python多重循环的列表_Python 多重列表解析里for的顺序