此贴并非教学,主要是自学笔记,所述内容只是些许个人学习心得的记录和备查积累,难以保证观点正确,也不一定能坚持完成。

如不幸到访,可能耽误您的时间,也难及时回复,贴主先此致歉。如偶有所得,相逢有缘,幸甚关照。

学习的内容资料,多数来自菜鸟教程等网上公开的资料,特此向原作者致谢。

函数

要说各种编程里面最基本的概念,我觉得是函数(function)。

区别:编程中的“函数”、数学中的“函数”、英文function、中文含义-——功能

“函数”和“功能”的英文(function)相同,实际上个人感觉编程中的“函数”意思与“功能”更接近,不知道哪位前辈翻译成“函数”了,可能觉得“功能”太直白了吧。

但是可能有人觉得叫函数不太贴切,于是又给函数起个外号叫“方法(method)”,这其实让我们更不知所云。

但是和数学中的“函数”虽有区别,却也有些相似处。

数学中的函数是一种用公式表达的变量,跟随自变量变化。

程序中的函数是一组可以执行特定功能的子程序,它可以传入参数,通过我们设计的程序流程(类似于数学公式),计算出结果。

这样来说结果好象是参数的数学函数。

它是分步运算的一小步,许多这样的子程序计算出多步结果,最终整合成我们计算的目标。

同时我们要给它起好名字,可以方便地重复调用,下次找它时叫名字就可以帮我们干同样的事了。

好了,少说闲话,我们要正式开始学习了:

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

return_type function_name( parameter list )
{
body of the function
}
这个需要我来翻译一下:
返回_类型 函数_名称( 参数列表)
{函数体}
返回_类型。。。在这里是说先要声明这个函数的计算结果是什么类型的数据,是整数啊、小数啊,还是字符啊。
C语言这类比较高级些的编程语言比较变态的一点就是:要先声明类型。
参数列表。。。叫参数却不是数,是一种变量;在这里要写的是一些名字,是你给要输入的参数起的名字。
参数在这里正式的名称叫形式参数,简称形参,它随函数在内存中产生,并随着函数执行完成销毁;
参数也可以没有名字,但如果你想定义一个无名参数,一定要写上它的类别,例如

int max(int, int);
参数可以有很多,用逗号","隔开(注意使用英文逗号,用中文逗号要出错哦),用圆括号括起来,也可以没有参数,用空的一对圆括号表示。
函数体。。。是顺序执行的一些语句,实现你在这个函数中想执行的功能。用大括号开始,用大括号结束。
下面举个栗子。。。这么轻的东西还要举吗?。。。你还不明白,要举的:

实例

以下是 max() 函数的源代码。

该函数有两个参数 num1 和 num2,会返回这两个数中较大的那个数:

// 函数返回两个数中较大的那个数
int max(int num1, int num2)
{
// 局部变量声明
  int result;
  if (num1 > num2)
  result = num1;
  else result = num2;
  return result;
}
我再来解释一下:
//双分数线表示后面是注释,与"/"单分数线相区别
整数 max(整数 num1, 整数 num2)
//max是函数名称,它的结果将是一个整数,它有两个参数:num1和num2,这两个都是整数
{

整数 result; //这里声明了一个局部变量result,又出现了“变量”,这次是局部变量,是指只参与函数内部计算的变量。

if (num1 > num2)

result = num1;

//如果num1 > num2,result 就等于 num1

else result = num2;

//其它情况 result 等于 num2,就是说num1小于等于num2的情况。

return result;

//返回 result的值,这也是这个函数的结果,可以供给其它函数使用。

}

这个函数输入两个整数,求出其中更大的那个值。

