函数的相关思考

 为什么需要函数:

  1、避免重复性操作

  2、有利于程序的模块化

什么是函数:

  逻辑上:能够完成特点功能的代码块

  物理上:能够接收数据【也可以不接收数据】

      能够对接收的数据进行处理

      能够将数据处理的结果返回【也可以不返回任何值】

总结:

  函数是个工具,他是为了解决大量类似问题而设计的,相当于一个黑匣子

如何定义一个函数:

  函数返回值类型     函数名(形式参数)

  {

     函数执行体

  }

  1、函数定义的本质是详细描述函数之所以能够实现某个特定功能的具体方法

  2、return 表达式,  含义

  3、函数返回值得类型,也称函数的类型,因为如果return返回的值的类型和定义时的函数返回值的类型不一样,那么以定义时的为准。

时间: 2024-10-22 09:09:10

函数的相关思考的相关文章

一个截取字符串函数引发的思考

背景 前些天,遇到这样一个问题,问题的内容如下: 要求编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC", 4,截取后的效果应该为"我AB",输入"我ABC汉DEF", 6,应该输出为"我ABC",而不是"我ABC+汉的半个". 问题 刚看到这个问题的时候,以为还是很简单的,但写出来之后,发现并不是想要的效果.回想一下当时的思路,就发现刚开

钢条切割问题求解方法及相关思考

钢条切割问题求解方法及相关思考 题目来源于<算法导论>第15章第一节.问题如下: 给定一个长度为n英寸的钢条和一个价格表pi(i=1,2,3,...n),求能够使销售收益rn最大的切割方案. 问题1:一共有多少种切割方式? 思路一:对于一个长度为n英寸的钢条,其中一共有n-1个节点可供切割,在每一个节点处都可以选择切割或者不切割,将对一根钢条的切割过程视为从第一个节点直到第n-1个节点逐一选择切割或者不切割的一个过程,利用乘法原理,可以算出来总共有2n-1种切割方案.以四个节点的钢条为例: 思

《C++ Primer》学习 之 函数指针相关用法

/* 函数指针相关用法*/ 1 #define _CRT_SECURE_NO_WARNINGS 2 #define HOME 3 //#define NDEBUG 4 #include <iostream> 5 #include <stdexcept> 6 #include <cassert> 7 #include <ctype.h> 8 #include <locale> 9 #include <iterator> 10 #incl

js 时间函数 及相关运算大全

js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位,1970-????) myDate.getMonth();       //获取当前月份(0-11,0代表1月) myDate.getDate();        //获取当前日(1-31) myDate.getDay();         //获取当前星期X(0-

关于Linux系统basename函数缺陷的思考

某模块作为前台进程独立运行时,运行命令携带命令行参数:作为某平台下守护进程子进程运行时,需要将命令行参数固化在代码里.类似如下写法: char *argv[] = {"./DslDriver", "-t", "/bin/VdslModemSco.bin"}; int argc = sizeof(argv) / sizeof(argv[0]); 随后,调用basename函数(头文件为libgen.h)解析argv[0],即"./DslD

C++函数覆盖的思考

最近碰到一些问题,一开始很难调试和解决,最后发现原来是在基类函数的模板方法中对子类需要重写的函数没有使用virtual,如下 class Base { public: void say(){test();} void test(){} }; class Child : public Base { public: void test(){} }; 准备用Template Method的我很有自信的敲着自己的代码,期待在 Child a; a.say(); 的时候,a会去最终调用Child的test

函数式编程思想:以函数的方式思考,第3部分

过滤.单元测试和代码重用技术 译者:Elaine.Ye原文作者:Neal Ford 发布:2011-07-06 11:23:24挑错 | 查看译者版本 | 收藏本文 在函数式编程思想的第一部分和第二部分中, 我考察了一些函数式编程的主题,研究了这些主题如何与Java?及其相关语言产生关联.本篇文章继续这一探索过程,给出来自前面文章的数字分类器的一个 Scala版本,并会讨论一些颇具学术色彩的主题,比如说局部套用(currying).部分应用(partial application)和递归等. 用

一个自定义函数带来的思考

今天和战五渣老师讨论函数返回值和抛出异常时,我写了一个查找数组中是否具备某些键的函数.我总结的结果是在合适的场景使用抛出异常,通用函数依然是通过返回值来完成他的功能. 不过还有更多的关于编程方面的收获:关于同样一个问题,换一种思考的角度可以写出不同的代码. <?php //我需要定义一个函数,用来判断给定的数组中是否包含我所需要全部的键 //根据需求,普通的解决思路 function checkKey($array,$key) { if(!is_array($array)) { // not a

中国计算机考试区别及求职的相关思考

全国计算机技术与软件专业技术资格(水平)考试或称"软件考试",简称"软考". 全国计算机等级考试或称"等级考试",简称"等考". 经常听到有学生询问:软考难不难?等考好不好通过?合格率是多少等等之类的问题.还有的学生干脆在网上发帖子"我到底该不该考软考"?也有回帖的说:等考.软考都差不多,那些辅导教材告诉你哪里是重点,哪里要背,在工作中没多大用.这些都表现出考生对学业负担之外的学习任务的关注和困惑,还有误解