@Author:Runsen

文章目录

  • 内置函数
  • 函数
  • 传递参数
  • 形式参数(指针传递)

函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。

内置函数

在我们学习如何创建函数之前,让我们先了解一些内置函数…

在C ++是一些常见的库函数sqrt(),abs(),isdigit()等。

为了使用库函数,我们通常需要包含定义这些库函数的头文件。

例如,为了使用sqrt()和等数学函数abs(),我们需要包含头文件cmath

#include <cmath>

现在我们获得了调用sqrt()任何数字的平方根的能力。

要调用基本函数,我们只需要函数名后跟一对括号,如sqrt(9). 例如:

#include <iostream>
#include <cmath>int main(){std::cout << sqrt(9) << "\n";
}

使用rand()加上模运算符调用,生成随机数。例如,rand() % 29将输出 028 之间的随机数

函数

C++ 函数由两个不同的部分组成:

  • 声明:这包括函数的名称、返回类型是什么以及任何参数(如果函数将接受输入值,称为参数)。
  • 定义:也称为函数体,它包含函数应该做什么的指令。

C++ 中的函数定义的一般形式如下:

return_type function_name( any, parameters, you, have ) {// Code block herereturn output_if_there_is_any;}

C++ 中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:

  • 返回类型: 函数可以返回一个值。该return_type是值的函数返回的数据类型。某些函数执行所需的操作而不返回值。在这种情况下, return_type 是关键字void。

  • 函数名称:这是函数的实际名称。函数名和参数列表共同构成了函数签名。

  • 参数:参数就像占位符。当一个函数被调用时,你将一个值传递给参数。该值称为实际参数或实参。参数列表是指函数参数的类型、顺序和数量。参数可选;也就是说,一个函数可能不包含任何参数。

  • 函数体:函数体包含一组定义函数功能的语句。

下面是一个函数声明的例子。

void greet() {std::cout << "Hello World";
}

在上面的程序中,我们声明了一个名为greet(). 要使用该函数greet(),我们需要调用它。

下面是我们如何调用上述greet()函数。

int main() {// calling a function   greet(); }

传递参数

在C++中,函数声明的代码add应该在函数调用main之前。

C++中函数参数的传递方式有三种:传值、传地址、传引用。

这里先学习最简单的传值。在这种传递参数
中,我们传递存储或复制到函数形式参数中的参数值。因此,原始值不变,只是函数内部的参数发生了变化。

void calc(int x);int main()
{int x = 10;calc(x);printf("%d", x);
}void calc(int x)
{x = x + 10 ;
}

在这种情况下,实际变量x不会改变,因为我们按值传递参数,因此传递了 x 的副本,该副本已更改,并且该复制的值在函数结束时被销毁(超出范围)。所以main() 中的变量x的值仍然是 10。

但是我们可以改变这个程序来修改原来的X,通过使函数计算时候,返回一个值,并存储X该值。

int calc(int x);int main()
{int x = 10;x = calc(x);printf("%d", x);
}int calc(int x)
{x = x + 10 ;return x;
}

20

形式参数(指针传递)

传递,形式参数可以作为引用或指针,在这两种情况下,它们都会改变原始变量的值。

void calc(int *p);int main()
{int x = 10;calc(&x);     // 传递x的地址作为参数printf("%d", x);
}void calc(int *p)
{*p = *p + 10;
}

最终结果是20.

【小白学习C++ 教程】六、C++内置函数和函数传参相关推荐

  1. python学习之最常用的内置函数

    python学习之最常用的内置函数 Python 内置函数总共有70余个(通常把内置类也统称为内置函数),覆盖面广,功能强大.不过,对于初学者在初级阶段,掌握下面几个函数是当务之急. (1) 控制台输 ...

  2. python内置函数open_Python学习教程:Python内置函数大总结(下篇)

    这里接着上次的 Python学习教程,给大家总结了Python 剩下的33个内置函数. 31 hash() 返回对象的哈希值 In [112]: hash(xiaoming)Out[112]: 613 ...

  3. JavaScript学习笔记(九)--内置函数

    javascript内置函数一共可分为五类:常规函数.数组函数.字符串函数.日期函数.数学函数. 常规函数 方法 描述 alert() 显示一个警告对话框,包括一个OK按钮. confirm() 显示 ...

  4. python 内置函数 builtins_python学习笔记(七)——内置函数

    builtins.py模块,是python的内建模块,在运行时会自动导入该模块.在该模块中定义了很多我们常用的内置函数,比如print,input 等. 在 builtins.py 模块中给出如下注释 ...

  5. 学习Python的利器:内置函数dir()和help()

    (1)内置函数dir()用来查看对象的成员.在Python中所有的一切都是对象,除了整数.实数.复数.字符串.列表.元组.字典.集合等等,还有range对象.enumerate对象.zip对象.fil ...

  6. Python中堪称神仙的六个内置函数

    人生苦短,菜鸟学Python! 今天,我们会一次性分享6个堪称神仙的内置函数.在很多计算机书籍中,它们也通常作为高阶函数来介绍.而我自己在日常工作中,经常使用它们来使代码更快,更易于理解. Lambd ...

  7. python拟合三元函数_python基础教程之常用内置函数、三元运算、递归

    目录 常用内置函数 abs/round/sum eval/exec enumerate max/min sorted zip map filter 补充:reduce lambda 初识递归 再谈递归 ...

  8. Hive学习之路(四):Hive内置函数介绍与实现WordCount

    内容简介 一.Hive内置函数介绍 二.Hive常用内置函数介绍 1.数值计算函数 2.字符串操作函数 3.日期函数 4.聚合函数 5.表生成函数 三.使用Hive函数完成WordCount 1.创建 ...

  9. python函数isdisjoint方法_Python学习之---Python中的内置函数(方法)(更新中。。。)...

    add(item)#将item添加到s中,如果item已经在s中,则无任何效果 break#退出循环,不会再运行循环中余下的代码 bool()#将参数转换为布尔型 bytes()#将值转成bytes类 ...

最新文章

  1. python-字符串数据类型内置方法
  2. 8亿参数,刷新ImageNet纪录:何恺明团队开源最强ResNeXt预训练模型
  3. django mysql connector_MySQL Connector / Python作为Django引擎?
  4. Java IO Serialization
  5. 为什么那么好的女孩子还单身?
  6. 前端学习(2339):React出现的历史背景
  7. 如何保证MongoDB的安全性? 1
  8. flask send_filesend_from_directory
  9. 在脚本中, 使用sqlite3检查android程序生成的数据库是否OK
  10. 2014-7 Andrew Ng 自动化所报告听后感
  11. win7设置固定IP重启后无法上网,ipconfig显示为自动配置IPV4 169.254的地址
  12. c语言做的计算器小程序,c语言实现计算器小程序
  13. Linux编译安装Apache
  14. 毕业找工作+实习分享
  15. 想通过手机刷视频赚钱?这篇文章你有必要了解一下
  16. pmon 源码分析之start.S
  17. urlrewrite 的使用方法
  18. vue 传base64到后台后台传到oss的java实现
  19. Metasploit -- 木马生成原理和方法
  20. android一键拨号 源代码,android 使用意图(Intent)实现一键拨号实例

热门文章

  1. 数字图像处理基本概念
  2. C/Cpp / const 用法
  3. 为什么连续申请的两个 int 型变量的地址差值为 12 而不是 4 ?
  4. Arduino--AS608指纹传感器
  5. oracle 10g rac 修改sga_target不生效,关于请教rac的sga 设置及修改问题
  6. 消息队列 策略_消息模型:主题和队列有什么区别?
  7. flutter 导航页面转换动画效果
  8. Tomcat下使用war包发布项目
  9. logback的使用和logback.xml详解[转]
  10. DOM操作中,遍历动态集合的注意事项。ex: elem.children