从零开始 学习C/C++的第九天 函数调用

 11.9

 系统函数

    是操作系统以函数的形式提供的一些功能,系统函数不能算是真正的函数,这些功能包括:

        内存管理,文件IO,信号处理,文件管理,进程管理,进程通信,线程管理,线程同步,网络通信

第三方库函数

    一些开源或者收费的大三方代码

        glog    日志记录

        MD5     验证

自定义函数

    为了更方便地管理代码,减少代码沉余,把代码封装成函数的形式使用

    函数声明:

        函数声明的目的是为了告诉其他代码该函数的调用格式,返回值类型 函数名(参数类型 参数名1,参数类型 参数名2,...);

        1.C语言中,函数名一般全部小写,用下划线分隔

        2.如果该函数不需要参数,建议参数写void,不要空着 (int func(void))

        3.如果函数定义时,不写return语句也会有返回值,但是返回值是一个垃圾值

        4.如果函数不需要返回值,返回值类型也要写void,否则什么都不写,会默认为int类型

    隐式声明:

        再调用函数之前,该函数既没有声明也没有定义,那么编译器会对该函数进行隐式声明,会猜测函数的格式,如果猜测的结果跟后面的函数定义格式一致,也可以调用成功

        参数会根据实参猜测,返回值会猜测为int类型

    函数定义:  (函数真正的实现代码)

    返回值类型 函数名(参数类型 参数名1,参数类型 参数名2,...)

    {

        函数体;

        return val;

    }

    注意,函数声明,定义中,参数列表中的变量叫做形参变量

    注意:如果函数定义在函数调用之前,那么函数声明可以省略

    注意:建议一个函数最多不要超过50行

    函数调用:

        函数名(实参);

        注意:调用函数后,需要立即接受或者显示返回值,否则后此次调用的结果在后面就没了

    函数传参:

        1.函数的形参只属于所在的函数,出了该函数就不能再使用了

        2.实参与形参之间式以赋值的形式进行数据传递的(单向值传递)

        3.return 其实是把返回值放到一个调用者和函数之间公共的区域内,如果不写return语句,该区域就是一个垃圾数据,一样可以被调用者读取到

        4.当数组作为函数参数时,长度会丢失,因此需要额外传递一个长度参数

        5.数组的传递是“址传递”,此时函数与调用者可以共享数组

    练习1:

        实现一个函数,找出数组的最大值  

   

    练习2:

        实现一个函数,给数组排序

    练习3

        实现一个函数,查找数组中是否存在某个值,返回该数据在数组中的小标

    设计函数的标准:

        1.一个函数最好只解决一个问题,这样可以降低出错率,提高可读性

        2.最好尽量不依赖其他自定义函数(耦合度)

        3.函数的数据由调用者提供,结果返回给调用者(通用性,不要把函数写死)

        4.对函数调用者提供的非法参数进行考虑处理,可以通过返回值告诉调用者,以及在注释中说明可能出现的非法参数情况(健壮性)

    作业1:实现一个函数,判断整数是否是素数,调用它显示出100~10000之间的所有素数

    作业2;输入两个日期,计算出两个日期之间间隔了多少天

    作业3:实现一个函数,判断整数是否是回文数,调用它显示1亿-10亿之间的所有回文数

    作业4:计算出100的阶乘

    作业5:输入一个整数,显示出它的补码

    作业6:计算出100的阶乘结果末尾开始连续有多少个0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值