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

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

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

函数

要说各种编程里面最基本的概念,我觉得是函数(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. Bootstrap--模仿官网写一个页面

    本文参考Bootstrap官方文档写了简单页面来熟悉Bootstrap的栅格系统.常用CSS样.Javascript插件和部分组件. 以下html代码可以直接复制本地运行: BootstrapPage ...

  2. Selenium自动化测试值环境搭建

    Selenium自动化测试之环境搭建 一.背景介绍 自动化测试近几年在测试领域很火,出去面试要是说不会自动化测试薪资都不好意思往高了要!很多公司做敏捷测试用到自动化,其他一些公司也是跟风,即使用不上自 ...

  3. Angular动态表单生成(三)

    ng-dynamic-forms实践篇(上) 定个小目标 先来定个小目标吧,我们要实现的效果: 动态生成一个表单,里面的字段如下: 字段名称 字段类型 验证 备注 姓名 text 必填,长度小于15 ...

  4. UGA,PGA

    tom认为UGA不包含 sort工作区,所以下面的图都是错误的 The UGA is, in effect, your session’s state. It is memory that your ...

  5. JAVA 8 新特性 __ Optional 类

    Optional 类是一个可以作为null容器的对象,若值存在调用isPresent()就返回 true,调用get()会返回该对象. Optional是一个容器,可以保存类型T的值,或者仅仅保存nu ...

  6. ABAP术语-V1 Module

    V1 Module 原文;http://www.cnblogs.com/qiangsheng/archive/2008/03/21/1115707.html Function module creat ...

  7. jquery选择器基础

    简单选择器 类 id 元素/标签 * 复合(sel1,sel2)逗号隔开 层次选择器 s1 s2:后代选择器,空格隔开 p>c:子代选择器:不包括孙代及以下 p+next :相邻选择器 p~su ...

  8. 对类Vue的MVVM前端库的实现

    关于实现MVVM,网上实在是太多了,本文为个人总结,结合源码以及一些别人的实现 关于双向绑定 vue 数据劫持 + 订阅 - 发布 ng 脏值检查 backbone.js 订阅-发布(这个没有使用过, ...

  9. echarts 地图 免费离线js,json包分享

    最近,项目中需要用到地图,由于项目的特殊性,只能使用内网获取数据. 然而,echarts官网上的离线地图包(http://echarts.baidu.com/download-map.html)早在一 ...

  10. urllib库使用方法1 request

    urllib是可以模仿浏览器发送请求的库,Python自带 Python3中urllib分为:urllib.request和urllib.parse import urllib.request url ...