C++自学第一课:函数的更多相关文章

  1. MVC自学第一课

    了解传统的ASP.NET WebForm ASP.NET 在02年问世,给Web开发领域带来了巨大转变.下图描述了当时微软的技术堆栈. ASP.NET WebForm 技术堆栈 (注:此图的含义为,W ...

  2. 微信小程序自学第一课:工程目录结构与.json文件配置

    注册成为开发者 地址: https://mp.weixin.qq.com/cgi-bin/wx 开发者工具下载地址 https://mp.weixin.qq.com/debug/wxadoc/dev/ ...

  3. HTML5 —— 自学第一课

    1.心得 首先遇见问题要寻根源,而不是将问题抛出:其次要经常查看参考文档.参考示例:学会百度. 2.技能需求 HTML5.XHTML.CSS3.JavaScript.jQuery(jQuery-UI/ ...

  4. Laravel自学第一课:laravel下载与安装

    本地安装laravel,php环境要配置好,推荐xmapp一键搭建. 1.程序包直接从官方下载,官方开源地址:https://github.com/laravel/laravel(当然也可从此网站:h ...

  5. C++自学教程第一课——你好世界,我是柠檬鲸。

    C++系列教程现在在自己学校的一个博客平台发布,几个朋友一起搭建的 [C++基础教程系列](https://blog.ytmaxoj.org/cpp_basic_liuary-0/) 下面是原来的正文 ...

  6. 【C语言探索之旅】 开宗明义及第一课:什么是编程?

    内容简介 1.课程大纲 2.第一部分第一课:什么是编程? 3.第一部分第二课预告:工欲善其事,必先利其器 ​ 课程大纲 不知道为什么,一直对C语言有一种很深厚的“情怀”(类似老罗对锤子手机的那种),说 ...

  7. swift 第一课 基础知识-1

    1. 基本的打印: print("这是学习 swift 的第一课") var varA = print("a 的值是 \(varA)") //注:字符串打印参数 ...

  8. vue.js学习(第一课)

    学习资料 来自台湾小凡! vue.js是javascript的一个库,只专注于UI层面,核心价值永远是 API的简洁. 第一课: 不支持IE8. 1.声明式渲染: el元素的简称 element : ...

  9. 【第一课】神奇的Context

    初学Android的困惑 初学Android跳转页面的时候,往往教程里是这么写的: Intent intent = new Intent(); //MyActivity就是当前的Activity,It ...

随机推荐

  1. CentOS7图文安装教程

    CentOS 7下载: CentOS 7只提供64位版本,虽然有不少国内镜像节点,不过还是觉得通过BT下载是不错的选择.镜像大小6.7G,联通20M光纤下载,不到小时.以下是中国大陆的下载地址列表: ...

  2. linux内核中socket的创建过程源码分析(总结性质)

    在漫长地分析完socket的创建源码后,发现一片浆糊,所以特此总结,我的博客中同时有另外一篇详细的源码分析,内核版本为3.9,建议在阅读本文后若还有兴趣再去看另外一篇博文.绝对不要单独看另外一篇. 一 ...

  3. PAT——1024. 科学计数法

    科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位 ...

  4. mysql 5.7设置密码无效

    我现在MySQL的版本时8.0.12,以前一直没有给MySQL设置密码. 今天因为需要,给MySQL设置,密码,但是上网搜了好久.....命令都不对.最后搜到csdn的Bpazy大佬的博客.他使用5. ...

  5. Ansible常用功能

    Ansible 是近几年十分流行的DevOps工具架构什么的我就不在这里赘述了,网上一找一堆 这里写点我在ansible常用功能 1.命令串 #copy文件 #ansible host文件中的主机组 ...

  6. Fpm启动机制及流程分析———详细

    FPM(FastCGI Process Manager)是PHP FastCGI运行模式的一个进程管理器,从它的定义可以看出,FPM的核心功能是进程管理,那么它用来管理什么进程呢?这个问题就需要从Fa ...

  7. 韦东山linux学习之ubuntu 9.10 软件源 问题

    跟着开发板视频学习,安装了ubuntu9.10,然而由于现在官方已经不再提供软件更新的服务,软件我一直安装不上,搞了两天终于解决了. 一.安装VMware,配置等等就不详细说了,安装好系统后,网能连上 ...

  8. 使用Selenium时,如何选择ChromeDriver驱动版本对应Chrome浏览器版本

      ChromeDriver版本 支持的Chrome版本 v2.46 v72-74 v2.45 v71-73 v2.44 v70-72 v2.43 v69-71 v2.42 v68-70 v2.41 ...

  9. Debian Linux 下安装pip3

    由于Debian自带了python3,于是只需要安装pip 1.首先安装setuptools 下载wget --no-check-certificate https://pypi.python.org ...

  10. Makefile: (实验) 目标命令的结束标志

    实验表示测试出来的结论,没有代码理论依据 Makefile中,目标对应的命令结束标记是什么呢?换句话说,Make中怎么判断目标的最后一条命令? 例如常见的目标编写如下: test1: echo &qu ...